«Ветеранская усталость» в UFO: Enemy Unknown: игровая механика, появившаяся из-за бага?

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Рассуждения | Компьютерные и мобильные игры

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

Одна из таких необычных механик, о которой я хочу рассказать сегодня, появилась в культовой стратегии UFO: Enemy Unknown (она же X-COM: UFO Defence) из-за банального бага, но впоследствии стала одной из самых запоминающихся и обсуждаемых особенностей игры. Речь идёт о так называемой «ветеранской усталости» — как минимум, так её назвали в гайде по игре с «триадовского» диска.

Автор: Кот Веселый

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

Как это было

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

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

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

Почему так получалось: всё же баг?

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

  • Во-первых, в изначальной (не «доработанной» издателем после релиза) версии UFO: Enemy Unknown характеристики оперативников де-факто не имели лимита на рост. Это означало, что ваши бойцы могли развиваться практически бесконечно, становясь настоящими супер-солдатами. Достаточно лишь «прорвать порог» определенной характеристики, на котором на время застывало развитие.
  • Во-вторых, игра использовала однобайтовые переменные для хранения характеристик персонажей. Как известно, максимальное значение однобайтовой переменной — 255. И вот, когда очередное повышение характеристики приводило к переходу через этот порог, по несчастливому стечению обстоятельств, не срабатывала резервная проверка «на переполнение переменной» — примерно в одном случае из десяти, когда вы приблизились к «опасному порогу». В результате, характеристика оперативника обнулялась.

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

Автор: Mythos Games Источник: habr.com

Объединив эти два фактора, мы и получаем причину «ветеранской усталости»: доведя характеристику солдата до числа, равного или почти равного 255, и попытавшись повысить ее ещё раз, игра в некоторых случаях сбрасывала значение обратно к нулю. По сути, это был баг, но баг, спровоцированный необычными игровыми условиями.

Железобетонное основание: всё же механика?

Если отбросить технические детали и взглянуть на ситуацию с точки зрения игрового мира и самих оперативников X-COM, то «ветеранская усталость» начинает выглядеть как вполне оправданная и логичная механика.

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

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

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

Конвергенция геймдизайна девяностых

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

Подобная размытость границ привела к появлению множества необычных игровых механик, которые позже стали неотъемлемой частью геймдизайна некоторых игр. Взять, к примеру, знаменитую распрыжку в Quake, бег по диагонали в DooM (1993), возможность бить по своим в моде DotA или комбо в файтингах — все эти механики изначально были непреднамеренными, но позже стали нормальными — или вообще неотъемлимыми.

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

Заключение: И мы играли…

Ностальгия — удивительная вещь. Она может заставить нас с теплотой вспоминать даже самые несовершенные и сырые игры прошлого… И X-COM: UFO Defence, она же UFO: Enemy Unknown, она же «та игра про пришельцев», безусловно, относится к числу культовых хитов, которые формировали целые поколения геймеров.

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

Да. Прошлое не вернуть, но его можно вспомнить — и понять, что работало на /ту самую/ атмосферу. Воссоздано нейросетью по памяти — с почти идеальной точностью
Автор: Mythos Games, Кот Веселый

Представьте, как это было: отважный отряд солдат в очередной раз возвращается с победой. Вы с гордостью смотрите на ряды бывалых бойцов, закаленных в десятках жарких схваток с пришельцами. И вдруг, на следующий день, один из них, прошедший с вами огонь и воду, оказывается не в силах даже встать с постели. Удар по самолюбию? Безусловно. Но в то же время это добавляло игре столько драматизма и реалистичности!

Ведь война — это не только подвиги и слава. Это еще и потери, травмы, сломленные судьбы. И пусть причиной «ветеранской усталости» был простой баг, он придавал игре ту самую изюминку, которая, среди прочих, выделяла её из множества других стратегий того времени. Делала людей — людьми, а не просто «юнитами»

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

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

F если вам интересно прочитать, чем эта игра была столь значима для индустрии, лично меня и к чему привело её появление — вместо послесловия я категорически советую прочитать прошлую статью, комментарии под которой и сподвигли меня на написание этой, более «узкой»:

30 лет игре X-COM: UFO Defence (UFO: Enemy Unknown): Как это было тогда, и стоит ли играть сейчас?

Спасибо дочитавшим.

Изображение в превью:
Автор: Mythos Games
Источник: UFO: Enemy Unknown
Пошаговая стратегияТактикаPC
Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Играю в игры, читаю о них — а теперь и пишу, чтобы разбавить жизнь копирайтера для китайских (ой, простите, *тюменских*) товаров. Несколько лет проработал компьютерным мастером, так что, порой, и о «железе» могу написать, если вдруг что в руки попадёт. Всегда мечтал быть игровым журналистом — и, как знать, может быть однажды эта мечта сбудется?

10 комментариев

V
«Первая особенность — отсутствие лимита на рост характеристик с «порогом прорыва» — скорее, была задуманной игровой механикой»
Да нет же. Не было это ни задуманной игровой механикой, ни даже отсутствием лимита. Значения больше 80 просто вылазят за пределы экрана и забаговывают визуал. Какая же эта механика продуманная, алё? Лимит в 80 был реализован криво, не через <= а через ==. Точнее криво в контексте того, что характеристики могут расти более чем на 1.
Но для истории когда рост ограничен 1, багов не было бы. Потому, возможно изначально в пререлизной версии рост ограничивался единичными значениями, потому такой способ ограничения работал, но потом в ходе разработки Голлопов попросили увеличить скорость прогресса характеристик (мол, сильно слабо растут), и они расширили формулы, которые стали давать значения и более 1, но if лимитирующий исправили только спустя месяц после релиза, с первым патчем (в котором исправили и крэш во время анимации превращения в криссалида).
И никто в мире этой «ветеранской усталости» не ведал, потому что сразу обновили версию на не багованную. А ваш «добрый дядя-русификатор» подкинул свинью, выбрав для перевода багованную версию. Благодарите его, а не разработчиков.
Лично я русификации не признавал (особенно такие пафосные как эта Уфо), и о такой креативной интерпретации бага как «ветеранской усталости» впервые здесь узнал. Вот уж выдумщики, спасибо.
Veselyi_kot
Позвольте не согласиться. В таком виде проект был отдан издателям, а дальше игру правила уже команда поддержки — самого Голлопа почти сразу бросили на сиквел, так что стоит ли здесь его авторское видение или мнение издателя о балансе — вопрос открытый. А про то, что грань между багом и фичей в играх девяностых де-фато отсутствовала, я уже писал в самой статье: те же комбо в файтингах появились из-за того, что в одном из них определенная последовательность удров скипала анимацию.
Так что благодарить тут можно, в общем-то, всех. И я, собственно, благодарен, поскольку без этого опыт игры был бы для меня /другим/.
V
Удивляет ваше упорство называть откровенный баг «механикой». Можете сами спросить Джулиана, была ли вообще такая задумка о сбросе статов в 0 — он вполне активен в соцсетях.
То что вы называете механикой — ни одного признака оной не содержит. Рафинированный баг со всеми признаками бага. И сиквел (tftd) Голлопы не делали — они продали (лицензировали) движок, и патчи эти были авторскими (в рамках допиливания).
Была как я понимаю задумка чтобы солдаты увольнялись из-за количества фатальных ранений в миссии (есть строка текстовая на это намекающая «REIRED THROUGH INJURY»), но это вообще никакого отношения к сбросу статсов из-за недосмотра в коде — не имеет, это в экране результатов миссии.
На основании чего такое утверждение что НЕ БЫЛО ГРАНИ между БАГОМ и ФИЧЕЙ? Заявление очень громкое и требует существенных доказательств. Баги есть баги, вне зависимости от того насколько они fatal (разрушают возможность пройти).
Veselyi_kot
1) Задумки о *сбросе* не было, это, как раз, стопроцентно «багованная» часть. Вопрос «было ли так задумано изначально», скорее, именно к тому, что в первых версиях вместо лимита был «порог», который можно перейти и качаться дальше.
2) Как я уже писал, в реалиях игр девяностых баг — то, что делает игру хуже, механика — то, что делает её лучше. Не более и не менее. Та же распрыжка в наследных Quake движках есть до сих пор, что характерно, в той или иной форме — вплоть до последнего билда Source 2, хотя это вот прямо чистейший баг.
3) Под сиквелом я подразумеваю Apocalypse, над которым начали работать практически сразу, сдав кодовую базу оригинала издателю для поддержки патчами и разработки автономного аддона.
V
1. Вы к программированию какое-то отношение имеете, понимаете как и почему случаются баги, как проходит разработка?
Не в «первых версиях» он (этот баг) был, а в единственной первой версии, которая из-за бага с криссалидом, и кривыми ассетами базы пришельцев была фактически непроходима. И само собой баги эти правил Джулиан, потому что tftd еще даже не начался, исходники движка не передавали, и никто кроме него не мог это сделать в сжатые сроки.
2. Нет. Баг — это баг. К механикам этот баг с 80никакого отношения не имеет. Баги в механиках, которые визуально никак не отражаются (не выглядят как баг) _могут_ в перспективе стать какой-то разновидностью механики. Но это другое, это просто undocumented behavior. А недостаточно грамотная проверка на превышение 80, приводящая к перерисовкам на экране сверх положенного, и wrap-over через 0 — это чистейший баг.
3. Апокалипс делать их никто не «бросал», была придумана куча плохо связанных идей и концепций, которые неохотно превращались во что-то жизнеспособное. Такой лютой спешки как вы себе представляете там не было. Был скорее хаос.
Вот просто безотносительно 1-3, зачем «задумывать» какой-то «порог», который довольно часто (случайно) преодолевается? И когда преодолевается — на экране информации о солдатах все шкалы ломают весь визуал… залезают на другие строки слева… кто в здравом уме будет задумывать такую корявость? Вот безотносительно сброса в 0. Могли сделать ограничение в 200 ведь. Ну и что что все криво выглядит, правда ведь?.. 160-то вообще прекрасно влезало, но порог почему-то не на 160 даже.
В предыдущей игре (laser squad), из которой ufo в общем-то и вырос (задумываясь как laser squad 2), были максимальные характеристики солдат в 66. Но там они жестко прибиты к миссиям (среди врагов одной из них, кстати, есть сектоиды). Рост не предусматривался. И тем более огромные значения. Они весь баланс ломают. «Ветераны» с Time Units в 220 (как в вашей русской версии бывало) — нарушают весь баланс. Их не должно было быть.
B
Уважаемый автор, а в «Мир кораблей» Вы играете?
Veselyi_kot
Чисто случайно, играю. А что?
B
Да просто как-то в бою на топовых уровнях встретил игрока с таким ником на латинице :)
Вот и решил узнать, насколько тесен игровой мир…
Veselyi_kot
Если [MIND2], то чисто случайно я. Возможно, что и тесен.
R
Спасибо за статью. Времена когда мне было около 13 лет. Играли вместе с другом на его невероятно дорогом ноутбуке Fujitsu с цветным жк экраном оставляющим мощнейшие шлейфы картинки и курсора при движении и почти нулевыми углами обзора. Но это всё казалось нормой. Тогда он стоил порядка $4000, при средней месячной зарплате по стране $50. Его отец был при деньгах, и купив себе эту игрушку очень быстро отдал её сыну. Из характеристик помню что это был какой-то 486й, без звуковой карты, а только pc speaker, поэтому мы никогда не слышали музыки и звуков ни в одной из UFO. Вместо этого атмосферу создавали потрескивание HDD и малошумный кулер. Уже гораздо позже я услышал midi музыку этих игр и она воспринималась как что-то чужеродное, будто совсем не подходя к серии UFO. С описанным багом мы не сталкивались.

Добавить комментарий

Сейчас на главной

Новости

Публикации

Обзор новинки, планшет Teclast T50HD: бюджетный, производительный, стильный

Предлагаю подробно рассмотреть новинку на рынке планшетов, а именно — модель Teclast T50HD, которая имеет вполне неплохие заявленные характеристики и продается по адекватной стоимости....

Format выпустил первый в мире велосипед гревел-кантри?

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

Телефон против фотоаппарата: гонка длиной в 25 лет

Ровно 25 лет назад, в мае 1999 года, был представлен первый телефон со встроенной камерой. Им стал «японец» Kyocera VP210, правда, камера у него располагалась спереди и предназначалась в первую...

Обзор Vancer Groove & Thrash: топовые игровые мыши с 8К донглом в комплекте

Недавно малоизвестная компания Vancer, специализирующаяся на игровых мышках, представила 2 интересные новинки — Groove и Thrash. Знаю, о чем вы подумали, название второй модели не самое...

Охота на призраков: как ученые выслеживают темную материю

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

Обзор MoonDrop Para: открытые планарные наушники на 100 мм драйвере

В компании MoonDrop, похоже, решили положить конец дилемме относительно размера планарного излучателя. Да, в относительно новых Para установлен не 50 и даже 60 мм драйвер, а, так сказать, полная...