старые игры
Последние комментарии
Мне кажется там была EGA политра
Где заставки-то????
Все про то, как уехать из России
очень классная игра
привет всем
Поиск в каталоге игр
 

Заметки разработчика игр (Часть 1): Perfectionism

 
Автор: Чувак с гранатой

Оригинал статьи и ссылка на игру:

Перевод с английского: Чувак с гранатой
Примечание. Первая статья из цикла «Заметки разработчика игр».
 
Заметки разработчика игр: Perfectionism
Джейсон Рорер, 15 марта 2008, 1:00
 
На часах было 22:30, 29 февраля 2008. Я только что закончил сборку «Gravitation» версии 1 для всех платформ, архивирование каждого версии, отправку на SourceForge и обновление сайта. Этот процесс – завершающий этап разработки моей программы – занял у меня около часа. И вот, я закончил с релизом и чувстовал себя вполне довольным.
Но затем я сделал то, чего не должен был делать. После тестового скачивания в целях проверки на предмет повреждённых файлов я решил последний раз перед сном провести восемь минут за игрой. В конце этого финального тестирования, я заметил в игре одну не совсем правильную деталь. А именно малозаметный и незначительный баг, который однако несколько портил общую картину.
Вкратце расскажу об этом дефекте. Если в конце игры, когда появляется финальный экран, продолжать держать нажатой клавишу движения, то новая игра запускается слишком быстро, не давая возможности увидеть, что предыдущая игра уже закончилась. Конечно, это была проблема, с которой большинство игроков, наверное, и не встретились бы. И даже для тех, кому всё-таки пришлось с ней столкнуться, это было бы не критично для всей игры, а только делало бы концовку немного путанной. Должен ли я был исправить этот баг? Я сомневался.
С одной стороны, я устал после работы над игрой, и было уже поздно. С другой, я знал, что не смогу заснуть, пока эта ошибка не будет исправлена. Я просто не мог допустить, что хотя бы одному игроку этот баг испортит впечатление от игры.
Итак, я опять сел за работу: исправил код, заново выполнил сборку, заархивировал и отправил на сайт. В 23:30 я закончил релиз «Gravitation» версии 2.
Этот случай заставил меня подумать о моём перфекционизме. Когда проект можно считать полностью законченным? Как долго надо его улучшать? Есть ли какое-то правило, дающее понять, что дальнейшие исправления уже не стоят затраченного на них времени? Не лучше ли иногда проигнорировать небольшую ошибку, чем потратить уйму времени на её исправление?
Ловушка перфекционизма особенна опасна для программистов с тех пор, как мы освоили тьюринг-полные языки программирования, позволяющие делать всё, что угодно. Любой баг может быть исправлен. Любая недоработка может быть заделана ещё несколькими строчками кода, ещё одним логическим условием. Программирование – это не обработка мрамора, когда, если у вашей скульптуры слишком маленький нос, вы должны либо оставить его таким, либо начать всё заново с новым блоком мрамора. Код программы может редактироваться сколько угодно раз.
Во время разработки игры, посвященной этому вопросу, я думал о том, чтобы игроки выстраивали некий набор объектов для достижения определённой цели. Но я хотел также заставить их выбрать, как далеко им стоит идти по направлению к цели. Если мы дадим игроку несколько наборов игровых объектов и задач и заставим его разделить своё ограниченное время между этими «подпроектами», то он должен будет сделать ряд интересных выборов: какие из них довести до идеала, какие оставить дефектными, а какие вообще пропустить. Это немного отличается от традиционного подхода, когда игрок должен закончить один уровень, прежде чем начать следующий.
Так как игра основывается на уровневой структуре, игровая механика должна была быть некоторой формой постепенного совершенствования и возрастающей сложности. Я остановился на довольно простой идее перестановки строк и столбцов. Вместе с тем, что она согласуется с идеей совершенствования, она также, как минимум, интересна в плане игрового процесса. Хотя я никогда раньше не видел подобной игровой модели, но уверен, что в этом нет ничего нового. Вполне могу представить себе «match 3»-игру (то есть логическую игру вида «собери три объекта в ряд» - прим. пер.), использующую эту идею.
С помощью белых кнопок сверху от игрового поля игрок может выбрать два столбца для перестановки. Так же он может выбрать две строки, используя кнопки слева от поля. Поменять местами строку и столбец нельзя. Во время перестановки жёлтые диски переносятся вместе с их столбцом или строкой в то время, как жёлтые кольца остаются на своих местах. Последние являются целью, в которую игрок должен переместить диск, за что ему даётся одно очко. Если диск переносится обратно из кольца, то очко теряется. Жёлтое число на экране показывает текущий счёт.
Игрок может переключаться между уровнями, используя зелёные стрелки внизу экрана. При желании предыдущий уровень всегда можно посетить заново и доработать.
Зелёное число показывает количество оставшихся ходов, которое убавляется на одну единицу каждый раз, когда игрок переставляет строки или столбцы или переключается между уровнями. Когда оно станет равным нулю, игра закончится.
Я сделал для игры 21 уровень. Так же, как и в «Mr. Heart Loves You Very Much» (название игры, сама она легко находится в google – прим. пер.), во время прохождения игроку открываются все нюансы геймплея. Поэтому, чтобы научиться правилам игры, не требуется ни инструкции, ни тренировочных уровней. Могу добавить, что в пользу этого говорит ещё и следующий факт: моя жена, не-геймер, смогла самостоятельно разобраться в игре без каких-либо объяснений с моей стороны. «Perfectionism», можно сказать, является самодокументируемым проектом.
После того, как игрок научится основам игровой механики на первых уровнях, ему предстоит решить более сложные задачи, которые затрагивают тему перфекционизма. Например, на показанном ниже уровне можно легко заработать четыре очка с помощью двух очевидных перестановок столбцов, но вот ещё одно очко не удастся получить, не сделав при этом несколько дополнительных действий. Стоит ли оно того?
Большая часть уровней в игре были сделаны, чтобы показать различные проявления игровой механики, включая и исследование перфекционизма. Другие уровни представляют из себя вариации на эти темы. Идея о том, что игровой уровень может сообщить что-то игроку, в некоторой степени новая - мы ведь не привыкли спрашивать: «А что нам пытается сказать этот уровень?» Не могу не упомянуть здесь о игре Джонатана Блоу «Braid», которая заставила меня поразмышлять в этом направлении.
«Perfectionism» вписывается в рамки прототипа игры, сделанного втечение недели. Для его разработки я использовал Game Maker, и это был мой первый опыт работы с этой программой (все предыдущие свои игры я делал на C++ с использованием OpenGL или SDL для отображения графики). Я был поражён, как много я успел сделать за 16 часов работы, и могу с уверенностью заявить, что Game Maker – просто изумительный инструмент для создания игр.
Делать простые вещи в нём легко, в то время, как более сложные задачи всегда выполнимы (неявная цитата известной фразы программиста Ларри Уолла: «In a nutshell, Perl is designed to make the easy jobs easy, without making the hard jobs impossible.» - прим. пер.). Это не значит, что разработка игр в Game Maker не включает в себя программирование, ведь определение свойств объекта практически невозможно без некоторых программистских конструкций (хотя, в данном случае, они и являются визуальными или основанными на point-and-click системе). Здесь все рутинные операции, как, например, отслеживание параметров объекта и их значений, предоставляется вам в очень элегантном виде. Другое впечатляющее достоинство Game Maker – это то, что, несмотря на свою сложность, он вполне свободен от багов. Всё работает, и часто - более продуманно, чем вы ожидали. Теперь, если бы он стал ещё и open-source проектом или хотя бы платформенно-независимым, тогда я был бы на седьмом небе от счастья. Да, это первая моя игра, сделанная, увы, только под Windows.
Итак, после иронично долгой ночи финальной отладки и шлифовки, я предлагаю вашему вниманию «Perfectionism», игру об этих самых отладке и шлифовке.
Хм... возможно, я дожен был протестировать её еще раз.
 
Раздел «Заметки разработчика игр» будет обновляться каждый месяц, представляя прототип новой игры и статью о нём.
Джейсон Рорер – независимый программист и критик в сфере компьютерных игр. Он живёт с женой и двумя детьми в маленьком городке Потсдам, штат Нью-Йорк, где они ведут спокойную и умеренную жизнь.

А знаете ли вы что...
Одной из самых оригинальных серий квестов можно назвать Desktop Adventures от Lucasarts. В Indiana Jones и Yoda Stories разработчики попытались реализовать систему, при которой квест можно проходить множество раз.
Мир этих игр генерится случайным образом из множества маленьких кусочков, в результате чего каждый раз получается новая линия прохождения. Понятно, что при подобном подходе никакой глубокой игры и вдумчивых пазлов ожидать не стоит. Они предназначены скорей для быстрой игры в обеденный перерыв, эдакий сапер в жанре квестов.
Автор сайта Arik © 2001-2009
 
 
Играете ли вы в современные порты классических игр?

Нет, только классика

Да, если порт близок к оригиналу

Предпочитаю порты


Результаты голосования