Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Helicopters, stage 1 #111

Closed
10 tasks done
ozkriff opened this issue Sep 29, 2015 · 21 comments
Closed
10 tasks done

Helicopters, stage 1 #111

ozkriff opened this issue Sep 29, 2015 · 21 comments

Comments

@ozkriff
Copy link
Owner

ozkriff commented Sep 29, 2015

Every wargame needs air units. Planes are too fast and need thair own set of rules, but helicopters can be controlled almost as simple ground units (like in Wargame: AB).


Какой варгейм может обходиться без летающих боевых машин?! Самолеты они быстрые, скорее всего ими нельзя будет управлять как обычными отрядами, а можно будет только вызывать на следующий ход, выбирая примерную траекторию полета (как в Wargame: AB). А вот вертолеты - этими вполне можно и нужно командовать как обычными отрядами.

План:

  • lives in its own slot (SlotId::Air) in a tile
  • flies above anything without slowdown
  • препятствия на карте не создают за собой зрительной "тени", т.е. он видит все в своем радиусе обзора (хотя пехота все равно может прятаться в лесу или еще какой клетке-укрытии)
  • most weapons can't shoot it
  • draw reachable tiles on the ground (as for other units)
  • is not loosing move points when attacked (as it can't "duck")
  • can't capture sectors
  • special model
  • has no "hunt" command
  • bobbing animation

<остальные подпункты вынесены во второй этап>

@ozkriff
Copy link
Owner Author

ozkriff commented Jun 12, 2016

Надо нарисовать модельку в макете / Need to draw a separate model in mockup

@ozkriff
Copy link
Owner Author

ozkriff commented Aug 22, 2016

Нарисовал уже давно, можно потихоньку попробовать в игру протянуть


Model has been drawn a log time ago. I must try to import it t the game.

@ozkriff ozkriff added the p-high label Aug 24, 2016
@ozkriff
Copy link
Owner Author

ozkriff commented Aug 24, 2016

взято на "спринт"

@ozkriff ozkriff changed the title Add flying units Helicopters Aug 28, 2016
@ozkriff
Copy link
Owner Author

ozkriff commented Aug 29, 2016

Working in the branch: https://github.com/ozkriff/zoc/tree/WIP_111_helicopter

@ozkriff
Copy link
Owner Author

ozkriff commented Aug 31, 2016

Добавил новый тип отрядов - "вертолет". Пока еще не добавил в ресурсы модель вертолета, так что он использует модель джипа. Летающий джип, да.


Added new unit type - "Helicopter". It uses jeep's model for now.

@ozkriff
Copy link
Owner Author

ozkriff commented Aug 31, 2016

Добавил новый тип слотов - SlotId::Air. Научил модуль геометрии что "мировая" позиция этого слота идет с большим вертикальным сдвигом.


Implemented SlotId::Air and corresponding math in src/geom.rs

@ozkriff
Copy link
Owner Author

ozkriff commented Aug 31, 2016

Добавил в UnitType поле is_air: bool (да-да, помню, потом надо будет перейти на ECS и распилить все это на отдельные компоненты) и научил путенаходитель что такой отряд двигается по всем клеткам с фиксированной ценой, без учета объектов и ландшафта.

@ozkriff
Copy link
Owner Author

ozkriff commented Aug 31, 2016

Вот он, красавец Джиполет / Using jeep model for now:

Почти Делореан, блин / Almost Delorean, hah

image

@ozkriff
Copy link
Owner Author

ozkriff commented Aug 31, 2016

Добавил в WeaponType поле max_air_distance: Option<i32> и поставил его в None почти всему оружию. Оставил только две клетки винтовкам-пулеметам и одну автоматам.

А то без этого костыля всякие самоходки могли сбивать вертолет с максимальной дистанции - не порядок.

@ozkriff
Copy link
Owner Author

ozkriff commented Aug 31, 2016

_Примечание_: может не в рамках этой задачи, но надо бы не забыть завести транспортные вертолеты.

@ozkriff
Copy link
Owner Author

ozkriff commented Aug 31, 2016

Теперь перехожу к добавлению специального режима видимости для вертолета, что бы объекты не создавали за собой "зрительной тени" и вертолет видел все клетки в радиусе своей видимости.

@ozkriff
Copy link
Owner Author

ozkriff commented Aug 31, 2016

Сделал специальный режим видимости для вертолета. Теперь он видит почти всю тестовую карту, но пехота по прежнему может легко от него спрятаться в лесу или городе. Отлично.


Теперь надо сделать так, что бы и сам вертолет для врагов был виден даже в клетке с туманом войны, если им хватает максимального радиуса видимости. Вертолет же высоко, раз он всех видит сверху, то и его отовсюду видно. И что бы оба могли друг в друга стрелять игнорируя наземные объекты-препятствия.

@ozkriff
Copy link
Owner Author

ozkriff commented Sep 1, 2016

. . .
1: 2 <= 8 ("helicopter")
1: 3 <= 6 ("soldier")
1: 3 <= 6 ("soldier")
1: 3 <= 6 ("soldier")
is_los_ok: false
is_los_ok: true
is_los_ok: true
1: 3 <= 6 ("soldier")
is_los_ok: true
is_los_ok: true
is_los_ok: false
is_los_ok: true
1: 2 <= 6 ("soldier")
is_los_ok: false
is_los_ok: true
is_los_ok: false
is_los_ok: true
1: 2 <= 6 ("soldier")
1: 2 <= 6 ("soldier")
. . .

Логи, ох чертовы отладочные логи. Больше println богу println!

@ozkriff
Copy link
Owner Author

ozkriff commented Sep 1, 2016

Научил юниты видеть вертолеты даже в тумане войны + игнорировать препятствия при стрельбе.

@ozkriff ozkriff mentioned this issue Sep 2, 2016
3 tasks
ozkriff added a commit to ozkriff/zoc_assets that referenced this issue Sep 3, 2016
@ozkriff
Copy link
Owner Author

ozkriff commented Sep 3, 2016

Влепил базовую модель вертолета.

Пока без вращающегося винта, потому что я не придумал как мне найти в графе сцены узел такого винта. Так что оно с символическим ободком пока просто.

@ozkriff
Copy link
Owner Author

ozkriff commented Sep 3, 2016

Научил вертолеты облетать друг друга.

@ozkriff
Copy link
Owner Author

ozkriff commented Sep 4, 2016

Починил ИИ наземных врагов - теперь ИИ учитывает другую дистанцию стрельбы по воздушным юнитам.

@ozkriff
Copy link
Owner Author

ozkriff commented Sep 4, 2016

отучил вертолеты захватывать сектора

ozkriff added a commit that referenced this issue Sep 4, 2016
@ozkriff
Copy link
Owner Author

ozkriff commented Sep 4, 2016

Я устал и зафигачил что есть в мастер. Для остальных пунктов, наверное, стоит завести отдельную задачу "Вертолеты, часть 2".

@ozkriff
Copy link
Owner Author

ozkriff commented Sep 4, 2016

Запилил вертикальное покачивание вертолетам

https://youtu.be/wj8ldf7sBRc

@ozkriff ozkriff changed the title Helicopters Helicopters, stage 1 Sep 5, 2016
@ozkriff ozkriff closed this as completed Sep 5, 2016
@ozkriff
Copy link
Owner Author

ozkriff commented Sep 5, 2016

Считаю первый этап закрытым, оставшиеся задачи переношу на второй этап.

@ozkriff ozkriff mentioned this issue Sep 5, 2016
8 tasks
@ozkriff ozkriff removed the s-active label Sep 5, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant