Detech 2,181 23.06.2011, 09:53:50 Поделиться #1 23.06.2011, 09:53:50 Собстно в силу того что коддинг основной части игры не выдает никакого результата, кроме кучи листов кода и меняющихся циферок, а показать что работа худо-бедно идет хочется - решил в свободное от кодинга время заняться боевым модулем. В данной теме буду потихоньку выкладывать прототипы. Это первый. Выглядит схематично, да и собстно никакого управления там еще не наблюдается. Но кое какие алгоритмы уже работают, собстно прототип на текущий момент как раз и существует для отработки алгоритма боевки. Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. Пояснение что собстно вы видите при запуске: Имеется подразделение солдат (красного цвета), каждый из солдат имеет собственный АИ и может вполне свободно передвигаться в пределах карты. В текущий момент прототипа - солдатам отдан приказ "Сохранять строй", и с самого начала прототипа солдаты сразу стремятся на свои позиции в строю. При этом командир строя - это солдат номер 1 - потихоньку идет вверх по карте. Соотвественно остальные солдаты - не просто встают на свое место - но и стремятся сохранить свою позицию относительно командира. Собстно в прототипе непосредственно движение получает только командир, остальные полностью управляются АИ. Солдаты обладают вполне естественным параметрами, такими как направление (для того чтобы пойти в другую сторону - им надо повернуться), скорость (солдат не может мгновенно начать двигаться или остановиться. Солдат который хочет пойти назад - должен либо остановиться и развернуться, или бежать по дуге). Системы коллизии пока нет - но будет в ближайшее время. В файлах прототипа лежит текстовый файл с описанием построения, его можно редактировать. Количество позиций в построении в прототипе ограничено 10-ю. з.ы. Синие солдаты не обрабатываются АИ. Изменено 23.06.2011, 09:57:11 пользователем Detech Ссылка на комментарий
Толстый 4,303 23.06.2011, 10:10:56 Поделиться #2 23.06.2011, 10:10:56 Солдаты друг через друга перетекают Ссылка на комментарий
Detech 2,181 23.06.2011, 10:13:55 Автор Поделиться #3 23.06.2011, 10:13:55 Ага, битва слизняков сейчас как раз работаю над системой коллизии Ссылка на комментарий
Fortop 1,151 23.06.2011, 10:52:17 Поделиться #4 23.06.2011, 10:52:17 Что-то строй крайне плохо держат. В теории надо бы регулировать скорость юнитов относительно общего вектора движения. Т.е. те кто ближе всего к нему имеют наименшую скорость, те кто дальше наибольшую. Ссылка на комментарий
Detech 2,181 23.06.2011, 11:21:44 Автор Поделиться #5 23.06.2011, 11:21:44 В теории надо бы регулировать скорость юнитов относительно общего вектора движения.Т.е. те кто ближе всего к нему имеют наименшую скорость, те кто дальше наибольшую. Это противоречит концепции. Каждый солдат независим, имеет собственный мозг и его хар-ки не должны зависеть от его положения в строю или каких то других глобальных параметров. Вообще как бы целью не является сделать так чтобы они подобно имперским солдатам шагали идеальными квадратами, в процессе маневра строй будет ломаться и отдельные солдаты выпадать. К тому же разница в хар-ках солдат будет приводить к разнобою. Но над АИ буду конечно еще работать. Изменено 23.06.2011, 11:27:17 пользователем Detech Ссылка на комментарий
Fortop 1,151 23.06.2011, 12:42:38 Поделиться #6 23.06.2011, 12:42:38 Это противоречит концепции. Каждый солдат независим, имеет собственный мозг и его хар-ки не должны зависеть от его положения в строю или каких то других глобальных параметров.Вообще как бы целью не является сделать так чтобы они подобно имперским солдатам шагали идеальными квадратами, в процессе маневра строй будет ломаться и отдельные солдаты выпадать. К тому же разница в хар-ках солдат будет приводить к разнобою. Да ради бога. Но для этого интеллект солдату в теории и нужен Чтобы не вырываться одиночкой из строя. Т.е. если видишь, что за тобой не успевают, стоит притормозить В противном случае непонятна логика наличия приказа "держать строй", если его всеравно никто не держит. Ну а для "ломки" строя при маневрах, предусмотреть некую дельту (для расстояния от общего вектора движения) в пределах которой изменение скорости с некоторым шансом не будет происходить. Должно выглядеть достаточно реалистично. Более того, если наличие "строя" как-то влияет на боевые характеристик подразделения, то можно сделать эту дельту зависимой, например, от опыта. Тогда более опытные будут держать строй, а зеленые новобранцы неизбежно смешаются и будут двигаться гурьбой - так как это происходит сейчас. Ссылка на комментарий
Detech 2,181 23.06.2011, 12:49:08 Автор Поделиться #7 23.06.2011, 12:49:08 Хм... а можно скрин как они у тебя двигаются гурьбой? а то после твоего описания возникло ощущение что картина на твоем и моем компе разная. И кажется даже есть подозрение почему... К примеру у меня при подсовывании второго файла формации все это выглядит как: КартинкоНажмите здесь! [Cкрыть] Изменено 23.06.2011, 12:56:47 пользователем Detech Ссылка на комментарий
Fortop 1,151 23.06.2011, 12:58:38 Поделиться #8 23.06.2011, 12:58:38 ВотНажмите здесь! [Cкрыть] Первое время строй еще как-то виден, а потом крайний правый ряд начинает забегать вперед и налево и т.д. Ссылка на комментарий
Fortop 1,151 23.06.2011, 13:00:45 Поделиться #9 23.06.2011, 13:00:45 К примеру у меня при подсовывании второго файла формации все это выглядит как: Формации я не менял. В конечном итоге оно стремится к какой-то звездочке. Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. Это, то о чем я подумал? Оно уже настолько созрело? Изменено 23.06.2011, 13:05:44 пользователем Fortop Ссылка на комментарий
dlc 2,874 23.06.2011, 13:08:27 Поделиться #10 23.06.2011, 13:08:27 Забавно, у меня они буквой W выстроились. Ссылка на комментарий
Detech 2,181 23.06.2011, 13:26:15 Автор Поделиться #11 23.06.2011, 13:26:15 Первое время строй еще как-то виден, а потом крайний правый ряд начинает забегать вперед и налево и т.д. Понятно надо было их фалангой строить чтобы строй был виден У тебя на обоих скринах переходные варианты. То есть изначально они выстроены просто в линию, строй в конце же выглядит как у меня на скрине ниже. Соотвественно в промежутке они перестраиваются. Мне казалось что после того как фигура стабилизируется - станет понятно что это строй следующий строй сделаю фалангу) Оконечный вариантНажмите здесь! [Cкрыть] На этой картинке кстати виден единичный дефект, почему то один из солдат каждый раз становится чуть левее своей позиции. Это наблюдается во всех вариантах. Лень ща копать код - завтрема с утреца найду почему) Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. Это, то о чем я подумал? Оно уже настолько созрело? Откуда я могу знать о чем вы подумали?) Забавно, у меня они буквой W выстроились. Ну типа так и должно быть ща немного масштаб подкручу, увеличу до 100тни солдат и нарисую файлик с прямоугольной фалангой Изменено 23.06.2011, 13:27:28 пользователем Detech Ссылка на комментарий
Fortop 1,151 23.06.2011, 13:31:02 Поделиться #12 23.06.2011, 13:31:02 Откуда я могу знать о чем вы подумали?) Ну лет пять назад от Моно плевались почти все и линуксоиды и C#ники. Ссылка на комментарий
Detech 2,181 23.06.2011, 14:01:17 Автор Поделиться #13 23.06.2011, 14:01:17 В общем, сторыльный вариант с фалангой 20*5, как и обещал. Войдите или зарегистрируйтесь, чтобы увидеть скрытое содержимое. Картинка конечно не блеск, без механизма коллизий и алгоритма обхода препятствий выглядит не очень. Немного пояснения почему образуются дефекты в построении - дело в том что в отличие от того же TW - у меня каждый солдат - это инерционный обьект, которому для перемещения куда то нужно развернуться, ускориться, замедлиться и опять развернуться. А так как вероятность что по такой сложной траектрии не используя диф. уравнения траектории солдат попадет вплоть до миллиметра в точку - почти нулевая. Принципиально я доводить солдата до нужной точки в обход общего механизма не хочу. Поэтому с целью экономии производительности - при определенном приближении к своей позиции(но не идеальном совпадении с ней) - солдат считает что достигнутой позиции достаточно и начинает окончание движения. Поэтому и наблюдаются некоторые случайные смещения отдельный солдат относительно строя. В целом я этот механизм пока не буду трогать, пока не выяснится общая картина по производительности. Если будет запас - я повышу точность позиционирования. Ну лет пять назад от Моно плевались почти все и линуксоиды и C#ники. С линухом совместимости нет, но вроде как есть совместимость с Маком. Под рукой нет Мака чтобы проверить насколько Моно стало адекватным там, но лично меня на шарпе не напрягает. Изменено 23.06.2011, 14:04:25 пользователем Detech Ссылка на комментарий
Detech 2,181 23.06.2011, 14:11:30 Автор Поделиться #14 23.06.2011, 14:11:30 Походу некоторые выпадают из обоймы... видимо в алгоритме есть мертвые зоны. Собстно его вся равно при добавлении механизма обхода препятствий переписывать - завтрема и займусь. Ссылка на комментарий
Рекомендованные сообщения