Для разработки: 3D-игр.
11 доступных движков для тех, кто хочет начать создавать свои игры
Инструменты и ресурсы для разработки игр становятся все более доступными для всех, даже если у вас нет опыта программирования. Часто эти инструменты также доступны бесплатно. Вот список из 11 игровых движков / редакторов. Он облегчит задачу тем, кто хочет начать создавать игры.
Фото: instabug.com
Некоторые из них предназначены для определенного жанра игры и могут быть невероятно легкими для новичков. Другие являются профессиональными инструментами разработки AAA-игр, но они по сути бесплатны для любителей и по-прежнему предлагают множество средств обучения, которые помогут тем, у кого есть некоторый опыт программирования.
Конечно, в разработку игр входит множество вещей: музыка, анимация, работа со звуком и текстом, текстурирование, моделирование и т. д. Однако выбранный вами движок / редактор игры окажет наибольшее влияние на то, какого рода проект получится в итоге.
В следующем окне нас спросят, для каких платформ Вы планируете выпуск своей игры. По умолчанию выбраны все доступные ОС (Windows, Linux, Mac), однако Вы можете снять флажки и оставить, например, игру только «под Винду» :). После этого нам останется только нажать кнопку «Выпуск игры» и дождаться, пока будет создан архив с ней. Этот архив Вы найдете рядом с рабочей папкой игры.
Renpy 6.16
Одна из немногочисленных программ, предназначенных для создания визуальных новелл. Она позволяет добавлять в повествование разнообразные мультимедийные вставки (музыку видео и даже мини-игры). Единственное, чего в ней нет, так это визуального редактора для правки игры — все делается в блокнотоподобном редакторе при помощи специального скриптового языка.
Начну, как всегда, издалека, чтобы Вы прониклись идеей поглубже :)))
Было это в далеких 90-х, когда о компьютерах в каждом доме еще и не мечтали :))) Попался как-то мне в руки (тогда еще пяти- или четверокласснику) один журнал… Сам журнал я уже даже не помню, но в памяти крепко засело дополнение к нему! А называлось оно незамысловато: «История-квест».
Вся история помещалась на 30 страничках печатного текста формата А5. Эти странички нужно было разрезать и сшить в нужной последовательности, после чего можно было начинать чтение…
Вся суть истории была в том, что сюжет ее развивался в зависимости от Вашего же личного выбора! По сути, Вы становились как бы главным героем повествования и от того, что Вы предпочтете сделать в тот или иной момент, зависела концовка истории! То есть, дочитав, до конца очередную страничку, Вы должны были выбрать, одно из доступных действий и, в зависимости от этого, перейти к чтению указанной страницы.
Таким образом, начало у книжки было одно общее, а дойдете ли Вы до хеппиэнда, зависело уже от Вас!
В то время мы с товарищами зачитали книжку до дыр (в буквальном смысле слова :))). Кто-то из нас даже пытался придумать свои квесты. И вот спустя уже столько лет мне встретилась программа, позволяющая создавать подобные игры, но уже на компьютере!
Зовется она Renpy (а, если быть уж совсем точным, то Ren’Py) и предназначена для создания визуальных новелл (или визуальных романов, если переводить с английского более точно).
Что такое визуальная новелла?
Визуальная новелла – это компьютерная игра-квест, которая представляет из себя повествование в картинках с несколькими персонажами (они накладываются на фон в виде спрайтов), реплики которых и раскрывают сюжетную линию. Сама же сюжетная линия, как и в прочих текстовых квестах, имеет несколько ответвлений, переход на которые зависит от выбора игрока!
По сути, это нечто вроде комикса, но, во-первых, здесь реплики персонажей обычно прописываются внизу экрана (а не в «облачках», как в классических комиксах), а, во-вторых, игрок, как уже неоднократно подчеркивалось, может влиять на ход игры, делая свой выбор в тех или иных ситуациях.
Данный жанр компьютерных игр чаще всего связывают с аниме и мангой, поскольку зародились визуальные новеллы именно в Стране Восходящего Солнца, где эти стили являлись наиболее популярными. Однако это не канон, поскольку Вы сами создаете свою игру с нуля и вольны решать, как она будет выглядеть!
Коротко о том, как создаются игры в Renpy
Если Вы уже вдохновились на «великие подвиги» и решили сделать «супер-мега игру», то поспешу Вас немного разочаровать… Дело в том, что в Renpy – не визуальный редактор.
Это значит, что игру придется писать вручную при помощи специального скриптового языка, базирующегося на Python’е. Правда, язык не слишком сложный и при должном усердии Вы его осилите за пару дней (не весь, конечно, но базовые функции).
И да! Рисунки для игры придется делать в отдельном графическом редакторе, поскольку таковых в Renpy нет…
Если Вы все еще не передумали создавать свою игру, и изучение нового скриптового языка Вас не пугает, тогда дальнейшая моя статья с примером игры, надеюсь, станет для Вас хорошей подсказкой в освоении Renpy.
Начало работы с программой
Для начала работы с программой Вам нужно скачать архив с ней на свой ПК и распаковать его в любую удобную для Вас папку. В архиве, помимо самой папки с программой, Вы найдете папку «Bonus» с парой русскоязычных мануалов по Renpy, которые могут Вам пригодиться при освоении скриптового языка, а также исходники созданной мною игры, которую я опишу ниже.
После распаковки из архива, Renpy уже готова к использованию, поэтому зайдем в одноименную папку и запустим программу при помощи файла renpy.exe. Перед Вами появится окно Центра Управления:
Данное окно состоит из двух разделов: в верхней части располагаются пункты для управления текущим выбранным проектом (по умолчанию «Demo»), а в нижней – меню самой программы (пункты, идущие после заголовка «Renpy»).
Для начала предлагаю запустить демо-игру, которая ознакомит нас практически со всеми возможностями Renpy. Для этого нажмем кнопку «Запуск» в меню игры «Demo»:
Миловидная девушка в стиле аниме проведет Вам экскурсию по всем возможностям программы Renpy. Для навигации по кадрам игры используется обычный левый клик мышью. Он также служит для выбора нужного пункта в меню игры. Клавиатурой же мы практически не пользуемся (разве, что если в игре предусмотрен ввод каких-либо данных, например, Вашего имени).
Начало создания собственной игры
Если Вы уже ознакомились с демо-игрой, и желание творить Вас не покинуло, тогда приступим к созданию собственной визуальной новеллы.
Я решил создать игру-обучалку для маленьких школьников, помогающую им запомнить таблицу умножения на 2 :). Главный герой моей игры – Пикачу, а сюжет будет крутиться, естественно, вокруг дуэли с другим покемоном, для победы над которым нужно знать таблицу умножения на 2 :). Итак, приступим…
Первым делом нам нужно вернуться в Центр Управления и нажать там кнопку «Новый проект». Нам будет сначала предложено ввести название нашей игры. Я ввел первое, что пришло на ум – «PikaPikaBum» :). Данное название никак не влияет на ход самой игры.
После ввода названия проекта, нам нужно будет выбрать тему оформления для диалоговых окон и интерфейса игры вообще:
Внешний вид темы в окошке справа мы увидим при наведении мыши на название темы в списке слева. Применить же понравившееся оформление можно по клику мыши (впоследствии Вы сможете поменять тему в любой момент в Центре Управления в меню «Выбор темы»).
Спустя пару секунд после создания нужных для игры ресурсов, Renpy перенаправит Вас в Центр Управления, но теперь вверху будет не демонстрационная игра, а Ваша собственная!
Запустить ее Вы можете уже сейчас, но в ней кроме стандартных меню и предустановленных реплик пока ничего нет:
Правка опций игры
Сейчас мы видим только, так сказать, вершину «айсберга» (то есть, внешнюю оболочку игры). Остальная же его часть (то есть, все содержимое, которое мы и будем править) скрыта от нас в папке, в которую можно попасть, нажав в Центре Управления пункт «Папка игры»:
По умолчанию здесь находится 6 файлов, в двух из которых и хранится вся возможная информация об игре. В файле «options.rpy» хранятся настройки внешнего вида и темы Вашей визуальной новеллы. В файле же с именем «script.rpy» мы будем прописывать весь сюжет игры.
Открыть эти файлы для правки можно в любом Блокноте, но лучше воспользоваться встроенным текстовым редактором с подсветкой синтаксиса Renpy. Запустить его можно, нажав в Центре Управления пункт «Правка скрипта»:
Откроется окно редактора, в котором будет две вкладки (как в браузере) с обоими нужными нам файлами. При помощи кнопок на панели инструментов можно разделить вид окна на две части, и открыть оба файла для просмотра одновременно (см. скриншот выше)!
Предлагаю сразу обратить внимание на файл options.rpy. Если Вы знаете английский и хотя бы немного разбираетесь в программировании (даже на уровне HTML), то здесь Вы найдете много полезного, что поможет Вам полностью персонализировать внешний вид Вашей игры. Я же хочу обратить внимание на несколько самых основных параметров:
- Строчка «config.window_title = u«Игра на основе Ren’Py»» (см. скриншот выше) позволяет задать заголовок окна Вашей игры (это слева от кнопок «Свернуть», «Развернуть» и «Закрыть»). Сюда Вы можете вписать название Вашей визуальной новеллы. Обратите внимание, что здесь и далее перед строчкой на русском языке Вам нужно ставить английскую букву «u»;
- Если ниже приписать строчку «config.windows_icon», то с ее помощью можно задать иконку игры, которая будет отображена слева от заголовка окна;
- Строка «mm_root» задает фон главного меню игры. Задавать фон можно в виде картинки или же определенного цвета в формате RGB (см. скриншот ниже);
- Строка «gm_root» позволяет указать фон игровых диалоговых окон. Формат данных – тот же, что и в предыдущей строке:
Как я уже говорил, в опциях можно поправить хоть и все параметры, но основные из них мы рассмотрели, поэтому будем считать, что знакомство с настройками у нас состоялось успешно :). Теперь давайте сохраним настройки и перейдем к правке непосредственно сценария игры.
Объявление спрайтов и персонажей игры
Каждый сценарий игры в Renpy должен начинаться со служебной части «init:»:
Здесь мы должны объявить все изображения и персонажей, которые будут использованы в Вашей игре (кроме тех фонов, которые Вы уже указали в настройках).
Объявление картинки (и видео) происходит довольно просто:
- Вначале Вы указываете тип данных (image);
- Затем через пробел псевдоним картинки (или видео), по которому Вы сможете ее вызвать в игре (любое название на английском);
- Приравниваем все это к названию реального изображения в кавычках (желательно в формате .png /.png (с альфаканалом – для спрайтов персонажей) или .jpg (для фонов)).
Обратите внимание, что для удобства псевдонимы фонов лучше предварять пометкой «bg».
Когда все изображения объявлены, под ними прописывается список персонажей:
- Первым делом ставится значок «$». Этим Вы указываете программе, что Вы создаете персонажа;
- Далее через пробел прописывается псевдоним персонажа для вызова его в игре;
- Все это приравнивается к служебному слову «Character», после которого в скобках идет следующая информация:
- имя персонажа, которое будет выводиться над репликой, в одинарных кавычках (если имя на русском, не забываем дописывать перед ним символ «u»);
- цвет имени персонажа (задается как в HTML: color = «#RGB»).
На этом предварительная часть игры закончена. Но перед тем, как приступить к разбору дальнейшего кода, хочу обратить Ваше внимание на то, что скриптовый язык Renpy иерархичен!
На практике это означает, что все данные, относящиеся к одному и тому же разделу, сцене, блоку должны иметь одинаковый отступ от левого края окна редактора. Как говориться: «Шаг вправо, шаг влево – расстрел!», – то есть, ошибка кода. Поэтому будьте внимательны.
Написание сценария
Для написания сценария мы используем сцены и меню:
Сцена всегда начинается с названия, которое задается служебным словом «label». Сцену (если она не вложена в другую сцену) лучше всего начинать писать с самого края окна (слева) без отступа. После названия сцены всегда ставится двоеточие!
Следующей строчкой всегда задают фон сцены. Для этого прописывают служебное слово «scene», после которого указывают псевдоним нужного изображения. Фон сцены и все последующие ее элементы (реплики, функции, переходы и т.д.) прописывают с отступом (лучше всего, сделанного кнопкой «TAB»).
После фона добавляются персонажи. Их появление задается служебным словом «show». Для скрытия же нужного героя используют слово «hide». Синтаксис здесь простой: сначала указывается служебное слово, а затем через пробел псевдоним спрайта персонажа (то есть нужной картинки).
Для параметра «show» можно задать место, в котором будет отображен наш герой при помощи слова «at». По умолчанию положение спрайта персонажа определяется как «center», что выравнивает картинку по нижнему краю окна и по центру. Если же нужно, чтобы наш герой отображался в центральной точке экрана (как это сделано в нашей тестовой игре), то Вам нужен другой параметр – «truecenter».
Также позицию можно задавать при помощи произвольных координат. Для этого после псевдонима спрайта персонажа мы прописываем «at Position», после чего в скобках задаем нужные параметры:
- xpos – позиция по горизонтали (задается в пикселях или десятых долях игрового экрана);
- ypos – позиция по вертикали (единицы измерения те же);
- xanchor и yanchor – якоря привязки изображения-спрайта по горизонтали и вертикали соответственно (точка, которая будет считаться центром изображения);
- xalign /yalign – выравнивание по горизонтали/вертикали.
Последнее, что касается работы с персонажами – это эффекты их появления и исчезания. Для добавления эффекта в самом конце строчки описания героя (после отметки его позиции) прописывается служебное слово «with», после которого следует указать любой из возможных вариантов их отображения. Все варианты Вы можете посмотреть в демо-игре.
После указания всех визуальных параметров можно приступать к написанию непосредственно реплик. Реплики могут быть как персонализированные, так и не принадлежащие никому из героев игры.
Реплика в Renpy всегда пишется в кавычках. Если перед кавычками поставить псевдоним персонажа (указан перед «Character»), то над репликой появится имя нужного нам героя. Если же оставить строчку без дополнительных параметров, то фраза не будет принадлежать никому.
Структура меню и переходы к нужным сценам
Для создания ситуации выбора дальнейшего развития сюжета в Renpy используется система меню. Меню входит в структуру сцены (то есть, начинается с табуляции) и содержит ряд кнопок, которые могут быть нажаты пользователем.
Меню имеет собственную иерархию. Это означает, что все пункты табулируются уже от строки инициализации меню. Сама же структура следующая:
- Служебное слово «menu:» задает новое меню в текущей сцене. Меню обязательно должно принадлежать сцене, то есть начинаться с отступа, как и реплики. В конце не забываем ставить двоеточие;
- Вторым обязательным компонентом меню является кнопка с вариантом ответа (то есть, пункт меню). Кнопка – это слово (или несколько слов), заключенное в кавычки и написанное с отступом относительно надписи «menu:»;
- Если мы хотим, чтобы во время показа меню внизу у нас отображалась еще и реплика персонажа, то ее нужно поместить перед первым пунктом меню (см. скриншот выше). От пункта она будет отличаться только тем, что перед словами в кавычках у нас будет находиться псевдоним нужного нам персонажа, которому принадлежит данная реплика;
- Дополнительные действия и реплики, которые появляются после нажатия на кнопку меню прописываются с табуляцией относительно того пункта меню, которому они принадлежат.
К дополнительным действиям также относится функция перехода к нужной сцене. С ее помощью, посредством меню, мы можем создавать неограниченно долго ветвящиеся сценарии. Обычно сцены в Renpy следуют друг за другом в той очередности, в которой они прописаны в сценарии, однако, если нам нужно «перескочить» на произвольную сцену и продолжить повествование с нее, мы можем воспользоваться командой «jump».
После команды нам остается только добавить название сцены, на которую нам нужно попасть и все 🙂
При помощи меню можно создавать довольно сложные эффекты. Например, в своей игре я использовал только меню(!), чтобы организовать систему боя покемонов! Вот, что у меня вышло в итоге 🙂
Немного наивно, но, тем не менее, красочно :). И, учтите, что сделано это было за один день!
Выпуск игры
После того, как Вы закончите создавать свою игру, и она будет полностью работоспособной, Вы можете выпустить ее в свет! Для этого Вам нужно зайти в Центр Управления Renpy и кликнуть пункт «Выпуск игры»:
Запустится функция проверки Вашей игры на ошибки, после чего (если ошибок не будет обнаружено – читаем отчет lint.txt), Вам предложат продолжить создание игры. Естественно, нажимаем «Да»:
В следующем окне нас спросят, для каких платформ Вы планируете выпуск своей игры. По умолчанию выбраны все доступные ОС (Windows, Linux, Mac), однако Вы можете снять флажки и оставить, например, игру только «под Винду» :). После этого нам останется только нажать кнопку «Выпуск игры» и дождаться, пока будет создан архив с ней. Этот архив Вы найдете рядом с рабочей папкой игры.
Готовый архив с игрой Вы можете распространять, как Вам заблагорассудится. Можете выложить его в Сеть для всеобщего доступа, можете раздавать в торрентах, а можете записать на диск и продавать игру в переходах :).
Достоинства и недостатки программы
Плюсы:
- готовый бесплатный движок для создания визуальных новелл;
- широкий функционал;
- довольно простой в освоении скриптовый язык;
- возможность выпуска коммерческих игр;
- поддержка русского языка.
Минусы:
- нет графического интерфейса для правки игр;
- нет вменяемого руководства с описанием всех встроенных функций программы;
- для работы с файлом настроек требуются знания английского и HTML.
Выводы
Renpy, в отличие от других конструкторов игр, не имеет графического режима работы с проектом! Хорошо это или плохо? С одной стороны, конечно же плохо :(. Намного проще было бы, если бы была возможность настраивать все сцены в визуальном режиме. Однако, с другой стороны, программа учит нас с Вами, что без труда, ни сюда, ни туда :)))
Пусть это и не полноценное программирование, но все же дает нам возможность посмотреть на процесс создания игры глазами программиста и понять, «как же они это делают» :).
Если Вы полны идей и желания творить, если Вы хотите, чтобы Ваш рассказ (или даже роман) увидел весь свет, то Renpy как раз та программа, которая может дать Вам возможность заявить о себе и своем таланте!
Фото: robertsspaceindustries.com
GAMEMAKER
Кроссплатформенный коммерческий движок для 2D-игр, разработанный YoYo Games. Он использовался для таких игр, как Undertale, Hyper Light Drifter и Minit.
Фото: kanobu.ru
Для разработки: 2D-игр.
Платформы: Windows или macOS.
Языки программирования: Использует собственный язык сценариев, называемый GameMaker Language (GML), и язык визуальных сценариев, называемый Drag and Drop (DnD).
Стоимость: Бесплатная пробная версия на 30 дней, потом нужно купить лицензию за $39 в год.
Обучение: Несколько бесплатных тестовых и видеоуроков, которые охватывают основы. Есть объемные уроки про то, как создавать конкретные жанры игр, такие как пошаговые RPG, Tower Defense и фермы. Есть также ссылки на некоторые внешние сайты и сообщества, в которых есть руководства, помогающие людям начать работу с этой программой.
Очень хорошим тоном является также использование музыкального фона. Хороший сценарий в паре с красивой графикой и приятным музыкальным сопровождением может создать настоящий «Вау-эффект!». К счастью, программа поддерживает огромное количество музыкальных форматов. Среди них: MP2/MP3, WAV, OGG и OPUS. Однако, чаще всего используются лишь первые три.
Движок распространяется по свободной лицензии и может работать не только с Windows, но также и с Linux, Mac OS. Более того, он поддерживает мобильные операционные системы — Android или iOS и может быть запущен на Chromium. Движок имеет довольно простой и понятный конструктор, с которым справляются даже не разбирающиеся в программировании люди. Он позволяет создать уникальную, брендированную игру с собственной графикой, музыкой и сюжетом даже новичку!
Для специалистов в движке предусмотрена возможность подключения своего собственного кода. Такой подходит значительно расширяет функционал RenPy и позволяет выполнять любые скрипты, написанные на Python.
Радует и большой спектр различный медийных файлов, которые поддерживает программа. В своей игре Вы можете с легкостью использовать картинки расширения: PNG, JPEG/JPG, WEBP, BMP или GIF, но только без анимации. Если же перед Вами стоит задача реализовать движущийся бэкграунд или добавить какой-либо видео сюжет, тогда стоит прибегнуть к видео форматам. Среди поддерживаемых кодеков: VP9/VP8, MPEG 1/2/4 и Theora.
Очень хорошим тоном является также использование музыкального фона. Хороший сценарий в паре с красивой графикой и приятным музыкальным сопровождением может создать настоящий «Вау-эффект!». К счастью, программа поддерживает огромное количество музыкальных форматов. Среди них: MP2/MP3, WAV, OGG и OPUS. Однако, чаще всего используются лишь первые три.
Источники
- https://www.computerra.ru/265077/eti-instrumenty-pomogut-vam-nachat-sozdavat-videoigry/
- https://www.bestfree.ru/soft/media/visual-novels.php
- https://www.computerra.ru/265077/eti-instrumenty-pomogut-vam-nachat-sozdavat-videoigry/
- https://anino.fun/files/soft/45-renpy.html