Геймкриэйтинг нулевых. Как это было
Понятие «геймкриэйтинг» (game creating) в последнее время употребляется редко, будучи вытесненным термином «геймдев». В нулевых им было принято обозначать создание игр без программирования – то есть, при помощи программ-конструкторов, которые предлагали пользователю дружественный интерфейс с визуальными редакторами игровых ресурсов, уровней и логики.
История геймкриэйтинга началась еще в 1980-х годах: одной из самых ранних сред для обучения игровой логике на потребительских устройствах была Garry Kitchen's GameMaker, вышедшая в 1985 году для Commodore 64, Apple II и IBM PC. В 1991 году вышел RSD Game-Maker, набор инструментов для визуальной разработки игр под MS-DOS.
Game Maker
Расцвет геймкриэйтинга начался в конце 1990-х – начале 2000-х в связи с появлением бесплатных игровых конструкторов под Windows, в частности Game Maker, первая версия которого датируется 1999 годом. Первоначально программа называлась Animo и задумывалась как простая система для создания двумерной анимации. Массовая же популярность к Game Maker пришла в версии 5.0 (2003 год). Заслугу Марка Овермарса, нидерландского профессора вычислительной геометрии, трудно переоценить – его творение приоткрыло двери в разработку игр тысячам юных энтузиастов. Порог вхождения в Game Maker был настолько низок, что позволял даже ребенку сделать какой-нибудь простейший клон Space Invaders буквально за день. Никаких специальных знаний для этого не требовалось – был простой и интуитивный графический интерфейс, при помощи которого пользователь загружал ресурсы, определял игровые объекты и присваивал событиям действия, перетаскивая значки и заполняя поля числовых и строковых параметров.
Сказать, что это сносило крышу, значит не сказать ничего! Game Maker, изначально созданный для обучения школьников и студентов азам компьютерной графики, в талантливых руках оказался способен на удивительные вещи. На нем было создано множество признанных шедевров – Ore No Ryomi, Seiklus, Sixty Five Million and One BC, Pokemon Twilight, Crimelife, Coaster Rider, Park Racer, Death Worm, Hard Hat, The Ultimate Chuchu и многие другие. На российской GM-сцене отметились Safe Breaker, Stegno, Needles, Total Anarchy. Конечно, на одну качественную игру приходились тонны бездарных поделок и «наркоманского» трэша, но, заходя в каталоги типа YoYo Games Sandbox или gamemakergames.com, вы всегда могли рассчитывать, что сможете скоротать вечер за какой-нибудь занятной новинкой.
Технологически GM позволял создавать 2D-игры коммерческого качества. Его графический движок, основанный на DirectX, по меркам 2000-х был весьма продвинутым: анимированные спрайты, тайлы, частицы, рендеринг во внеэкранные буферы, отрисовка полигонов. Опытные пользователи могли программировать игровую логику на встроенном скриптовом языке GML. Конструктор также включал базовые функции рендеринга 3D-графики, реализованные, правда, чисто как довесок – без претензии на какое-либо серьезное применение. Пользователей это, однако, больше вдохновляло, чем разочаровывало – 3D-режим стал культовым сам по себе, породив целую волну творческих идей и примечательных хаков. Конечно, ни одной конкурентоспособной игры на встроенной 3D-графике GM так и не вышло, но зато благодаря ему многие познакомились с основными принципами работы низкоуровневых графических API – кто-то даже начал изучать DirectX и OpenGL, пробовать писать свои движки.
Отдельного упоминания заслуживают расширения GM в виде DLL-библиотек, создание которых для кого-то стало любимым хобби и, опять-таки, помогло изучить «взрослые» языки и API. Для GM появилось несколько внешних графических движков, позволявших эффективно рендерить сложную 3D-графику, физические движки, звуковые, сетевые и т.д. Все, что не поддерживалось в GML, было реализовано через DLL. Конечно, кто-то скажет, что привязывать GLScene или ODE к Game Maker – то еще извращение, но в те времена это казалось вполне естественным. Если программа это позволяет – то почему бы не делать? Кстати, Xtreme3D, враппер GLScene, благополучно существует до сих пор – изначально проприетарный, он был переписан с нуля русскоязычным сообществом и развился до уровня графики Half-Life 2 и Doom 3.
В 2007 году для дальнейшей разразботки и коммерциализации Game Maker Марк Овермарс объявил о партнерстве с компанией YoYo Games. Версия 7.0 вышла уже под новым брендом, о чем свидетельствовал логотип YoYo Games в интерфейсе конструктора. В 2009 году вышла версия 8.0. Последней версией классического Game Maker стала 8.1, которая вышла в 2011 году – YoYo Games продолжает разработку продукта под названием GameMaker: Studio, но это уже совсем другая история...
3D Game Studio
Как уже было отмечено, Game Maker не был предназначен для разработки 3D-игр. Работа с полноценной трехмерной графикой – святой Грааль! – в те годы воспринималась как удел профессиональных программистов и крупных игровых студий. Но были и исключения: так, пределом мечтаний любого конструкторщика был в свое время 3D Game Studio от Conitec. Судите сами: полноценный редактор уровней, редактор моделей с поддержкой анимации, встроенный компилируемый ЯП, графика уровня Quake 3... Однако и стоил 3DGS соответственно.
Интересной особенностью этого продукта было использование языка Lite-C, разработанного по заказу Atari – это C с дополнительными возможностями, такими как поддержка COM, автоматическое управление памятью и т.д. 3DGS состоял из целого набора инструментов, реализованных как отдельные приложения: MED (редактор моделей), WED (редактор уровней), SED (редактор кода) и др. Сердцем конструктора был графический движок A8 на основе DirectX 9.0c.
Кстати, 3DGS использовали не только любители, но и вполне профессиональные разработчики: так, на нем были сделаны турецкие Süpercan и Kabus 22, аркадные гонки Citroën C4 Robot и несколько других коммерческих тайтлов.
Blitz3D
Отдельного упоминания заслуживают и продукты Blitz Research, которые, хоть и не являлись конструкторами, но стали для многих первым окном в мир «взрослого» программирования. Так, моей первой IDE была Blitz3D – среда разработки приложений на языке BASIC, включавшая компилятор, отладчик и встроенный игровой движок на основе DirectX 7. Она пользовалась большой популярностью в начале нулевых за счет своей простоты и дружественности к начинающим – на основе этого движка было выпущено множество бесплатных и коммерческих игр. Несмотря на очевидно устаревшую графическую технологию, многие умудрялись делать на Blitz удивительные вещи, добиваясь картинки не хуже, чем в коммерческих играх – имитировали шейдерные эффекты операциями быстрого считывания и записи пикселей, писали разнообразные DLL-расширения и т.д. Популярность Blitz3D начала угасать только с появлением 3D-режима Game Maker, но формат моделей B3D после этого еще долго всплывал в различных доморощенных движках и демках. Впоследствии Blitz Research перевела все свои классические продукты в разряд СПО под лицензией zlib/libpng.
DarkBASIC
Главным конкурентом Blitz Research в те годы была компания The Game Creators с ее культовым DarkBASIC. Эта среда, также основанная на языке BASIC, включала очень мощный движок на основе DirectX 9.0c с поддержкой шейдеров, компилировала программы в машинный код и также была расширяемой, за счет чего обросла множеством интересных дополнительных функций. Как сейчас помню увлекательную ежемесячную e-mail рассылку The Game Creators с анонсами новых демок и дополнений!
С 2010 года DarkBASIC стал бесплатным, но распространялся под ограничительной лицензией, не позволявшей создавать с его помощью коммерческие продукты – а спустя шесть лет The Game Creators все-таки открыли его под лицензией MIT.
FPS Creator
А вот другой продукт The Game Creators был уже полноценным конструктором – речь идет, конечно, о легендарном FPS Creator, самом популярном любительском движке для создания шутеров от первого лица. Его особенностью были подключаемые ресурс-паки, благодаря которым можно было создавать игры из готовых компонентов – впоследствии эту идею подхватили в Unity, Unreal Engine и иже с ними. Для этой серии конструкторов было создано огромное количество моделей, скриптов, шейдеров и других ресурсов. В 2016 году FPS Creator тоже стал бесплатным и свободным.
FPS Creator X10
Одно время существовала альтернативная ветка этого проекта с улучшенной графикой – FPS Creator X10, который на момент своего выхода в 2008 году был, наверное, самым технологически продвинутым игровым конструктором: использовал Direct3D 10 и поддерживал спецэффекты чуть ли не уровня Crysis. К сожалению, эта версия просуществовала недолго, так как имела проблемы с запуском на Windows 7. Разработчики пытались запустить кампанию по сбору средств на продолжение разработки и даже начали было выпускать бета-версии нового продукта под названием FPS Creator Reloaded, но проект, в итоге, перерос в конструктор без жанровых ограничений – GameGuru, развивающийся и поныне.
Adventure Game Studio
Говоря о специализированных конструкторах, заточенных под определенные игровые жанры, нельзя обойти стороной и Adventure Game Studio – популярный движок для создания квестов. Этот проект существует с 1997 года и позволяет создавать классические 2D-адвенчуры, которые также называют «point-and-click» – в стиле таких игр, как Monkey Island и Leisure Suit Larry. В качестве ЯП использует C-подобный скриптовый язык. В 2011 году AGS перешел в разряд свободного ПО – исходники редактора и рантайма распространяются по лицензии Artistic License.
RPG Maker
Фанаты классических японских ролевух, конечно, слышали об RPG Maker – этот непотопляемый проект с бессчетным количеством релизов существует еще с начала 90-х: первая версия вышла в 1992 году под названием Tsukūru Dante 98 для NEC PC-9801. Культовость RPG Maker сложно переоценить – многие игры, созданные на нем, стали легендами сами по себе: Yume Nikki, To The Moon, Corpse Party, The Witch's House и многие другие. Популярность этого конструктора не угасает и в наши дни.
Сейчас классические безъязыковые конструкторы вымирают как класс, уступая комплексным движкам с интегрированным редактором и ЯП. Есть и гибридные решения – например, Unreal Engine с его системой Blueprint или Blender Game Engine с редактором логики, но их конструкторами называть как-то язык не поворачивается. Тем не менее, геймкриэйтинг по праву можно считать вехой в истории компьютеров – во многом благодаря ему сегодня существует то, что известно как инди-геймдев. Идеи, заложенные в конструкторы – интегрированные средства создания контента, визуальное редактирование, подключаемые пакеты ресурсов и расширений – стали неотъемлемой частью мейнстрима разработки игр.