LINUX.ORG.RU
ФорумTalks

По какой формуле считать скорость колёсной, гусеничной и шагающей техники на различных поверхностях?

 , , , ,


1

2

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

1) Есть шасси, заданное конструктором количество гусеничных и колёсных движителей.

2) Сами движители работают от силовой установки. Это может быть как топливный двигатель берущий топливо из баков, так и электрический двигатель берущий энергию от реактора или аккумулятора.

3) В зависимости от комплектации корпуса и присоединённых к нему модулей масса корпуса может быть самой разной.

Как я понял надо рассчитать давление на грунт взяв площадь контакта движителей с поверхностью. А вот что делать дальше не совсем понятно. Как правильно указывать саму проходимость поверхности, в виде каких то числовых значений или как тип поверхности являющийся уникальным модификатором? Так же не совсем понятно что делать в случае если привод электрический, а реакторы или аккумуляторы не выдают полную мощность по причине частичного или полного выхода из строя. Просто считать меньшую мощность или делать какие то другие модификаторы?

Пишу движок для стратегии реального времени (RTS) если что.

запили туда лазерный измеритель скорости

Alyssa ()

Реалистичность в играх не нужна.

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

crowbar ()

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

four_str_sam ()
Ответ на: комментарий от four_str_sam

Ты же все-равно не сможешь расчитать всю физику

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

crowbar ()
Ответ на: комментарий от crowbar

а для баланса нужно

отлично проработанная модель игровой механики, профессиональными геймдизайнерами шарящими в соответствующих разделах математики и игростроения :)

stevejobs ★★★★☆ ()
Ответ на: комментарий от crowbar

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

Или пусть эти коэффициенты медленно плывут сами в сторону лучшего баланса на серверах игры по методу того же градиентного спуска :) Только это не надо афишировать и это должно происходить достаточно медленно, чтобы старые игроки не заметили подвоха. И, естественно, нужно ограничивать подгонку параметров минимальным и максимальным значениями.

Sadler ★★★ ()
Последнее исправление: Sadler (всего исправлений: 2)
Ответ на: комментарий от stevejobs

дай доступ к гиту проекта, лоровцам так будет проще помогать, наверное

Я вернулся к продолжению разработки после долгого перерыва. Там пока мало чего есть. https://github.com/killofwin/star-e блог проекта http://star-engineers.blogspot.ru/

rezedent12 ☆☆☆ ()
Ответ на: комментарий от crowbar

stevejobs Sadler Баланс основанный на характеристиках пушек и брони я делать не буду. Это тупиковая ветвь из за которой оружие постепенно приходит к характеристикам «макарыча-присосыча».

Как я вижу основные конкурентные моменты в игре:

Например, для захвата ключевых объектов на некоторой планете нужно несколько механизированных групп в которые войдут 50000 танков. Соответственно перед командующим встают несколько альтернатив. А именно выбор силовой и энергетической установки для танков. Ставить на каждый танк по ядерному реактору обеспечивающему максимальную автономность и мобильность дорого. Хотя это позволит использовать больше стратегических манёвров и разгрузит службы логистики. Поставить на танки двигатели внутреннего сгорания довольно дёшево, но подразумевает необходимость быстрого захвата ресурсов и промышленных объектов, или же десантирования на планету нескольких дорогих реакторов синтеза топлива. Но тогда что уж мелочиться и почему бы не поставить водородные силовые установки, благо выделение водорода из воды более простой процесс чем синтез углеводородов или метанола.

Так же важным будет выбор между энергетическим и кинетическим оружием. Для оружия расходующего боеприпасы будет необходимо их регулярное пополнение при помощи грузовых вертолётов, но при растягивании коммуникаций это будет приводить к рискам потери снабжения из за диверсий противника. Однако энергетическое оружия будет требовать хорошей энергетической установки, так же размещения в ущерб другим модулям конденсаторов позволяющих выдать в мгновение достаточный импульс. Так же лучевое оружие можно будет блокировать завесой, а плазменное магнитными щитами.

Одним из самых важных будет фактор разведки. И при наличии актуальной информации о дырах в сенсорной сети, небольшая группа сможет проникнуть в расположение противника и нанести огромный ущерб уничтожив промышленные или складские объекты.

Так же самым важным ресурсом будет планетарное население создающее огромное ВВП и при должной лояльности поставляющее дешёвых наёмников. А минеральные ресурсы можно будет в избытке добывать в астероидных поясах. Что сделает довольно недальновидным и неразумным применение оружия массового поражения и уничтожение гражданских объектов.

rezedent12 ☆☆☆ ()
Ответ на: комментарий от mandala

Это только для дошкольников работает. Или на доли процента.

И так на доли процента в краткосрочном периоде. Баланс должен устаканиваться минимум год, иначе это плаванье параметров будет дико раздражать. Например, если атрейдесы давят харконненов в 60% случаев, это явный дисбаланс и надо потихоньку портить юниты атрейдесов, повышать их стоимость, снижать урон и т.п. Медленно, но неотвратимо. Причём, с учётом используемых юнитов.

Sadler ★★★ ()
Последнее исправление: Sadler (всего исправлений: 2)

По какой формуле

dS/dt

Deleted ()
Ответ на: комментарий от rezedent12

из моего скромного опыта, игрушке хорошо состоять из нескольких частей: вот из этих фич, которые ты рассказываешь (тактика), и из стратегии (вот такая комбинация фич делает игру интересной, а такая - неинтересной). В игре должно быть что-то, во что люди будут постоянно играть, некий источник ре-играбельности. Иначе будет хороший симулятор, но не будет игры. Нет игры - люди запускают игрушку 1 раз, пользуются всеми фичами 1 раз, и больше не открывают. Все эти требования во многом взаимо-исключающие и требуют взгляда на одни и те же вещи под разными углами, решения конфликта интересов. Поэтому в команде бывают несколько разных гейм-дизайнеров с разными специализациями: экономист считает глобальную мировую экономику и эволюцию «характеристик» (если они есть) во времени жизни игры, игротехник делает игровые схемы, итп. И все они срутся, да.

т.е. вот ты говоришь «но при растягивании коммуникаций это будет приводить к рискам потери снабжения из за диверсий противника», а я сразу уже считаю этот «риск» неким парамтром в глобальном балансе, и им надо как-то управлять, а уж какая реализация этого («риска» и «управления риском») будет в игротехнических схемах - отдельный вопрос.

Т.е. вот ты сделал возможность для игрока, «ты можешь устроить врагу такой риск», а почему он им будет пользоваться? Почему будет пользоваться именно им раз за разом? Почему его противник будет покупаться на него раз за разом?

stevejobs ★★★★☆ ()
Последнее исправление: stevejobs (всего исправлений: 2)
Ответ на: комментарий от stevejobs

т.е. вот ты говоришь «но при растягивании коммуникаций это будет приводить к рискам потери снабжения из за диверсий противника», а я сразу уже считаю этот «риск» неким парамтром в глобальном балансе, и им надо как-то управлять, а уж какая реализация этого («риска» и «управления риском») будет в игротехнических схемах - отдельный вопрос.

Это именно риск. Заключающийся в том что противнику предоставляется возможность который он сможет воспользоваться. Игра то сетевая будет.

rezedent12 ☆☆☆ ()
Ответ на: комментарий от rezedent12

я хз. одно время пытался делать mmorpg, потом поработал в конторе над созданием mmorpg танками, понял что даже командой из 6 человек (программист, программист-инфраструтурщик (я), ui/веб-дизайнер, экономист, тех-геймдизайнер, гуманитарий-геймдизайнер), мы не вывозим чтобы за четыре месяца выпустить ну хоть сколько-нибудь рабочий продукт. Сейчас в тот продукт играют человек 300, но в общем он уныл чуть менее чем полностью. Поэтому уверенность в собственных силах, что я что-то могу сделать вообще сам, совсем на дне :( И времени мало. Вот сейчас разберусь с говноделами, и может быть тебе напишу..

stevejobs ★★★★☆ ()
Ответ на: комментарий от stevejobs

Поэтому уверенность в собственных силах, что я что-то могу сделать вообще сам, совсем на дне :(

Лучше под Unity3d кодить на C#, выходит как минимум сильно быстрее. MMORPG вряд ли получится (сеть придётся кодить руками в виде плагина, штатные средства отстойные), но какой-нибудь платформер или стратежку вполне можно осилить.

Sadler ★★★ ()
Последнее исправление: Sadler (всего исправлений: 1)

Делай так, как посчитаешь нужным.

Далеко не все зависит от давления и площади. Есть еще вертикальный шаг катка у гусеничной техники, материалы и рельеф гусениц и шин, зазоры между мостом и поверхностью, раскачивающие вибрации, тип и передаточные числа коробки передач, отсечка чтобы не допустить перегрев двигателя и т.д.

Реалистично ты все равно не сделаешь, можешь даже не пытаться. В качестве вводных можно принять, что колесная техника ездит очень медленно по полю и очень быстро по дороге; гусеничная ездит по полю быстрее, чем колесная (но не так быстро как колесная по дороге) и медленнее чем колесная по шоссе; шагающая одинаково медленная п всем типам грунтов. А дальше уже баланси как хочешь.

shimshimshim ()
Ответ на: комментарий от rezedent12

для примера, Warhammer 40k Soulstorm. Две разных расы начинают с разных концов игровой карты. Например, Tau и Necrons. У них разные совершенно юниты, по-разному действуют, бессмысленно сравнивать напрямую. Казалось бы всё в порядке.

Но вот сценарий: Тау сразу после старта, в первую же секунду, строят пачку дешевых Vespid'ов (летающая разведка, доступна сразу же) и отправляют на базу противника. Васпы кроме того имеют на себе оружие, хорошо ломающее постройки. Тем самым создается риск, что оставленные без внимания противника васпы могут ему что-нибудь поломать важное. Вполне себе контролируемый риск. Противник о нем знает (если не знает - хана сразу), и успевает его отбить. Но на отбивание тратит слишком много просто своего внимания и ресурсов. В это время Тау успевают развиться чуть-чуть сильнее. И это по факту приводит к тому, что почти все бои против Тау, вооруженных этой тактикой, приводят к поражению, за любую расу.

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

stevejobs ★★★★☆ ()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от rezedent12

ты сам то разбираешься в этой простыне? Скольким задротам будет интересно ковыряться в этой санта-барбаре и кто будет тем вторым, кто поймет фишку игры, дающую 2% преимущества, когда луна в весах?

der_looser ★★ ()
Ответ на: комментарий от stevejobs

или на тестировании генетическими ботами

Это действительно работает? Интересно было бы поработать над структурой такого бота для стратегии. Он же по сути в идеале должен просчитывать будущее на некоторое время вперёд и пробовать различные варианты улучшить своё положение. Можно, конечно, тупо загружать игру и пробовать следующий вариант, да, но там же два бота, они оба должны искать наилучшую стратегию, либо один бот должен пытаться просчитывать ещё и ходы противника... В общем, брр...

Sadler ★★★ ()
Последнее исправление: Sadler (всего исправлений: 2)
Ответ на: комментарий от Sadler

Это действительно работает?

на Хабре недавно была статья, как чувак смоделировал Старкрафт и генетическими алгоритмами выработал принципиально новую имба-стратегию. Щаз в гугле быстро не нагуглил, если гугл-фу высокое попробуй

в гугле ищется вот это, но оно на инглише http://lbrandy.com/blog/2010/11/using-genetic-algorithms-to-find-starcraft-2-...

либо один бот должен пытаться просчитывать ещё и ходы противника

да не, просто играет миллиард ботов и пробуют все возможные варианты. Кто выиграл - тот выжил, остальных под нож. Эволюция.

самостоятельно закладывать эвристику опасно, т.к. «правильная» стратегия может быть совсем контр-интуитивной

stevejobs ★★★★☆ ()
Ответ на: комментарий от stevejobs

да не, просто играет миллиард ботов и пробуют все возможные варианты.

Ну они же базу и юнитов не по-порядку или по времени с начала игры создают? У них на вход какие-то параметры должны же подаваться, по которым бот будет подстраиваться к ситуации. Иначе это нифига не оптимальная стратегия.

Просмотрел быстренько статью, у него там заточка под zerg rush. В таком случае да, можно банально по-порядку задать сценарий для строительства и не ждать ответных атак. Я думал, там полноценный бот для любых ситуаций :) Я копаю больше в сторону универсальных ботов, способных адекватно реагировать на действия игроков, а это уже так просто не получается без адекватного прогнозирования будущего.

Sadler ★★★ ()
Последнее исправление: Sadler (всего исправлений: 2)
Ответ на: комментарий от Sadler

Это совсем AI нужен. Сколько я живых, применимых в быту AI до сих пор видел - все они всё-таки работают методом перебора.

Xellos ★★★★★ ()
Ответ на: комментарий от Xellos

Перебор перебору рознь. Все генетические алгоритмы — суть перебор, просто несколько более логичный, не рассматривающий заведомо маловероятные сценарии. Но да, схема работы может быть очень сложной при условии, что нет под рукой движка для быстрой симуляции возможных исходов при различных действиях.

Sadler ★★★ ()

Про караваны не забудь. А то игра не взлетит.

yaroslav ()

присоединённых к нему модулей

антигравы считаются за движетели или за модули-модификаторы веса?
а воздушная подушка с турбонаддувом?

BarCat ()
Ответ на: комментарий от BarCat

антигравы считаются за движетели или за модули-модификаторы веса?
а воздушная подушка с турбонаддувом?

Они не взаимодействуют с поверхностью. С ними надо считать массу, тягу и воздушное сопротивление корпуса, гораздо проще.

rezedent12 ☆☆☆ ()

В Steam есть бесплатная игра Gear Up. Её движок Traktor Engine намекает на то что автор занет русский или белорусский. Там есть разные машинки. Спроси у него :-)

ZenitharChampion ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.