3-я редакция, переработанная и дополненная
Разработчик:
Алексей Сергеевич Патрашов, дипломированный бакалавр технических наук, дипломированный магистр технических наук, кандидат технических наук.
Рецензент:
Кирилл Викторович Орлов, дипломированный кандидат технических наук.
С использованием материалов:
«Искусство программирования» ― 3-е издание, Дональд Кнут. Вильямс, 2007.
«Алгоритмы: построение и анализ» ― 2-е издание. Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. Вильямс, 2005.
«Как стать создателем компьютерных игр. Краткое руководство» ― В. В. Касихин. Вильямс, 2006.
«Компьютерные игры. Мимо вечности в забвение.» ― А. С. Патрашов. 2009.
«О, рандом! Или мракобесию от программирования посвящается.» ― А. С. Патрашов. 2010.
«USB-flash или маленький конец большого пиратства» ― А. С. Патрашов. 2010.
«Последний день пирата, или интернета, интернета…» ― А. С. Патрашов. 2010.
«Создание концепт-документа игры» ― С. Валиуллин. 2009.
«The art of game design. A book of lenses» ― Jesse Shell. Carnegie Mellon University, 2008.
Если хочешь что-то сделать ― лучше сделать это самому.
Народная мудрость
Не доверяй павиану.
Африканская народная мудрость
Лучший способ в чём-то разобраться до конца ― это попробовать научить этому компьютер.
Дональд Кнут
Математику уже за то любить следует, что она ум в порядок приводит.
М. В. Ломоносов
Математические формулы не могут «принадлежать» кому-либо! Математика принадлежит Богу.
Дональд Кнут
Компьютерная игра это ожившая математика.
Примечание автора
На сочинение данного руководства меня подвигла унылая тоска в области компьютерных игр, царящая последнее время, похоже, во всех жанрах. Старые игры, безусловно, радуют, но ни толкового продолжения, ни хотя бы работы над ошибками я пока что не увидел и при нынешнем положении в игростроении не увижу ещё долго. Делается всё, что угодно, кроме того, что в каждом конкретном случае нужно. Вместо грамотных ремейков делаются безграмотные продолжения и новоделки, вместо разнообразия производится клонирование, вместо продолжений изготавливают независимые вариации, вместо оригинальных инноваций создают убогие компиляции, а после успешных релизов пытаются продать совершенно провальные продолжения или сиквелы.
Если вы решили изготовить хотя бы приличную, не говоря уже про культовую, компьютерную игру, то данное руководство должно вам помочь. Среди многочисленных провалов разработчиков игр подавляющее большинство произошли ещё на этапе разработки. Разработчик только предполагает, что будет происходить в игре, а игроки располагают и бесполезно потом говорить, что планировалось нечто совершенно иное, что игровой процесс должен был идти совсем не так, как пошел на самом деле и объяснять почему он зашел совершенно не туда.
По дизайну компьютерных игр написаны целые шкафы книг, так что сам дизайн я затронул только косвенно. Основные гибельные явления происходят не в определённой области работы, а на стыке разных областей. Дизайнер не обязан разбираться и не всегда разбирается в программировании, а художник не обязан разбираться в звуке или скриптах. Проблема заключается в том, что задачи из одной области любят переползать в другую во-первых и не всегда нужный специалист присутствует в нужном месте в нужное время во-вторых. В итоге начинается решение дифференциальных уравнений гуманитарным способом или сочинение диалогов на языке программирования высокого уровня, а в тяжёлых случаях всё сразу и одновременно.
Представленное руководство посвящено большей частью решению возникающих при разработке компьютерных игр математических задач и математическим способам решения некоторых задач из области игрового дизайна. Это позволит применять технический подход к гуманитарной области при отсутствии соответствующих гуманитарных способностей и компенсировать этот недостаток с минимальным ущербом для работы.
Есть такое утверждение, что кашу маслом не испортишь. Хорошую игру тоже испортить сложно ― надо сильно постараться. Но одно дело портить, а другое ― улучшать. И на почве очередной попытки улучшения часто происходит такое, чего ни один вредитель при всём своём желании, при всём своём воображении и всей своей квалификации не смог бы достигнуть. А чтобы разработка не превратилась в откровенное вредительство надо сначала разобраться в предстоящей работе и начать это делать лучше всего с изучения взаимодействия игрового мира с рыночным.
Я составил это руководство из разнообразных статей в разное время и по разным поводам написанных. Для лучшей читаемости я добавил некоторые связки между статьями, чтобы достигнуть некоторой связанности для превращения сборника статей в некое руководство. Полностью изготовить компьютерную игру по этому руководству не получится, но его можно использовать как справочник. Предназначен этот справочник для желающих либо не вникая в математические подробности решать задачи по математике, либо для не желающих менять подход к решению задач с математического на какой-либо ещё. Соответственно не следует рассматривать его как догму и собрание непреложных истин, которых нет и, скорее всего, не будет.