Учу ботов: теперь — летать :)
Пока не идеально, но уже кое-как пашет)
Всем привет! У меня новый горизонт - новый концепт!
Опять стратегия с возможностью контролировать одного юнита от третьего лица. Но на этот раз я решил сосредоточить своё внимание на user-friendly интерфейсе управления. Классическое выделение рамочкой уже сделал ;)
Но задача осложняется тем, что теперь все боевые единицы - физические, а также делятся на два типа: наземные и воздушные. Пост про наземные делать я не стал, там всё на порядок проще. А вот про воздушные - захотелось написать)
Вертолётики симулируют физическое поведение и получают урон от столкновений. Чтобы добраться в пункт назначения, они используют специальную навигационную систему и те же элементы управления, которые предоставлены игроку в режиме от третьего лица.
Дефолтный навигационный меш задействован в поиске пути для наземных юнитов. А вертолёты, в свою очередь, должны уметь преодолевать небольшие горы и овраги, но, в то же время, для них существуют и непреодолимые препятствия.
Поскольку я слишком ленив, чтобы искать "правильное" решение, я быстро накидал свои блупринты, которые реализуют небольшой граф для поиска кратчайшего пути. Выглядит он примерно так, как на картинке ниже :)
Дальше мне пришлось повозиться со школьной геометрией, чтобы научить вертолётик двигаться к точке, до которой можно долететь по прямой. В итоге, бот контролирует повороты, наклоны, газ и тормоз и, пользуясь всей этой системой, может долететь до любой точки на карте и даже не разбиться по пути :D
(Знали бы вы, сколько юнитов было уничтожено во время бесчисленных испытаний!)
Но, правда, в текущей версии вертолёты не видят друг друга (вернее, они видят только тех, кто находится ровно под ними), поэтому получаются весёлые столкновения :)
Может быть так и оставлю, посмотрим (исправить это - два клика - вертолёты уже умеют уклоняться от лэндскейпа и построек).
А в будущем они будут летать быстрее, чем на видео. Мне, в общем-то, осталось только подкрутить некоторые параметры. Дальше буду учить их сражаться!
Большое спасибо за внимание! А я пополз дальше в свой бункер, из которого уже месяц не вылажу и всё программирую-программирую-программирую :D
[Наконец-то я почувствовал что-то схожее с тем, что ощущал во время разработки Форматы. А это ведь уже четвертый начатый, но не законченный проект после неё!]
@Nezon, превет, меня завут андрей мине 12 лет. давай делать игру! Шучу.
Гх кхм.. Коротко и по делу - https://youtu.be/7qEGJlBLJSg по этой ссылке идёт хороший туториал по управлению юнитами в rts zero-k. Не буду вдаваться в перечисление плюсов этой игры, иначе это надолго.
Что я бы хотел предложить: Посмотри пару минут этого видео, обрати внимание на то как игрок отдаёт приказы юнитам и как они их выполняют. Уверен с английским у тебя всё в порядке, внимательно слушай комментарии. Эта стистема управления юнитами даёт просто запредельный контроль над полем боя, очень бы хотелось бы увидеть подобную механику в большем числе rts игр.
Подобное управление позволяет делать всё что вздумается с отрядами, отдельными юнитами, со строем из разного рода юнитов итд. Хоть черепахой по животному, хоть по военному.
Zero-k бесплатна, с открытым кодом, любой может принять участие в разработке. В дискорде игры есть разделы для модинга и помощи, комьюнити помогает всегда и всё время идут обсуждения технических проблем и идей. Думаю, если обратится туда - там объяснят и помогут разобраться как это сделано.
Удачи и терпения!
Не знаю как, но я сразу догадался, что ты разраб форматы. То ли стиль текста такой, то ли графика. Выглядит интересно, ждём постов.