PDA

View Full Version : FLASH HomeWorld - каким сделать движение кораблей?


DRAGON
06-21-2008, 11:22 AM
Здравствуйте ещё раз. У меня вопрос, покуда я снова решил затронуть запылившуюся тему.

Как мне лучше сделать движение объектов в космосе:

- линейная - самый тупой способ во многих игр, нет ускорения и торможения - скорости у всех зависят от введённого числа. типа 2-3-10
- линейная с ускорением - типа можно ввести какой нить коэффициент который бы ускорял или замедлял но максимальная скорость опять же будет зависеть от введённого числа
- физическое движение тела в жидкости - это, конечно, больше катит на какую-нить подводную лодку, однако физика движения зависит от массы, КПД двигателя и проницаемости среды... выглядит всё натурально, но трудноуправляемо.
- вакуум - типа опять же скорость зависит от массы и КПД двигателя но ускорение идёт до бесконечности... Потестили ваще ппц не управляемо...

Или может посоветуете что-то своё?

Blazard
06-21-2008, 06:04 PM
Тут все как всегда упирается в соотношение между "реализмомЪ" и "балансомЪ". С одной стороны, смотреть как истребители заходящие в атаку, с маниакальной решимостью бьются в борт крейсера (или врезаются в друг-друга) обидно. Но весело :) С другой стороны, можно сделать комбинированную физику: для мелких кораблей стандартную (первый вариант, и объяснить это тем что на истребах стоят "синхрогаммахренотроны" какие-нибудь, которые генерируют антигравитацию), а для больших - реалистичную (чтоб не вздыхали по поводу убитого на корню "реализму"). Но тогда надо делать систему маневровых движков как в Нексусе - Инцидент на Юпитере. Что тоже непросто.

Насчет остальных, статично-ненужных объектов: лучше конечно реалистичную.

Alan_Light
11-09-2008, 01:12 AM
Я как человек имевший к космосу довольно близкое образование и работу, всеми руками, ногами за Реализм. Но это безумно сложно и не только с точки зрения реализации, но и играбельности...

:!: То, что сейчас реализовано - бред полнейший... :!:

Возьмём, например, малый корабль. Его пилотирует живое существо с хрупким телом, соответственно ни о каких разворотах на 180 градусов при скорости больше 400км/ч быть не может, а если учесть что в космосе 400км/ч это всё равно, что на месте стоять... ну и т.д. и т.п. На эту тему учебников написано не мало и вопрос этот ОЧЕНЬ серьезный. :hw:

DRAGON
11-10-2008, 03:31 PM
Реализм точно отпадает потому что играть не реально - всё-таки это игра, а не симулятор реала.

Что касается движения в средах, то и тут тоже под вопросом... всё-таки простое движение с небольшим ускорением лучше ещё тем, что можно писать автопилот и управлять проще и задавать параметры скорости.

Prisoner
11-10-2008, 04:19 PM
Полнейшее соответствие реальности, и наличие проблем с движением как в реальной жизни, может сильно затруднить получение удовольствие от игры. Потому реализм обычно приносят в жертву - но ради чего, ради общего эффекта. Если это позволит развлечению - игре - доставлять больше удовольствия, и производить лучшее впечатление, то оно того стоит.

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

Это про реализм.

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

Добавлено через 7 минут
- физическое движение тела в жидкости - это, конечно, больше катит на какую-нить подводную лодку, однако физика движения зависит от массы, КПД двигателя и проницаемости среды... выглядит всё натурально, но трудноуправляемо.
Немного не понял. Если "среда" - это космос, то он одинаков для всех кораблей. Можно не учитывать. А КПД двигателя это тоже некорректно имхо, может просто мощность.

А можно сделать и так - максимальная скорость достаточно большая, но ускорение нелинейно, например:

ускорение - 10 - 10 - 10 - 10 - 4 - 4 - 4 - 4 - 4
скорость - 10 - 20 - 30 - 40 - 44 - 48 - 52 - 56 - 60

Alan_Light
11-10-2008, 10:30 PM
Согласен, что "тру"-реализм для игры не особо катит, но и скатываться к 100% "играбельности" тоже не стоит... Неплохо было бы, если б корабль двигался по схеме: ускорение(30%)-инерция(45%)-торможение(25%), где в % указан путь.

DRAGON
11-15-2008, 06:16 PM
Что то последнее не понял совсем.
Лучше в формулах напиши типа:
x = x + x*0,45 или что то в этом духе

Prisoner
11-15-2008, 08:05 PM
Он писал, что корабль треть пути тратит на разгон, тормозит меньше.

ИМХО реально, но неиграбельно, что для игры не лучший выход.

Alan_Light
11-16-2008, 02:54 PM
Почти так. А точнее, чуть больше четверти пути корабль разгоняется, потом большую часть пути движется по инерции заданной при разгоне и оставшуюся четверть пути тратит на торможение, это схема прямолинейного движения из точки А, в точку Б, но никто не запрещает на любом этапе пути кораблю маневрировать, разница будет только в эффективности маневрирования, а еще точнее в энего/временных затратах на придание кораблю нового вектора движения. Предлагаю данную схему использовать для всех "тяжелых" кораблей.

Prisoner
11-16-2008, 04:22 PM
разница будет только в эффективности маневрирования, а еще точнее в энего/временных затратах на придание кораблю нового вектора движения

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

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

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

Ну совсем имхо, но это ближе больше к тактике, чем стратегии. Также это может тянуть за собой потребность в полном ребалансе игры.

Alan_Light
11-17-2008, 02:49 AM
крейсером, который промахнулся мимо своей позиции
Такого не будет или не должно быть, по той простой причине, что весь путь корабля рассчитан, т.е. намеченную цель он точно не пропустит. Другой вопрос, если цель неожиданно появилась, тут стоит оговорится, что должно быть 2 вида движения "Обычное" (большая скорость, меньшая маневренность) и "Боевое" (меньшая скорость, большая маневренность), соответственно, при обычном движении корабль пролетит дальше и через некоторое время вернется чтоб сразиться, если еще будет с кем :) В случае боевого движения корабль будет маневрировать достаточно быстро, чтоб сразу принять бой.

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

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

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

Prisoner
11-17-2008, 04:00 PM
надо искать оптимальные варианты максимального и минимального времени выхода на боевую дистанцию в различных случаях, вот именно в этом моменте и придется вытягивать играбельность в ущерб реализму.
:) Ну так я ж о чем, что в конце концов игра может вернемся к тому с чего начинали, или конечный вариант может оказаться не таким сильноотличающимся. Но может и нет - пробовать надо.

Просто за всего лишь изменением характера движения может последовать изменение всей игры, это уж кому как нравится.

Alan_Light
11-17-2008, 07:35 PM
Есть вероятность, что будет изобретен такой же велосипед, но если не пробовоть, то как же узнать???

Prisoner
11-17-2008, 09:04 PM
Интересно то, что вопрос с ускорением может перейти в немного другую сторону - о том, как должен поворачиваться тот или иной корабль.

Меня один раз очень удивило, что дестроер оказавшись под вражеским носителем, накренился на правый бок градусов на 60. И продолжал вести огонь всеми пушками.

Думаю, что лучше уделить внимание именно маневрам, а не физическим параметрам кораблей, ну по крайней, мере нелишним будет.

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

Alan_Light
11-18-2008, 12:41 AM
Не надо путать мух с котлетами, хоть одно с другим и связанно. Необходимо сначала разобраться с одной проблемой, а потом уже переходить к следующей. Так что движение отдельно, маневрирование отдельно.

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

Примерно так это будет выглядеть в утрированном виде.

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

Prisoner
11-18-2008, 02:50 PM
во-во, как раз вспоминая мои уже старые слова в другой теме. Но с другой стороны маневренность их была очень плохая. был один корабль, не помню как назывался, но на нем была одна рройная мощная турель, и для нее специально находился механический калькулятор на корабле. Он позволял рассчитывать нужную траекторию, потому что максимальное время полета снарядов главного калибра составляло что-то около 55 секунд.

Получается что корабли-цели должны быть слонопотамскими, чтоб орудие было эффективным.

Alan_Light
11-19-2008, 12:08 AM
Prisoner, ты удивишься, но сейчас все корабли флота такие - с "калькулятором" в каждом стволе. Снаряды уже летают минутами, и это неуправляемые снаряды, а не ракеты какие-нибудь, и при этом умудряются попадать в цель. В реальности боевые действия в космосе будут проходить на огромнейших расстояниях, т.к. победителем будет тот, кто первым попал. Другими словами, раньше обнаружил, раньше выстрелил, раньше начал совершать маневр и т.д., а стрелять будут на десятки тысяч километров. Это реальность.

А речь здесь толкуют, о том как гармонично соединить в игре реальность (реальные физические законы) и играбельность (аркадность).