Джон Ромеро – один из основателей id software, один из самых известных игровых разработчиков. На только что прошедшей GDC Europe он поделился ключевыми принципами разработки, которыми руководствовалась студия в 90-ых годах. И хотя некоторые из них сегодня могут показаться устаревшими или даже безумными, они помогли id за 5 лет с командой из всего 10 разработчиков создать 28 легендарных игр (Commander Keen, Doom, Quake и т.д.).
Без прототипов – всегда поддерживается готовый к работе код. Допиливается по ходу.
Сейчас один из главных советов – прототип, прототип, прототип. Получите что-то, во что можно играть, и отталкивайтесь от этого. Но в id, говорит Ромеро, времени на прототипы не было. Игры, которые делала студия, были небольшими по объему и легко визуализировались в головах команды, так что они переходили прямо от идеи к продукту. «В настоящее время для любого большого проекта вам нужно прототипирование», — говорит он.
Игра Quake: The Fight for Justice была единственной, от которой команда отказалась. Они работали над ней две недели (это была RPG) и потом выбросили и пошли дальше. Ко вселенной Quake студия вернулась только через четыре года.
Невероятно важно, чтобы каждый в команде мог запустить игр. Движок должен быть безупречен. Даже если это не так, то он должен выдавать информацию о сбоях, когда они случаются.
Ромеро постоянно подчеркивает важность поиска путей для повышения эффективности – один из них это запуск игры каждым в команде.
Ваш код должен быть абсолютно простым. Продолжайте изучать функции и ищите, как вы еще можете их упростить.
Упрощение важно. Не только в коде, но и в игровом дизайне и в процессах проектирования.
Отличные инструменты помогают делать отличные игры. Потратьте на инструменты столько времени, сколько возможно.
«Мы сами себе лучшая команда тестирования и мы никогда не должны позволять кому-либо еще видеть ошибки или падения игры», — говорит Ромеро. «Не тратьте время других. Тщательно тестируйте перед заливкой кода».
Он добавляет: «Если вы видите ошибку, то вы исправляете ее, а не продолжаете кодить. Если вы не исправите ее, то новый код будет построен на ошибочной кодовой базе и неустойчивом фундаменте».
Используйте для разработки лучшую систему по сравнению с той, на которую вы нацеливаетесь.
Для Doom целевой системой был MS-DOS, а сам он разрабатывался на NextStep, предшественнике OS X.
Пишите код для этой игры, а не для последующих. Лучше написать его позднее, так как вы к тому времени будете уже умнее.
Повторное использование кода от игры к игре не имело особого смысла для команды, которая оптимизировала все под конкретную ситуацию (и, конечно, тогда не было возможности получить лицензию Unity или Unreal Engine).
Используйте инкапсуляцию для того, чтобы все работало одинаково. Это минимизирует ошибки и экономит время на разработку.
У вас получится более эффективный код, и вы получите большую гибкость в выборе дизайна и внесении изменений.
Попробуйте использовать прозрачный код. Расскажите вашему ведущему программисту и коллегам как вы будете решать текущую задачу.
В начале нас было всего четверо – Ромеро, Джон Кармак, Холл и Эдриан Кармак – в одной комнате мы программировали и слушали металл. Все знали, что делают другие, и в этом было преимущество id.
Программирование — это форма искусства, основанная на логике. Каждый программист отличается.
Интуитивно понятный! В ходе сессии вопросов и ответов разработчик игр спросил Ромеро, были ли у него когда-либо выгорания из-за скорости разработки. Ромеро объяснил, что он из того типа программистов, что очень любят кодить – поэтому у него выгорания никогда не было. Но, сказал он, до самой известной игры студии под названием Doom было проделано очень много работы. Wolfenstein вышел в 87, а Doom в 90-ых.