В конце 90х годов ушедшего XX века, когда у меня ещё был Pentium первого поколения, а последними хитами жанра оставались такие игры, как Duke Nukem 3D, Quake II, Hexen II, я глубоко задумался о судьбе развития жанра 3D Action. К сожалению налицо было наращивание графики при зачаточном состоянии интерфейса игрового мира. Впрочем всё так и осталось до сегодняшнего дня за небольшим исключением. Все, или почти все исключения были мною предсказаны ещё в те годы, и тогда же большую их часть можно было реализовать на железе того времени. Почему я это знал, а весь мир потребителей и производителей отказывался это замечать - остаётся загадкой и характерным показателем основной массы человеческой породы. Как памятник медлительности прогресса, привожу две свои статьи, написанные в те годы. В своё время все они подверглись жесточайшей критике игровой общественности, что, однако, спустя годы не помешало критиковавшим воспринять как должное исключения, которые разработчики игр всё-таки удосужились внести в свои творения.
***
Статья Первая. 12 апреля 1998 года.
3D action как он есть. Размышления, советы, критика.
Содержание:
1. Предисловие 2. Врождённые пороки 3. Графика 4. Главный герой 5. Управление 6. Оружие 7. Вещи 8. Люди и монстры 9. Общение 10. Искусственный интеллект (AI) 11. Пространство 12. Транспорт 13. Послесловие
1. Предисловие
Приветствую тебя, о достопочтенный поклонник жанра 3D action! Я рад что, ты читаешь эти строки. Здесь ты найдёшь много интересных идей и философских размышлений, о которых я хочу тебе рассказать. По моему скромному мнению Engine сегодняшних игр недалеко ушёл со времён Doom'а и ему подобных (Никоим образом не хочу обидеть поклонников этой игры). У него наблюдается целый ряд врождённых пороков, для излечения которых не требуется иметь Pentium Pro и 3dfx. Эта проблема будет основой для нашей беседы. Уверен, что статья будет интересна широкому кругу читателей, как игрокам, так и программистам.
2. Врождённые пороки
В большинстве 3D action просматривается ряд неприятных особенностей, которые по моему передаются по наследству. Как правило они являются следствием несовершенства engine. Люди искушённые скажут: "- Помилуйте, сударь, возможности компьютера не безграничны" Но чаще всего причина кроется в серьёзности подхода к разрабатываемой игре, а не только в возможностях компьютера. Конечно легче взять готовый engine чем сделать свой. Следствие того - клоны однотипных игр, основное отличие которых лишь в лабиринтах да в монстрах. Всё это очень похоже на списывание контрольной работы у соседа. Различие лишь в почерке, а ошибки те же. Я не обвиняю фирм- разработчиков в плагиате, я только хочу заметить, что нельзя стоять на месте, надо совершенствоваться. И игры совершенствуются. Одним из главных шагов в эпоху расцвета Doom- подобных игр было расширение степеней свободы: возможность прыгать и приседать, смотреть вверх и вниз. А также переход в полноценный 3D, ибо ни Doom, ни Wolfenstein, ни им подобные не являются полными 3D играми. Пол и потолок в них - это обычные плоскости. Следующим шагом был отказ от спрайтовых технологий - Quake 1/2, Hexen 2 и т.д. То - есть предметы, оружие, враги, которые раньше были плоскими картинками теперь стали трёхмерными объектами. Но многое ещё осталось сделать. В погоне за совершенством разработчики, как это не парадоксально, забывают о простых, но важных вещах. О них я и поведу дальше речь, так что вздохните свободно, теперь перед вами не скучный лектор, а изобретатель, коротко и ясно рассказывающий о своих идеях.
3. Графика
Врождённым пороком графики было, есть и боюсь, что будет масштабирование. Во что бы вы ни играли, будь то Doom или Quake 2, оно преследует вас по пятам. Стоит приблизиться к какому либо объекту, и вашему взору предстаёт ужасающая мешанина из пикселей. Неужели это непреодолимое препятствие для PC? Давайте рассуждать логически. "Мешанина из пикселей" - это текстура, плоский спрайт, которым заливают трёхмерные объекты, например стены, для придания им структуры. Это очень похоже на наклейку обоев на гладкую стену. Но всё дело в том, что текстуры используются слишком малого, из соображений экономии, размера. Поэтому их так немилосердно масштабируют. Нужно добиться хоть какого прогресса в этой области. Один элемент текстуры не должен превышать размеры пикселя в текущем разрешении, независимо от того, стоите ли вы вплотную, или на расстоянии от объекта. Задача вполне выполнимая, надо лишь чтобы кто-то занялся ею. Ау, разработчики! Теперь о смене графического режима. Подавляющее большинство игр позволяет менять графические режимы в зависимости от возможностей компьютера. Всё бы хорошо, но без ложки дёгтя и здесь не обошлось. Чем больше разрешение, тем меньше буквы в меню, и информация в строке статуса (энергия, патроны...). При разрешении в 640х480 это очень мелко выглядит. Для примера возьмите Quake 1 и 2. Конечно если у вас зоркие глаза или 17 дюймовый монитор вам это не так важно. Предлагаю разработчикам добавить в настройку пунктик для сохранения размера букв при смене разрешения экрана. Сделать это можно двумя способами: первый - масштабирование, второй - свой шрифт для каждого режима. Первый по-моему предпочтительнее.
4. Главный герой
Как это не странно в 3d-Action его нет. Есть руки с оружием, есть отражение в зеркале (Duke Nukem 3D), максимум вид со стороны, но это уже не от первого лица. Проще говоря, если вы посмотрите вниз, под ноги, то вы их не увидите. Это особенно неудобно, если вы идёте по узкому мосту или по верёвке. Серьёзность этого недостатка очевидна, вы не чувствуете себя там, в игре. Вы просто управляете летающей видеокамерой с пистолетом перед объективом. А между тем исправить эту недоработку очень просто, особенно сейчас, когда царит Quake и спрайтовые технологии ушли в прошлое. Надо лишь создать трёхмерный образ главного героя, и поместить камеру в его глаза. Это не сложнее чем создать монстра и научить его ходить. Преимущества этого новшества трудно перехвалить. Вот представьте: посмотрев вверх вы не вертитесь вокруг горизонтальной оси, а просто подняли голову и руки с оружием. А нагнув голову вниз вы видите своё тело и ноги, попирающие землю, если вы стоите, либо шагающие, если вы идёте. Тут главное увязать поверхность и ваши ноги, чтобы они не пробуксовывали или не шагали на месте. Кстати о воде, когда вы идёте или плывёте в ней, то её поверхность остаётся девственно гладкой. Волны и круги на воде очень бы добавили реалистичности, и технологически это вполне возможно. Тут всё зависит от того насколько серьёзно разработчик подойдёт к этому вопросу.
5. Управление
От игры к игре оно варьируется. Я заострю своё внимание лишь на некоторых нюансах. По моему скромному мнению, чем больше степеней свободы - тем лучше. В разумных пределах конечно (но до них ещё далеко...). Итак, что мы имеем: вперёд, назад, шаг или поворот влево, шаг или поворот вправо, прыжок, присесть... стоп! Почему нельзя присесть наполовину, почему главный герой всегда пытается принять вертикальное положение? Это сильно ограничивает. Вы не можете чуток пригнуться (поверьте, это бывает нужно), вы можете только присесть и удерживать кнопку, чтобы опять не встать. Это сильно ограничивает. Предлагаю сделать так: в диапазоне от стоячего положения до лежачего вы можете вручную управлять своим героем. И компьютер не пытается постоянно вас поставить на ноги. В лежачем положении вы можете ползти, повторяю ползти а не идти по горло в земле. А если в стоячем положении нажать кнопку вверх, то вы подпрыгните. Ну вот теперь у вас больше степеней свободы в вертикальном положении. И кнопок используется по-прежнему только две: прыжок, присесть. Но теперь они называются по-другому: вверх, вниз. И это не просто смена названий, это действительно вверх, вниз. И ещё, о расширении управления. В Quake2 есть такое новшество: перекладывание оружия на левую сторону или на правую, либо в центр. Это очень удобно, но выбрать всё это можно лишь через систему меню, что практически сводит преимущество на нет, ибо в пылу схватки вы вряд ли будете каждый раз прыгать по менюшкам. Советую назначить для этого новшества горячую клавишу, убрать центральное положение, оно только мешает, и использовать в играх. Вы только представьте как будет удобно расстреливать врагов, слегка высунувшись из-за стены, и не имеет значения, какой стороной вы высовываетесь, левой или правой. Надо только переложить оружие в нужную руку. - Так будет гласить самоучитель кибер солдата. У разработчиков по-моему появился такой лозунг: "Даёшь полную автоматизацию управления!". Если так пойдёт и дальше, скоро ваше оружие будет само стрелять по врагам, а ваш герой сам уворачиваться от выстрелов. Короче, то, что сейчас наблюдается в управлении 3D Action, сравнимо разве с тем, как зрячему человеку завязывают глаза и дают поводыря. Зачем в Quake 1\2 двери перед вашим носом открываются автоматически? А если вы не хотите чтобы они открывались? Чёртова автоматика... Кнопки нажимаются, если вы в них ткнётесь в них носом, а если вы не хотите на них нажимать, но нечаянно заденете их задом? Например: Quake 2, место: Big gun (Большая пушка), вы задели задним местом кнопку самоуничтожения, не успев найти спасательный глайдер. Теперь вы вряд ли и себя найдёте. Убедительно? Я тоже так думаю. Так пусть же пробел останется для открывания дверей и нажимания кнопок. А визуально пусть будет так: нажали пробел - и ваша рука толкнула дверь, нажала на кнопку, или вставила ключ. Duke 3d потому так успешно и конкурирует с Quake 1, что в нём управление удобнее (и не только управление).
6. Оружие
Тут трудно посоветовать что-либо новое. Есть много чего, даже слишком. Сверхмощные пушки уже всем надоели, скучно. А вот если бы было несколько вариантов какого либо одного вооружения, было бы гораздо интересней. Не надо ограничивать количество видов оружия количеством цифровых клавиш. Вот представьте, стоите вы в засаде и думаете: "- Ну чем я его... Винчестером, или ИЖ-27, или... Несколько видов знаменитых пистолетов, ружей, винтовок, автоматов... Каждый со своими характеристиками, особенностями перезарядки, и т. д. Это гораздо лучше, чем изобретать всякие там BFG-xxxx. Неплохо ещё ввести дополнительную клавишу- переключатель для переключения режимов оружия, если они есть. Для винтовки - держать наперевес, целится через оптический прицел (предполагается, что вы его найдёте, ну как глушитель в Quake 2), для автомата - переключатель огня, и. т. д. Теперь вы видите как разнообразное оружие и устройства к нему могут обогатить игру. Примечание: оптический прицел был в MDK, и хотя его реализовали не очень удачно, он как нельзя лучше показывает свои возможности. А клавиша дополнения оружия есть в Dark Forces поверьте, с ней очень удобно. В играх Hexen2 и Quake2 появились такие типы вооружения как статичные огневые точки, управляемые вручную. В Hexen2 это катапульта и баллиста. В Quake2 это пушка, управляемая вражеским солдатом. Их недостаток в том, что управление ими зафиксировано либо за вами, либо за врагом. А представьте себе орудие, управляемое как вами, так и противником. Чувствуете полёт мысли?
7. Вещи
Обращение с вещами обстоит не самым лучшим образом. Взять например ящики с боеприпасами. Вы не можете взять из них ровно столько, сколько вам нужно. Если до полного боекомплекта вам не хватает к примеру 10 патронов, а вы нашли ящик со 50 патронами, то "лишние" 40 патронов будут безвозвратно утеряны. А если вам не хватало всего лишь одного патрона? ... То же обстоит и с аптечками, и с манной (Hexen2). Это бич всех игр, не только 3D Action. Предлагается сделать так, что бы из ящика, аптечки, или из куба с манной бралось ровно столько единиц, сколько вам нужно. А "лишние" чтоб оставались на месте, а не пропадали. Насчёт различных приспособлений. Неплохо бы добавить в арсенал игрока маску для подводного плаванья. Это позволит не кривя истиной видеть под водой без искажений (простите за каламбур).
8. Люди и монстры
Игровых персонажей условно можно разделить на три группы: враги, друзья, нейтральные. Третьих ещё можно где-то встретить (Quake2), а вот вторых вы вряд ли найдёте. Это сильно обедняет мир игровых персонажей. Обсудим их по порядку. Враги. Думаю многим поднадоели монстры, мутанты, киборги. Хочется повоевать с простыми людьми, но их как правило и не хватает. Куда интересней вести бой с взводом солдат, чем расстреливать ракетами какого либо чебуратора. Друзья. Таких я что-то не припомню, в 3D Action их просто нет. Этот пробел восполняет лишь Multiplayer, но он не всем доступен. А вы представьте, что играете не один, а с напарником, управляемым компьютером. Он вас прикроет, примет огонь на себя, если ваше здоровье близко к нулю. Играть станет гораздо интереснее. Добавьте ещё и озвучку, - набор реплик для напарника, это будет шик! Ну и наконец нейтральные. Посторонние персонажи очень оживляют игру. На них, например, можно сорвать злость за хорошо спрятанный ключ, или просто понаблюдать за ними. Проще говоря, чем больше персонажей, и чем они разнообразней по своему амплуа, тем интереснее вам играть.
9. Общение
К сожалению всё общение сводится к обмену выстрелами. Конечно это Action, но добавить элемент логики не повредило бы. Добавить скажем аптеку и оружейную лавку. Вы сможете лечиться и заправляться снаряжением, за деньги добытые в бою, или полученные за задание. Если торговец слишком много просит за товар, то можно его и ограбить (убить). Видите, у вас уже есть выбор. Убьёте - получите всё бесплатно, но больше не будет. Не убьёте - будете получать всё необходимое, но за деньги. Добавьте ещё девочек (только не таких страшных как в Quake 2), торговцев травкой, коммивояжеров, которых можно повстречать в лабиринтах. Вы уже не станете палить во всё, что движется. Общение может сильно обогатить 3D Action.
10. Искусственный интеллект (AI)
Вот чего всегда не хватало у врагов, так это мозгов. Не буду приводить бесчисленные примеры их тупости, скажу лишь, что со времён Doom мало, что изменилось. Даже Quake2 ничем особым блеснуть не может. Тупость монстров пытаются компенсировать силой и количеством. Заканчивается это тем, что-либо монстр вам не по зубам, либо вы тратите на него слишком много времени. Разве так уж сложно научить врагов думать? Так каким же должен быть "умный" враг? Он должен слышать выстрелы и ваши шаги, он должен чувствовать запах пороха, или ваш запах. Он должен иметь чувство самосохранения, он должен испытывать чувства - страх и ярость. И наконец, он должен быть хоть немного хитрым, не лезть напролом, уметь объединяться, действовать вместе. Читал я как - то про проект игрушки Unreal, там всё это обещают, будем надеяться.
11. Пространство
Дизайн игрового пространства - очень важная деталь при разработке каждой игры. От того, как будут оформлены помещения, строения, ландшафт, зависит, уровень интереса к игре в целом. Чем более разнообразен мир игры, тем она интересней. Хаотичные лабиринты с однообразными помещениями, или массивы скал и лавы вскоре надоедают. А отсутствие открытых пространств вызывает чувство близкое к клаубистрофии. Если в игре слишком много отрезанных друг от друга уровней, то теряется чувство восприятия мира игры в целом. Так каким же должно быть игровое пространство? Во первых, оно должно быть разнообразным и богатым, каждый его элемент должен быть законченным, лабиринты - под землёй, комнаты - в зданиях, здания должны быть полноценные, а не только фасад с двумя - четырьмя комнатами (Hexen2). Всё это должно быть планомерно размещено на местности. Вообразите себе такой игровой мир: Городок, пара улиц, два - три десятка домов, речка, впадающая в озеро, лес (деревья к примеру как в Hexen2), земля вне городка неровная, подъёмы и спуски, вдали у озера - горы. С них вы можете обозревать окрестности и любоваться пейзажем. Этого достаточно, чтобы вы погрузились в мир игры. Это уже не череда уровней и эпизодов, это настоящая виртуальная реальность, о которой так часто говорят, но которой нигде нет. Такое игровое пространство вам вряд ли когда- либо надоест, были бы интересные миссии. Но даже самый удачный игровой мир может испортить неудачное исполнение. Взять к примеру воду. Она должна быть прозрачная, либо это просто болото. И красивого оттенка. Мне очень понравилась светло - голубая вода в Quake2 на уровне Inner Hangar.
12. Транспорт
Во многих 3D action имеются различные средства передвижения. От различных лифтов и поездов до космических капсул. Но вот управление ими строго фиксировано. Вы не можете покататься в своё удовольствие. А вот представьте: Вы садитесь в машину, включаете зажигание, при помощи найденного в лабиринте ключа, и едете в район икс, давя и расстреливая по пути прохожих. Оставляете машину за углом. Идёте и расправляетесь с боссом, после чего спокойно сматываетесь, оставляя позади толпу разъярённых охранников. Целый сюжет для игры. А добавить ещё погоню... А если не машина, а танк, или подводная лодка, как Duke 3d (ах если бы ею можно было бы управлять...), я не говорю про авиацию! Не надо бояться смешения жанров, да и сделать всё это те так уж и сложно. Обсудим машину. Обычный 3D-объект, тот же монстр, только вы внутри и можете им управлять. Войти в неё и поехать просто. Подошли, открыли дверь, нагнулись, влезли, закрыли дверь. Вставили ключ, теперь вы управляете машиной. Машина может двигаться вперёд, назад, поворачивать влево и право, естественно Strafe не допускается, Клавиши смотреть вверх, вниз служат для переключение скоростей. Выход из режима вождения той же клавишей, какой вы вставляли ключ. Всё очень просто... Осталось только дождаться разработчика, который возьмется за эту идею.
13. Послесловие
Спасибо, что прочитали мою статью, надеюсь, она вам понравилась. Не взыщите, если в чём-то я ошибся, или если информация о чём-то устарела. Я постарался обхватить большинство проблем жанра 3D Action. Наряду с критикой есть и предложения. Чем больше я писал, тем больше понимал, как необъятен этот жанр, и какие перспективы стоят перед ним. Надо лишь серьёзно взяться за это дело.
P.S. Отечественные разработчики, создайте наш, крутой русский экшен, утрите нос западу! Воспользуйтесь моими советами, не пожалеете.
В статье были использованы картинки из игр: Duke Nukem 3D, Quake II, Hexen II.
***
А теперь, прочитав первую статью, крепко задумайтесь, сколько из описанного реализовано, а сколько всё ещё осталось незамеченным. При том, что графические эффекты и железо уже близки к пику своего развития. Сколько ещё лет понадобится игровой индустрии, чтобы принять то, что я увидел едва познакомившись с жанром?