Конструкторы для создания компьютерных игр
Удивительные вещи стали происходить в последнее время. Дочка от первого брака перестала в школу ходить, потому что у нее «высокий рейтинг «В контакте» и за ним нужно постоянно следить. Читатели чаще всего веселят в своих письмах, например, что можно ответить на такое: «Как мне настроить эквалайзер чтобы у мя прмо точно играло?». Так и хотелось написать в ответ: «Чел брш эквлзер» и так далее. Причем, заметьте, письмо пришло по e-mail, вряд ли человек набирал сообщение на мобильнике, где иногда буквы и запятые нужно экономить. Я понимаю, если бы он статью или книгу написал, там могут быть ошибки, от них никуда не денешься, но чтобы в одном предложении... И это не единственный случай. Что тут сказать, поколение Next. Сразу вспоминается тирада персонажа Андрея Краско из к/ф «72 метра»: «В русском языке есть слова, их там много, когда их составляешь вместе, получается предложение, где есть сказуемое, подлежащее и прочая светотень. И все это — великий русский язык».
Конечно, самый большой перл из присланных недавно — это: «Я нажимаю Save Ass…, и ничего не происходит!». Интересно, в какой это такой некультурной программе слово «As» пишется с двумя «s». И, вообще, что и где этот человек нажимал? Хотя, может, он имел что-то аллегоричное, например, поэтически подразумевал фразу «избегать неприятностей» или что-то в этом роде?
Вот со старшими как-то легче, я бы сказал, язык у них понятнее. Чувствуется некоторая неторопливость, продуманность мыслей. Молодежь, она — наоборот. Например, некий персонаж на одном из форумов написал: «Собирается команда для создания MMORPG, нужен модер». Через пару постов (сообщений) поправился, сказав, что сделал опечатку в слове «кодер», хотя ошибок в тексте там было много и без этого. В общем, кодер (наборщик кода) нужен был! Но ситуацию уже не остановить, форум разделился. С одной стороны напирали «модеры», причем каждый понял это слово по-своему, например, модераторы, 3D-моделеры плюс те, кто занимается изготовлением модов (дополнений) к известным компьютерным играм и так далее, с другой — кодеры. Куда человек спешил, спрашивается?
Вообще, спешка и неграмотность заметна не только в обычной жизни, но и в тех же кодах, конечных продуктах. Психологи говорят, что современный человек, активно пользующийся плодами IT-технологий, обладает рассеянным вниманием и низкой степенью концентрации. Может быть оно и так… Ну, а мы перейдем к теме разработки компьютерных игр и сегодня поговорим о важных и полезных для разработчика утилитах, причем выбраны большей частью бесплатные варианты, которые в некоторых случаях позволяют экономить довольно много денег. Вообще, этот выпуск можно было бы назвать так: «На чем можно сэкономить в геймдеве».
Бесплатная библиотека кодов для Flash — FlashPunk
(http://flashpunk.net/)
Наверное, самый популярный конструктор для создания компьютерных игр — это среда Adobe Flash. Язык ActionScript, особенно во второй версии, очень легок в освоении, на третью перейти довольно легко, хотя сейчас актуальны оба варианта.
В принципе, если раньше для обучения фактически всегда использовался Бейсик с постепенным переходом на Паскаль (это можно встретить и сейчас), то сегодня ActionScript отлично подходит в качестве языка программирования начального уровня. И если вы интересуетесь геймдевом, то начинать лучше либо с него, либо с C#. По ActionScript я всегда рекомендую стартовать с книги Дмитрия Гурского, а дальше вы можете со всем освоиться самостоятельно, используя справочные ресурсы Интернета.
Что касается создания компьютерных игр, то в силу легкости программирования фаза разработки занимает небольшой период времени (гораздо больше уходит на качественное рисование). При этом можно стартовать проект с нуля, а можно воспользоваться и сторонними кодами.
Одну из самых популярных полностью бесплатных(!) библиотек предлагает Chevy Ray Johnston сотоварищи на сайте http://flashpunk.net. Там вы можете найти уже библиотеку FlashPunk, содержащую коды для многих составных частей 2D-игр, среди которых стоит выделить:
. Специфические объекты рисования, реализация полноценной работы с пикселями и прямоугольниками.
. Работа с частицами.
. Реализация системы столкновений, расширенная система движений по прямым и изогнутым траекториям.
. Вспомогательные классы анимации, тайловых карт, фонов, текста, спрайтов и других элементов.
. Управление клавиатурой и мышью.
. Звук.
. Работа с XML.
. И многое другое…
Все подразумевает ActionScript 3.0. Текущая версия FlashPunk — 1.4, причем развитие направления идет довольно стремительными темпами, потому как на библиотеку обратило внимание множество пользователей. Кстати, не только по причине бесплатности и популярности темы. Дело в том, что сама IDE Flash является коммерческим продуктом, требующим лицензирования и, соответственно, оплаты. Такое могут себе позволить далеко не все. Но если вы в этой среде создаете коммерческие продукты, то необходимо эту лицензию иметь.
В то же время набор FlashPunk разработан таким образом, что может использоваться со свободной библиотекой Flex, а для работы с кодом можно взять FlashDevelop или Flash Builder. Вообще, весь инструментарий для создания коммерческих приложений на основе бесплатных продуктов на сайте имеется. Также есть много подробной документации, пошаговых руководств, уже созданных игр.
Кстати, данная библиотека может пригодиться не только разработчикам игр, но и профессионалам, делающим баннеры во Flash. Сейчас в моде интерактивные варианты с программированием, наличием спрайтов, отслеживания событий мыши и так далее. То есть, по существу, это мини-игры начального уровня. Библиотека FlashPunk может помочь в их создании.
Что касается самих кодов и стиля их написания, то стоит отметить высокую степень ясности и хорошее документирование. Правда, новичкам этот вариант не совсем подойдет, потому как, во-первых, ActionScript 3, во-вторых, много специфической информации, понятной уже опытным девелоперам и, вообще, тем, кто знает, что такое классы и так далее.
Впрочем, если вы находитесь в стадии разработки и вам срочно нужен какой-то отдельный класс, например, на основе которого реализуется спрайтовая анимация, то просто находите нужный подраздел и делаете Ctrl+C/Ctrl+V.
Allegro Sprite Editor (ASE)
(www.aseprite.org)
Анимированные спрайты используются в львиной части игр, особенно, если речь заходит о 2D. Бесплатная программа Allegro Sprite Editor (ASE) специализируется на их создании. Последняя версия 0.8.1 beta датируется 13 августа 2010 года. Стоит отметить, что спрайты можно эффективно делать во многом ПО, включая даже Paint из стандартного комплекта Windows. Но многие вообще не имеют представления, как (!) это делать. А в ASE все специально подобрано, плюс ко всему в блоге есть разъяснения по ключевым принципам работы. Я опробовал эту программу, создав спрайт из анимации 3D-модели, все получается довольно быстро, интерфейс удобен.
Причем нужно пояснить один существенный момент. Дело в том, что есть рынок спрайтов, большинство из которых являются коммерческими продуктами, то есть без покупки вы их не можете использовать легально. Существуют и бесплатные библиотеки, а также сайты, которые специализируются на этом вопросе, давая свободный доступ к множеству уже готовых решений. Но, на самом деле, хороших вариантов в таком случае довольно мало, а если они есть, то используются повсеместно. Существует такая вещь, как лень, и люди вместо того, чтобы создать что-то свое, например, спрайт, содержащий 100 кадров движения:) (бывает и больше), качают из Интернета. Кстати, при условиях бесплатного скачивания вы не застрахованы от того, что вам дают нелицензионный коммерческий продукт.
В помощь композиторам — Automated Composing System (ACS)
(www.mu-tech.co.jp/English/Product/acs.html)
Что уж тут скрывать, в разработках игр с ограниченным бюджетом на композиторах стараются экономить. Конечно, можно скачать известную композицию и вставить ее в программу, но может возникнуть вопрос авторских прав. Японская shareware разработка Automated Composing System (ACS) ($35) является неким подобием электронной замены композиторской деятельности. То есть вы можете просто указать музыкальный стиль, и в случайном режиме вам сгенерируется мелодия, при желании — с аранжировкой. Причем поддерживается вариант и переаранжировки под другой музыкальный стиль, если у вас имеется какой-нибудь MIDI-файл.
Что интересно, программа стала интересна не только разработчикам игр, но и самим композиторам, одолеваемым постоянными муками творчества, а также как вариант — для генерации уникальных мелодий для рингтонов мобильных телефонов. То есть спектр применения довольно велик. Что интересно, я встречал несколько подобных разработок, и они не очень устраивали тем, что многие мелодии были слишком похожи, в данном случае случайный режим генерации работает чуть лучше.
А в целом, очень неплохое подспорье, особенно для казуалов. Правда, если вы занимаетесь разработками хорошего уровня, то MIDI-файлы все равно нужно специально озвучивать, вставляя туда профессиональные инструменты и так далее.
XEN
(http://xen.codeplex.com)
Мы уже рассказали об одном из самых популярных игровых конструкторов Adobe Flash, при этом упомянули, что для начального уровня создания компьютерных игр лучше всего стартовать или с изучения ActionScript, или с C#. Для последнего языка у новичков есть своя среда разработки- конструктор, многим известная, называется XNA Game Studio. В ее рамках используется классический вариант работы над созданием 2D/3D-игровых проектов с использованием DirectX (в XNA имеется его облегченный вариант). И, вообще, в момент своего появления эта среда-конструктор рассчитывалась для студентов, которые впоследствии захотят связать свою жизнь с геймдевом и разработкой игр топ-класса. Есть множество уроков и так далее, в общем, осваивается все довольно легко, учитывая и тот момент, что C# является простым высокоуровневым языком. Продукты на XNA делаются как для РС, так и для игровых консолей XboX.
XEN — это дополнение для XNA, представляющий собой графический API, имеющий библиотеки расширения для работы с частицами, анимированными моделями, плюс множество полезных дополнительных классов. Скачивается бесплатно (12 Мб), есть 28 подробных уроков.
Для сборки «студии разработки» вам понадобится Visual C# одной из различных комплектаций, XNA Game Studio и непосредственно XEN. Сама XNA платна, хотя для учащихся и бизнесменов Microsoft раньше предусматривала специальные программы, облегчающие коммерческую сторону вопроса, возможно, они есть и сейчас (нужно отслеживать).
Ogmo Editor
(http://ogmoeditor.com)
Ogmo Editor — это специальный редактор уровней для 2D-игр, работающий в формате Adobe AIR. Автор проекта делал свою собственную игру, создав эту небольшую вспомогательную утилиту, а потом подумал, что она могла бы показаться полезной и остальным разработчикам.
В принципе, если не обращать внимания на AIR, а смотреть на данное приложение с точки полезности общего порядка, то ситуация должна заинтересовать многих. Дело в том, что в рамках Ogmo есть визуальный редактор, в котором все объекты устанавливаются в режиме drag’n’drop. Но все, что используется (тайлсеты, объекты, слои и настройки) сохраняется и содержится в XML-файлах, которые тоже можно, кстати, поправлять и смотреть на результаты.
В принципе, XML может читаться любой средой разработки, а такая небольшая утилитка, как Ogmo Editor, позволяет весьма оперативно создавать уровни.
Inno Setup Compiler
(www.innosetup.com)
Прекрасная, а главное, полезная бесплатная утилита для создания установочных дистрибутивов в виде файлов с расширением *.EXE. Имеется большое количество различных функций настройки, и помимо того, что есть собственный скриптовый язык (очень несложный) плюс много документации к нему, предусмотрен автоматический мастер, не требующий особых навыков. При этом мы говорим о создании полноценного установочного файла (а не самораспаковывающегося архива). А именно, можно определить все записи системного реестра, добавить пиктограмму программы в панель «Пуск» после ее установки, реализован корректный вариант Uninstall. В общем, здесь вообще собрано все, что необходимо. А сама программа «весит» всего 1,4 Мб.
MAPZone
(www.mapzoneeditor.com)
Бесплатная французская программа, аналоги которой стоят выше $100, а также входят в известные коммерческие игровые движки. Речь идет о профессиональном редакторе высококачественных текстур. Здесь можно создавать и редактировать все что угодно на различных уровнях сложности, создавать отдельные diffuse, specular, bump и т.п. карты. В общем, великолепный продукт для всех, кто связан с 3D-моделированием.
Кристофер http://itcs.3dn.ru
Конечно, самый большой перл из присланных недавно — это: «Я нажимаю Save Ass…, и ничего не происходит!». Интересно, в какой это такой некультурной программе слово «As» пишется с двумя «s». И, вообще, что и где этот человек нажимал? Хотя, может, он имел что-то аллегоричное, например, поэтически подразумевал фразу «избегать неприятностей» или что-то в этом роде?
Вот со старшими как-то легче, я бы сказал, язык у них понятнее. Чувствуется некоторая неторопливость, продуманность мыслей. Молодежь, она — наоборот. Например, некий персонаж на одном из форумов написал: «Собирается команда для создания MMORPG, нужен модер». Через пару постов (сообщений) поправился, сказав, что сделал опечатку в слове «кодер», хотя ошибок в тексте там было много и без этого. В общем, кодер (наборщик кода) нужен был! Но ситуацию уже не остановить, форум разделился. С одной стороны напирали «модеры», причем каждый понял это слово по-своему, например, модераторы, 3D-моделеры плюс те, кто занимается изготовлением модов (дополнений) к известным компьютерным играм и так далее, с другой — кодеры. Куда человек спешил, спрашивается?
Вообще, спешка и неграмотность заметна не только в обычной жизни, но и в тех же кодах, конечных продуктах. Психологи говорят, что современный человек, активно пользующийся плодами IT-технологий, обладает рассеянным вниманием и низкой степенью концентрации. Может быть оно и так… Ну, а мы перейдем к теме разработки компьютерных игр и сегодня поговорим о важных и полезных для разработчика утилитах, причем выбраны большей частью бесплатные варианты, которые в некоторых случаях позволяют экономить довольно много денег. Вообще, этот выпуск можно было бы назвать так: «На чем можно сэкономить в геймдеве».
Бесплатная библиотека кодов для Flash — FlashPunk
(http://flashpunk.net/)
Наверное, самый популярный конструктор для создания компьютерных игр — это среда Adobe Flash. Язык ActionScript, особенно во второй версии, очень легок в освоении, на третью перейти довольно легко, хотя сейчас актуальны оба варианта.
В принципе, если раньше для обучения фактически всегда использовался Бейсик с постепенным переходом на Паскаль (это можно встретить и сейчас), то сегодня ActionScript отлично подходит в качестве языка программирования начального уровня. И если вы интересуетесь геймдевом, то начинать лучше либо с него, либо с C#. По ActionScript я всегда рекомендую стартовать с книги Дмитрия Гурского, а дальше вы можете со всем освоиться самостоятельно, используя справочные ресурсы Интернета.
Что касается создания компьютерных игр, то в силу легкости программирования фаза разработки занимает небольшой период времени (гораздо больше уходит на качественное рисование). При этом можно стартовать проект с нуля, а можно воспользоваться и сторонними кодами.
Одну из самых популярных полностью бесплатных(!) библиотек предлагает Chevy Ray Johnston сотоварищи на сайте http://flashpunk.net. Там вы можете найти уже библиотеку FlashPunk, содержащую коды для многих составных частей 2D-игр, среди которых стоит выделить:
. Специфические объекты рисования, реализация полноценной работы с пикселями и прямоугольниками.
. Работа с частицами.
. Реализация системы столкновений, расширенная система движений по прямым и изогнутым траекториям.
. Вспомогательные классы анимации, тайловых карт, фонов, текста, спрайтов и других элементов.
. Управление клавиатурой и мышью.
. Звук.
. Работа с XML.
. И многое другое…
Все подразумевает ActionScript 3.0. Текущая версия FlashPunk — 1.4, причем развитие направления идет довольно стремительными темпами, потому как на библиотеку обратило внимание множество пользователей. Кстати, не только по причине бесплатности и популярности темы. Дело в том, что сама IDE Flash является коммерческим продуктом, требующим лицензирования и, соответственно, оплаты. Такое могут себе позволить далеко не все. Но если вы в этой среде создаете коммерческие продукты, то необходимо эту лицензию иметь.
В то же время набор FlashPunk разработан таким образом, что может использоваться со свободной библиотекой Flex, а для работы с кодом можно взять FlashDevelop или Flash Builder. Вообще, весь инструментарий для создания коммерческих приложений на основе бесплатных продуктов на сайте имеется. Также есть много подробной документации, пошаговых руководств, уже созданных игр.
Кстати, данная библиотека может пригодиться не только разработчикам игр, но и профессионалам, делающим баннеры во Flash. Сейчас в моде интерактивные варианты с программированием, наличием спрайтов, отслеживания событий мыши и так далее. То есть, по существу, это мини-игры начального уровня. Библиотека FlashPunk может помочь в их создании.
Что касается самих кодов и стиля их написания, то стоит отметить высокую степень ясности и хорошее документирование. Правда, новичкам этот вариант не совсем подойдет, потому как, во-первых, ActionScript 3, во-вторых, много специфической информации, понятной уже опытным девелоперам и, вообще, тем, кто знает, что такое классы и так далее.
Впрочем, если вы находитесь в стадии разработки и вам срочно нужен какой-то отдельный класс, например, на основе которого реализуется спрайтовая анимация, то просто находите нужный подраздел и делаете Ctrl+C/Ctrl+V.
Allegro Sprite Editor (ASE)
(www.aseprite.org)
Анимированные спрайты используются в львиной части игр, особенно, если речь заходит о 2D. Бесплатная программа Allegro Sprite Editor (ASE) специализируется на их создании. Последняя версия 0.8.1 beta датируется 13 августа 2010 года. Стоит отметить, что спрайты можно эффективно делать во многом ПО, включая даже Paint из стандартного комплекта Windows. Но многие вообще не имеют представления, как (!) это делать. А в ASE все специально подобрано, плюс ко всему в блоге есть разъяснения по ключевым принципам работы. Я опробовал эту программу, создав спрайт из анимации 3D-модели, все получается довольно быстро, интерфейс удобен.
Причем нужно пояснить один существенный момент. Дело в том, что есть рынок спрайтов, большинство из которых являются коммерческими продуктами, то есть без покупки вы их не можете использовать легально. Существуют и бесплатные библиотеки, а также сайты, которые специализируются на этом вопросе, давая свободный доступ к множеству уже готовых решений. Но, на самом деле, хороших вариантов в таком случае довольно мало, а если они есть, то используются повсеместно. Существует такая вещь, как лень, и люди вместо того, чтобы создать что-то свое, например, спрайт, содержащий 100 кадров движения:) (бывает и больше), качают из Интернета. Кстати, при условиях бесплатного скачивания вы не застрахованы от того, что вам дают нелицензионный коммерческий продукт.
В помощь композиторам — Automated Composing System (ACS)
(www.mu-tech.co.jp/English/Product/acs.html)
Что уж тут скрывать, в разработках игр с ограниченным бюджетом на композиторах стараются экономить. Конечно, можно скачать известную композицию и вставить ее в программу, но может возникнуть вопрос авторских прав. Японская shareware разработка Automated Composing System (ACS) ($35) является неким подобием электронной замены композиторской деятельности. То есть вы можете просто указать музыкальный стиль, и в случайном режиме вам сгенерируется мелодия, при желании — с аранжировкой. Причем поддерживается вариант и переаранжировки под другой музыкальный стиль, если у вас имеется какой-нибудь MIDI-файл.
Что интересно, программа стала интересна не только разработчикам игр, но и самим композиторам, одолеваемым постоянными муками творчества, а также как вариант — для генерации уникальных мелодий для рингтонов мобильных телефонов. То есть спектр применения довольно велик. Что интересно, я встречал несколько подобных разработок, и они не очень устраивали тем, что многие мелодии были слишком похожи, в данном случае случайный режим генерации работает чуть лучше.
А в целом, очень неплохое подспорье, особенно для казуалов. Правда, если вы занимаетесь разработками хорошего уровня, то MIDI-файлы все равно нужно специально озвучивать, вставляя туда профессиональные инструменты и так далее.
XEN
(http://xen.codeplex.com)
Мы уже рассказали об одном из самых популярных игровых конструкторов Adobe Flash, при этом упомянули, что для начального уровня создания компьютерных игр лучше всего стартовать или с изучения ActionScript, или с C#. Для последнего языка у новичков есть своя среда разработки- конструктор, многим известная, называется XNA Game Studio. В ее рамках используется классический вариант работы над созданием 2D/3D-игровых проектов с использованием DirectX (в XNA имеется его облегченный вариант). И, вообще, в момент своего появления эта среда-конструктор рассчитывалась для студентов, которые впоследствии захотят связать свою жизнь с геймдевом и разработкой игр топ-класса. Есть множество уроков и так далее, в общем, осваивается все довольно легко, учитывая и тот момент, что C# является простым высокоуровневым языком. Продукты на XNA делаются как для РС, так и для игровых консолей XboX.
XEN — это дополнение для XNA, представляющий собой графический API, имеющий библиотеки расширения для работы с частицами, анимированными моделями, плюс множество полезных дополнительных классов. Скачивается бесплатно (12 Мб), есть 28 подробных уроков.
Для сборки «студии разработки» вам понадобится Visual C# одной из различных комплектаций, XNA Game Studio и непосредственно XEN. Сама XNA платна, хотя для учащихся и бизнесменов Microsoft раньше предусматривала специальные программы, облегчающие коммерческую сторону вопроса, возможно, они есть и сейчас (нужно отслеживать).
Ogmo Editor
(http://ogmoeditor.com)
Ogmo Editor — это специальный редактор уровней для 2D-игр, работающий в формате Adobe AIR. Автор проекта делал свою собственную игру, создав эту небольшую вспомогательную утилиту, а потом подумал, что она могла бы показаться полезной и остальным разработчикам.
В принципе, если не обращать внимания на AIR, а смотреть на данное приложение с точки полезности общего порядка, то ситуация должна заинтересовать многих. Дело в том, что в рамках Ogmo есть визуальный редактор, в котором все объекты устанавливаются в режиме drag’n’drop. Но все, что используется (тайлсеты, объекты, слои и настройки) сохраняется и содержится в XML-файлах, которые тоже можно, кстати, поправлять и смотреть на результаты.
В принципе, XML может читаться любой средой разработки, а такая небольшая утилитка, как Ogmo Editor, позволяет весьма оперативно создавать уровни.
Inno Setup Compiler
(www.innosetup.com)
Прекрасная, а главное, полезная бесплатная утилита для создания установочных дистрибутивов в виде файлов с расширением *.EXE. Имеется большое количество различных функций настройки, и помимо того, что есть собственный скриптовый язык (очень несложный) плюс много документации к нему, предусмотрен автоматический мастер, не требующий особых навыков. При этом мы говорим о создании полноценного установочного файла (а не самораспаковывающегося архива). А именно, можно определить все записи системного реестра, добавить пиктограмму программы в панель «Пуск» после ее установки, реализован корректный вариант Uninstall. В общем, здесь вообще собрано все, что необходимо. А сама программа «весит» всего 1,4 Мб.
MAPZone
(www.mapzoneeditor.com)
Бесплатная французская программа, аналоги которой стоят выше $100, а также входят в известные коммерческие игровые движки. Речь идет о профессиональном редакторе высококачественных текстур. Здесь можно создавать и редактировать все что угодно на различных уровнях сложности, создавать отдельные diffuse, specular, bump и т.п. карты. В общем, великолепный продукт для всех, кто связан с 3D-моделированием.
Кристофер http://itcs.3dn.ru
Компьютерная газета. Статья была опубликована в номере 37 за 2010 год в рубрике soft