Можно ли создать бумажный прототип шутера от первого лица? Конечно! Сначала найдите помощников и разделите их на тех, кто играет за компьютерных персонажей и за других игроков. На большом листе миллиметровки нарисуйте карту и расставьте по ней фишки, которые будут вашими игроками и монстрами. Каждым виртуальным персонажем должен управлять отдельный человек. Далее можно придумать некое подобие пошаговых правил для вашей игры или воспользоваться метрономом. Программу-метроном можно легко найти в интернете. Настройте частоту ударов метронома на 5 секунд и введите правило, согласно которому персонаж делает шаг вперед на одну клетку после каждого удара. Когда на прицеле появляется враг, вы можете в него выстрелить, но только с расчетом один выстрел на один удар метронома. Это даст вам отличную возможность посмотреть на вашу игру в замедленном действии: вы сможете оценить плюсы и минусы, не переставая при этом играть. Вы сможете понять, насколько большой должна быть ваша карта; какой должна быть форма комнат и коридоров, в которых игроку было бы интересно бегать; какими свойствами должно обладать оружие, и многое другое – и для всего этого вам понадобится совсем немного времени.
Ваши прототипы не обязаны быть цифровыми; они даже не обязаны быть интерактивными. Простых скетчей и анимаций может быть более чем достаточно для ответов на часть вопросов по гейм-плею. Ранние прототипы игры «Принц Персии: Пески времени» (
Традиционный метод разработки ПО чем-то напоминает выпекание хлеба.
1. Написание кода.
2. Компиляция и компоновка.
3. Запуск игры.
4. Поиск в игре той части, которую нужно протестировать.
5. Тестирование.
6. Возврат к шагу 1.
Если вам не понравился хлеб (результаты тестирования), все, что вы можете сделать, – запустить процесс по новой. Это отнимет чересчур много времени, особенно при работе над крупным проектом. Но, выбрав движок с правильной системой скриптов, вы сможете вносить изменения в код, когда игра все еще запущена. Это больше напоминает работу с глиной – вы можете все время что-то менять.
1. Запуск игры.
2. Поиск в игре той части, которую нужно протестировать.
3. Тестирование.
4. Написание кода.
5. Возврат к шагу 3.
Меняя код запущенной игры, вы ускоряете весь процесс и проходите больше циклов в день, что, в свою очередь, повышает качество вашей игры. Раньше я использовал Scheme, Smalltalk и Python, но в целом подойдут любые языки программирования высокого уровня. Связать все воедино поможет Javascript. Если вы боитесь, что эти языки медленно запускаются, помните, что игры можно писать на нескольких языках одновременно: напишите второстепенный контент, который не нужно будет сильно изменять, на чем-то быстром и статическом (Ассемблер, C++ и т. д.), а для написания более важного контента используйте медленный, но динамичный язык. Это может потребовать дополнительных усилий, но оно того стоит, так как у вас появляется возможность воспользоваться преимуществами Правила цикла.
Вернемся к главе 4, в которой мы обсуждали отличия игры от игрушки. В игрушки весело играть просто потому, что они интересны сами по себе. В играх есть цель, и они позволяют пользователю приобрести гораздо более глубокий опыт, основанный на процессе решения проблем. Тем не менее не стоит забывать, что многие игры были созданы на основе игрушек. Мяч – это игрушка, но бейсбол – это игра. Маленькая фигурка, которая бегает и прыгает, – это игрушка, а