Ричард Моу (Richard Moe) Humongous Entertainment



Ричард Моу (Richard Moe), Humongous Entertainment

Ричард Моу, сотрудник компании Humongous Entertainment, привык выступать в самых разных амплуа: от руководителя проекта до (помимо прочих обязанностей) инженера-программиста. Все игры Humongous пишутся на собственном языке SCUMM, который был разработан соучредителем компании Роном Гилбертом (Ron Gilbert). Вот лишь некоторые проекты, отмеченные вниманием дизайнера и программиста Ричарда Моу (в хронологическом порядке): Junior Field Trips: Let's Explore the Airport, Pajama Sam in There's No Need to Hide When It's Dark Outside, Backyard Baseball и Putt-Putt Enters the Race.

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

При создании детских игр самое проблематичное - определиться со сложностью, чтобы игра получилась интересной и легкой как для четырехлетнего, так и для восьмилетнего ребенка. Очевидно, что уровень мастерства игроков в пределах этого возрастного диапазона существенно отличается. Например, в Pajama Sam входит простая игра типа крестиков-ноликов, Cheese and Crackers («Сыр и печенье»). Для игры используются доски трех размеров: 3x3, 5x5 и 7x7. Доска 3x3 - это классические крестики-нолики, три знака в ряд выигрывают. На досках 5x5 и 7x7 для выигрыша требуется поставить в ряд соответственно четыре или пять знаков. Легко понять, что первый из трех вариантов самый простой (меньше комбинаций), а остальные последовательно сложнее. Однако включив в игру все варианты, мы предоставили возможность приятно провести время игрокам с любыми навыками. Более того, оппонент в лице компьютера пытается подстроиться под возможности противника. Если игрок побеждает, в следующей партии компьютер будет играть более умело. Аналогично, если победа на стороне искусственного интеллекта, в следующей партии он будет играть чуть слабее.

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

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

Должен ли программист разбираться в других областях «игростроения»?

Бюджет - страшная вещь. Действительно, по ходу проекта программисту часто приходится становиться мастером на все руки - что делать, специалистов не хватает. В других случаях возникающая проблема является уникальной для игры и используемого движка. Я не могу поручить человеку, хорошо знающему Си++, написать подпрограмму, которую можно будет использовать в моей игре, основанной на языке SCUMM. В этом случае незнакомый со спецификой инструментария программист может не справиться с заданием (чаще всего именно так и происходит). К слову, совсем недавно я столкнулся с подобной проблемой во время работы над Putt-Putt Enters the Race. В конце игры игрок должен провести свой автомобильчик (Putt-Putt) по псевдотрехмерной трассе. Чтобы все это правильно работало, я должен был отслеживать объекты в трехмерном виде. У меня не было практически никакого опыта в трехмерных преобразованиях, а рядом, увы, не оказалось ни одного человека, который мог бы прийти мне на помощь. В итоге ваш покорный слуга был вынужден делать все самостоятельно. К счастью, у меня есть несколько знакомых специалистов, и результаты оказались удовлетворительными. Конечно, это не Gran Turismo, но давайте вспомним основной вопрос: я понял, что мою аудиторию (дети 3-8 лет) не волнует реальность физических моделей и трехмерная визуализация в реальном времени. Вместо этого я поместил несколько забавно выглядящих уток, которые должны были крякать и улетать, если вы подъезжали к ним слишком близко.

А как лучше всего научиться программированию? «Зажмите нос и ныряйте прямо на самую глубину, - советует Ричард. - Начните с простого - игры вроде Minesweeper или тетриса. Или с клона Space Invaders. Еще немного, и вы доберетесь до трехмерных экшен-стратегий от третьего лица в реальном времени».



Содержание Назад Вперед