View Single Post
Old 07-27-2005, 07:00 PM   #81
Fox
Командир эскадрильиИмператор Черно-Бурых Лис
 
Fox's Avatar
 
Join Date: Jul 2005
Location: У компа!
Posts: 438
Ляпы в Homeworld2

Ладно, пишу (ибо желание есть)

Лирическое вступление

Почему-то в компьютерных играх дилетанство разработчиков не осуждается. Людям, пишущим тематические игры, обычно наплевать на тему игры. Это неуважение к игрокам. Представьте, что историческо - документальный фильм стали бы снимать люди, не знающие истории и не пригласили консультантов - историков. Можно ли назвать их порядочными людьми, а фильм хорошим? Я понимаю, что игры фантастические, но все же... я, например, имел удовольствие в довольно реалистичные и в то же время фантастические игры. Почему-то в каких-нибудь 3D шутерах реализм прорабатывают до мелочей, а все создатели игр "про космос" считают, что "бой космолетов -то же, что бой самолетов, только в космосе" и забывают, что в космосе действуют другие законы.

Ладно, поехали. Буду понемногу писать, а после каждого упомянутого ляпа приводить "отмазку" (возможное его объяснение).

Физическая реальность

Первое вопиющее нарушение законов физики в Homeworld - это скорости кораблей. Для физиков понятие "скорость" важно, но понятие "ускорение" на порядок важнее. В то же время простой человек считает ускорение "мудреной" величиной. Ему гораздо привычнее скорость. И он сует ее куда ни попадя.

Стоит поянить, что такое ускорение (да простит мне физика вольные формулировки ее великих законов). Ускорение есть изменение скорости за определенный промежуток времени. Ускорение узмеряется в метрах в секунду за секунду. Например, выражение "тело движется с ускорением 0.5 м/с^2" значит, что каждую секунду скорость тела увеличивается на 0.5 м/с. Скорость есть путь, деленный на время. Как видим, скорость вычисляется "по факту", то есть уже после прохождения пути. А для ускорения есть формула "F=m*a", то есть "сила, приложенная к телу, есть его масса, умноженная на его ускорение". Также известно, что если на тело не действуют никакие силы, то оно движется с постоянной скоростью (ускорение равно нулю).

А теперь рассмотрим процесс разгона. Пусть у нас есть двигатель, дающий определенную тягу - допустим, 1000 H. И есть драндулет массой 1 тонна. И вот мы поехали. Получается, что при максимальной мощности двигателя ускорение должно быть равно 1 м/с^2, а наша скорость - увеличиваться на 1 м/с каждую секунду. Но тут надо вспомнить, что F - это не сила тяги, это сумма всех сил, действующих на тело. И постепенно на драндулет начинают действовать сила сопротивления воздуха, сила трения и сила тяжести (которая действует и на неподвижное тело). В конце концов все эти "вредные" силы уравновешивают силу тяги, общая сила (следовательно, и ускорение) становятся равными нулю, драндулет двигается с постоянной скоростью. Это и есть его максимальная скорость.

Но вот мы в космосе, причем на огромном расстоянии от ближайшей звезды или планеты. У нас есть космический корабль. Мы начинаем его разгонять. Пусть наш корабль весит 10000 кг, а тяга двигателя 1000000 Н. Мы приобретаем ускорение 100 м/с^2. Скорость растет. Мы уже несемся с огромной скоростью, а ускорение все не падает, только растет! Дело в том, что в космосе не действуют "вредные" силы. Сила тяжести пренебрежимо мала (ближайшее небесное тело слишком далеко). Трения нет (тереться не обо что), сопротивления воздуха тоже нет. Если мы выключим двигатели, то будем лететь с приобретенной скоростью неопределенное время. Если же двигатели постоянно включены, то мы будем разгоняться, пока не достигнем скорости света, у нас не кончится топливо или не развалится корабль. Кроме того, ускорение увеличивается из-за уменьшения массы корабля (топливо сгорает).

А теперь применим все это к Homeworld. И увидим, что ограничивать скорость кораблей некорректно. Но это не значит, что все корабли одинаково маневренны - у тяжелых кораблей будет меньше возможное ускорение. Ведь именно высокое ускорение, а вовсе не скорость дает преимущество в бою. Просто нужно указывать не максимальную скорость корабля, а его максимальное ускорение по каждой из трех осей, причем для обоих направлений. Само собой, тактика боя в таких реальных условиях будет в корне отличаться от предложенной нам в Homeworld. Например, легкие бомбардировщики будут разгоняться до бешеной скорости перед бомбежкой, затем после сброса бомб включать боковые движки и спокойно уноситься. Да и таран станет очень важным тактическим приемом. Вам может показаться, что такой бой будет слишком хаотичным. Но позвольте напомнить, что в симуляторе Homeplanet этот физический аспект неплохо проработан, но при этом бой вполне логичен и интересен.

Все вышесказанное относится и к снарядам (хоть ракетам, хоть ионным лучам). В Homeworld дальность стрельбы кораблей ограничена, в реале этого не было бы. Ракета будет лететь сколь угодно далеко (пока не сгорит). У ионников боевая эффективность вообще ограничена только точностью. В реале из ионных пушек вообще можно было бы стрелять в любую точку - главное, чтобы ее "видели" сенсоры.

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

Хоме поставлен диагноз "нереалистичность". И уже назначены лечебные процедуры:
1. Максимальные скорости заменить на максимальные ускорения
2. Установить на корабли датчик нагрева корпуса. Корпус будет нагреваться пропорционально скорости. Слишком большой нагрев должен вести к разрушению. Можно также ввести в игру температурные щиты, и в список исследований добавить продвинутые системы охлаждения.
3. Ограничить запас топлива (как в первом Homeworld для истребителей и корветов), но откорректировать процесс его расхода.
4. Убрать ограничения дальности стрельбы, поправить динамические характеристики ракет. Взамен ограничить точность стрельбы и дать кораблям эффективные средства защиты от оружия (если даже сейчас самолеты защищают себя от ракет, то почему бы не делать это их старшим братьям - космическим кораблям? На самом деле я еще напишу про защиту подробнее).

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

Ну вот и все. Я рассмотрел только один ляп. Но пока хватит. Жду ваших ответов и критики. Только просьба не засорять топик банальными фразами типа "круто (отстойно) написано!", а давть аргументированные мнения по этому вопросу. Мне будет интересно прочитать любые отзывы, содержащие смысл, но больше всего меня интересует мнение физиков и людей, знающих тонкости физики в Homeworld.

To be continied...

Last edited by Fox : 07-27-2005 at 07:12 PM.
Fox is offline   Reply With Quote