Подборка лучших программ для создания игр на компьютере
Содержание:
- Stencyl
- Программы для создания 2D игр
- Разработка игр
- Создание веб-игры за час
- Godot Engine
- Совет №7. Работайте регулярно
- Что потребуется для работы
- Blender Game Engine
- Unity
- Определение
- Что есть что
- 3D Rad
- Stencyl
- GameMaker Studio 2
- Настройка триггеров
- 2D анимация
- Программирование
- Индиспектр
- Шаг 1. Придумать сюжет и пространство игры
- Ввод с клавиатуры
- Заключение
- Заключение
Stencyl
Она является отличным вариантом для тех, кто хочет сделать свою игру на технологии flash. Можно создать игру любого жанра, но лучше всего редактор подходит для бродилок и стрелялок. В состав программы входит графический редактор, игровой конструктор и даже блокнот для записей.
Установка программы и регистрация
Программа на английском и Вам потребуется время, чтобы разобраться в ней.
После установки рекомендуется зарегистрироваться в сообществе пользователей данной программы. Это не обязательно, но открывает широкие возможности (например, скачивание шаблонов для неё).
Интерфейс
В верхней части рабочего окна находятся панель инструментов, строка меню и переключатель вкладок (очень удобная функция). Основная рабочая область навигационной панели, расположенной слева и зоны основного контента с правой стороны.
Создание игры
Создать игру в Stencyl очень просто. Все что нужно — это войти в меню «File» и нажать на «Create New». Или просто нажать на кнопку.Далее следует выбрать тот шаблон, функции и действия которого подходят вам. После этого обязательно нужно скомпилировать игру в SWF-файл: меню «Publisher» → «Web» → пункт «Flash».
Запись имеет метки: Компьютерные программы
Программы для создания 2D игр
Game Maker
Программа предназначена для создания двухмерных игр без использования языков программирования. Вместо строчек кода подставляются уже готовые действия игровых персонажей. Пользователю остаётся лишь создавать игровые объекты, снабжать их двухмерными спрайтами или анимацией, создавать правила взаимодействия между объектами, расставлять объекты на уровнях. Рисовать графику и анимацию можно прямо в «Game Maker», не используя сторонних программ.
В этой программе отлично получаются игры с видом сверху, и платформеры с видом сбоку.
«Game Maker» будет интересна и продвинутым программистам, возможность добавлять свой программный код здесь так же имеется.
Бесплатный вариант программы ничем не ограничивает обычных пользователей, по сравнению с платной версией «Game Maker Pro». Платная версия открывает доступ к сложным программным модулям, интересным лишь настоящим профессиональным программистам.
Game Makerver. 8.1.140(21.12.2011 г.) | Интерфейс: Рус/Англ Платформа: 2000/XP/Vista/7 32-bit |
Construct 2
Очень простой конструктор 2D игр. Знание языков программирования не обязательно.
В отличие от «Game Maker», в «Construct 2» можно создавать игры для iOS, Android, Facebook, Chrome Web Store, Desktop Windows, Windows 8 Apps, Web (HTML5), Kongregate и для множества других платформ.
Это более качественная программа, но и более жадная до денег. Бесплатна программа до того момента, пока вы не захотите продавать свою игру. В этом случае нужно будет купить лицензионную версию. Так же на сайте разработчиков есть специальный магазин, где вы можете покупать строительные ресурсы для своей игры: наборы звуков, музыку, подробные инструкции.
Construct 2Release r126(17.04.2013 г.) | Интерфейс: Англ Платформа: 7/Vista/XP |
Разработка игр
- 05/15/2015
- Чтение занимает 20 мин
В этой статье
Создание веб-игры за час
Продукты и технологии:
Visual Studio 2013 Pro, Visual Studio 2013 Community, ASP.NET
В статье рассматриваются:
- базовая философия разработки игр;
- применение веб-технологий для разработки игр;
- добавление игровых элементов управления и ИИ (искусственного интеллекта).
Разработка игр не требует совершенно нового набора знаний и навыков. По сути, ваши текущие навыки в веб-разработке с применением HTML, JavaScript, CSS и других средств замечательно подходят к широкому спектру игр. Когда вы создаете игру на основе веб-технологий, она будет работать почти на любом устройстве в браузере.
Чтобы доказать это, я продемонстрирую создание игры с нуля, используя веб-технологии и всего две внешние библиотеки, причем сделаю все это менее чем за час. Я буду рассказывать о самой разнообразной тематике, связанной с разработкой игр, — от базового дизайна и разметки, элементов управления и спрайтов до искусственного интеллекта (ИИ) (artificial intelligence, AI), пригодного для простого оппонента. Я даже собираюсь создать игру такой, чтобы она работала на ПК, планшетах и смартфонах. Если у вас есть некоторый опыт в программировании в качестве веб-разработчика или в другой области разработки, но нет никакого опыта в написании игр, эта статья послужит вам отправной точкой. Если вы дадите мне один час, обещаю ввести вас в курс дела.
Godot Engine
Как и Unity, Godot Engine поддерживает разработку как 2D, так и 3D-игр. Однако, в отличие от Unity, эта поддержка реализована на гораздо лучшем уровне. Движок 2D изначально создавался как независимая система. А это значит, что в созданных с помощью Godot играх выше производительность и меньше ошибок.
Игровая архитектура Godot Engine уникальна. Все делится на сцены. Но не те «сцены», о которых вы только что подумали. В Godot сцена представляет собой набор элементов наподобие спрайтов (графических объектов), звуков и скриптов. Сцены можно объединять в более крупные, а те, в свою очередь, в еще более крупные. Иерархический подход к дизайну облегчает организацию и модификацию индивидуальных элементов.
Для управления игровыми элементами в Godot используется drag-and-drop, но большинство элементов может быть изменено с помощью похожего на Python языка написания скриптов GDScript. Он легко учится и прост в использовании. Попробуйте, даже если ранее не занимались программированием.
Ежегодно выходит как минимум один новый релиз программы, что объясняет, почему в этой среде разработки так много нужных функций: физика, пост-процессинг, сетевая игра, все виды встроенных редакторов, отладка в реальном времени, быстрый перезапуск, контроль версий и многое, многое другое.
Godot – единственный полностью бесплатный «движок» из нашего списка. Он бесплатен от «А» до «Я» и защищен лицензией MIT, разрешающей не только разработку, но и продажу готового игрового продукта без ограничений. Сделанные в Godot игры можно экспортировать под Windows, Linux, Mac, iOS, Android, в HTML5. Никаких доплат и лицензий не требуется.
Совет №7. Работайте регулярно
Старая пословица гласит: «Быстро — это медленно, но без перерывов». То же правило действует в геймдизайне.
Избегайте больших пауз в работе. Старайтесь выкроить хотя бы час в день на разработку игры. Постепенно это превратится в привычку — и у вас не будет чувства, что вы топчетесь на месте.
Алексей Малороссиянов объясняет: «Изучать программирование непросто и требует определённого майндсета. Но когда начинает получаться, вы испытываете огромное удовольствие от результата… Не сдавайтесь и планомерно каждый день хотя бы немного времени уделяйте разработке и изучению движка. И всё у вас обязательно получится».
Что потребуется для работы
Прежде чем создавать игру, нужно придумать идею. Без интересной концепции нет смысла начинать проект. Нужен конкретный сюжет, место действия, персонажи. Не помешает проанализировать произведения, с которыми придется конкурировать. Затем предстоит документальная проработка деталей: механики, графики, звука. Все выкладки проводятся с учетом величины бюджета.
Сразу определитесь с платформой. Решите, будет это приложение для мобильных устройств или персонального компьютера. Например, симуляторы больше подойдут для ПК. Там необходима моментальная обратная связь. Реализовать это для тачскрина – задача не для начинающего. К смартфонам проще адаптировать простенькие стратегии или головоломки, не требующие молниеносных движений.
Чтобы создать игру, не нужно быть компьютерщиком. Существуют движки, позволяющие «штамповать» приложения под различные платформы:
- Game Maker: Studio. В бесплатной версии Standard доступны инструменты для игр под Windows. Подписавшись на Professional, пользователь получает расширенный функционал. Например, становится доступной интеграция на платформу Android.
- Construct 2. Программа для 2D на HTML5. Движок Box2D Physics отвечает за реалистичное поведение персонажей в соответствии с законами физики. Интуитивно понятный интерфейс позволяет моделировать ситуации без какого-либо практического опыта.
- Unity. Популярный движок, используемый многими известными агентствами и корпорациями. Создавать игры 3D позволяет как бесплатная, так и платная версия.
Хватает и других интересных вариантов. Для новичков точно подойдет Game Maker: Studio. Она проще в изучении, что позволит ускорить подготовительный процесс. Осваивать функции можно параллельно с работой. Обучающие материалы на русском языке для этой и других полезных программ доступны на нашем сайте.
Примерно так выглядит Гейм Мейкер Студио
Насколько быстро удастся сделать игру, зависит от вашего профессионального уровня и сложности задачи. Простую идею опытный программист способен в одиночку реализовать за несколько дней. У начинающего это займет месяцы. Средняя задача потребует до года и команды из двух–четырех человек. Над масштабными проектами десятки людей трудятся на протяжении двух–трех лет.
Начинающих вдохновляют истории успеха таких разработок, как Ridiculous Fishing и Minecraft, принесших авторам огромную прибыль при минимальных стартовых вложениях. Мотивация – это прекрасно, но не нужно сильно рассчитывать на подобное чудо. Конкуренция на рынке ежегодно растет, поэтому лучше трезво оценивать шансы.
Blender Game Engine
Blender Game Engine — игровой движок, который является частью пакета 3D моделирования Blender. Blender Game Engine был разработан много лет назад, но, спустя столько времени, так и не был популярен в кругу геймдевелоперов, а связано это вот с чем: Blender Game Engine создан для разработки несложных 2D и 3D игр, потому что имеет слабую физику по сравнению с конкурентами. Конечно, есть Rigidbody, есть элементарная физика, но нет смысла прописывать программисту то, что давно встроены в другие игровые движки. Также в этом игровом движке используется язык программирования Phyton, что не очень удобно. Но у Blender Game Engine есть плюсы: 1 — можно сразу редактировать и добавлять 3D модели, если что-то на сцене не устраивает, 2 — можно использовать русскую документацию на сайте Blender, 3 — удобный рендер, выдающий большой фпс. Если выбирать Blender Game Engine, то только для разработки небольших проектов, для знакомства с геймдевом.
Пример игр, созданных на Blender Game Engine, взятых с Youtube.com:
Скачать с официального сайта: Blender
Unity
Проекты на этом движке: Pokemon Go, West of Loathing, , Ori and the Blind Forest.
Программирование и киберкультура для школьников: Minecraft, Dota 2 и Unity
Учить детей играть в Minecraft и Dota 2 еще со школы? А почему нет? В какое прекрасное время мы живем!…
Unity
Плюсы Unity:
- Есть инструменты для быстрого создания прототипа будущей игры;
- Можно достичь высокого уровня производительности в проекте;
- Универсальное решение, которое используется как для маленьких проектов, так и для ААА-тайтлов.
- Проект имеет закрытый исходный код, если вы столкнетесь с каким-то багом, то придется ждать обновления Unity;
- Редактор кода и отладчик часто работают плохо и отнимают кучу времени у создателя;
- Не такой низкий порог вхождения, как в других движках. Чтобы сделать на нем игру, придется многое выучить.
Определение
Наименование script известно веб-пользователям достаточно давно. Впервые о нем услышали еще во время появления известной на тот момент операционной системы Unix, наследным продуктом которой сейчас выступает популярная на хостинг-платформах Linux.
В переводе с английского данный термин означает «сценарий» и подразумевает комплекс разнообразных команд, предназначенных для осуществления определенного действия. Командный набор формируется в виде файла с текстовым содержимым, позволяющим получить допуск к запуску программы. Его активация происходит в автоматическом режиме в установленный период, полностью соответствующий логике и функциональному назначению веб-ресурса. При этом пользователю нет необходимости выполнять какие-либо дополнительные манипуляции.
Проще говоря, script — это четко прописанная последовательность действий. А задают ее с помощью скриптовых веб-языков программирования, создание которых ориентировано на выполнение функциональных задач. Наиболее распространенные из них: JavaScript, Python, Perl, PHP и т. п. Благодаря им можно значительно повысить эффективность работы, к примеру, интернет-сервиса или инструмента на веб-площадке.
Таким образом, скрипт делает сайт динамичным, запускает механизм активности, тем самым позволяя юзерам использовать возможности ресурса по максимуму. Для сравнения, если ликвидировать все созданные на веб-странице сценарии, то на выходе получим просто статичное изображение. Никаких удобных всплывающих блоков меню, кликабельных кнопок и т. п. Взаимодействовать с таким ресурсом станет попросту невозможно. Пользователь не сможет даже оставить комментарий под выкладкой, так как нажатие на клавишу не даст нужного результата.
Чтобы сделать сервис активным (позволить посетителю отправить отзыв), предстоит сформировать соответствующую последовательность действий. Только при таких условиях произойдет действие. Интернет-пользователю удастся ввести текст и увидеть результат произведенных манипуляций.
Параллельно можно составить дополнительный script (или расширить возможности предыдущего), с помощью которого юзер будет получать оповещения об отправке-доставке сообщений. Если сделать все без ошибок, пользователь увидит краткий отчет «комментарий отправлен».
Чем отличаются плагины и скрипты
С определением сценария мы разобрались в предыдущем разделе, теперь необходимо понять, чем он отличается от веб-плагина. Plugin, если обратиться к дословному переводу с английского — подключаемый модуль. Небольшая программная кодировка, предназначенная для дополнения базового функционала. Выражаясь более понятным языком — это необходимые надстройки, исправления и дополнения, посредством которых удается улучшить основную программу и облегчить работу пользователя.
Отличительной особенностью плагинов является то, что они не способны функционировать самостоятельно. Их ведущая роль — дополнять и выполнять внутри основной веб-программы, которая сохраняет свою функциональность и без добавочных расширений.
В качестве примера стоит привести один из наиболее распространенных веб-плагинов — Adobe Flash Player. После его установки интернет-браузеры получают возможность демонстрировать нам видеоролики и другой флеш-контент. Без AFP любой браузер сможет только открыть нужную страницу и взаимодействовать с сервисами в режиме основного предназначения. Но тот же просмотр видео с Ютуба пользователю будет недоступен.
Однако большое количество плагинов в значительной степени перегружают сайт и тормозят его работу. Поэтому, чтобы улучшить ресурс, но не потерять при этом его функциональность, следует воспользоваться скриптами.
Что есть что
Движки для разработки игр
Игры создаются с помощью движков — набора инструментов, который позволяет работать с графикой, физикой, скриптами и прочим.
Вот скриншот интерфейса движка Unity:
В левом верхнем углу — игровая сцена, на которую можно добавлять объекты, двигать их, убирать и так далее. Ниже расположено игровое окно — в нём можно увидеть, как будет выглядеть готовая игра. Можно даже нажать на кнопку Play и поиграть.
Дальше можно увидеть иерархию объектов на сцене, файловый менеджер и вкладку Inspector — в ней есть разные настройки для выбранного объекта. Кроме того, можно зайти в настройки проекта и указать желаемые показатели для гравитации, освещения, теней, качества графики и всего прочего.
Также у движка есть поддержка скриптов и API. Скрипты помогают вам писать команды, которые будут выполняться игрой всё время или после каких-то действий игрока. API же помогает упростить написание скриптов. То есть вы не проводите сложных математических расчётов, чтобы изменить положение или вращение объекта, — вы просто пишете команду вроде «Юнити, поверни объект А на 5 градусов по оси X».
Вы либо используете готовый движок, либо пишете свой — у обоих вариантов есть плюсы и минусы.
Плюсы
Минусы
Готовый движок
- Иногда вам могут попасться баги, с которыми ничего нельзя сделать — только ждать, пока авторы движка что-то исправят.
- Меньше свободы.
- Вы соглашаетесь с лицензией — иногда приходится делиться частью прибыли.
- Авторы могут бросить или переделать ваш любимый движок.
- Много того, что вам никогда не потребуется, — а это раздувает размер игры.
Самописный движок
- Долго.
- Дорого.
- Требует больших знаний.
- Ошибки в проектировании могут похоронить не только игру, но и сам движок.
- Дополнительные затраты на портирование.
Список современных движков:
- Unity;
- Unreal Engine 4;
- CryEngine 3;
- Source, Source 2;
- Creation Engine;
- Godot;
- Cocos2D;
- Game Maker Studio 2;
- RPG Maker и другие.
3D Rad
3D Rad — бесплатная программа для простого создания (без использования кода) различных ЗD-игр, интерактивных приложений и физических симуляций. Создание приложений в 3D Rad основывается на сочетании в различных комбинациях компонентов (объектов) и настройки взаимодействия между ними. Физика базируется на учете взаимодействия между объектами.
В 3D Rad есть функция импорта моделей в создаваемый проект, большое количество примеров и образцов трехмерных объектов, а также возможность добавления звуковых эффектов в формате WAV или OGG. Работы сделаны с помощью 3D Rad можно распространять в виде отдельных программ или веб-приложений.
Основные возможности 3D Rad:
- Создание качественных ЗD-игр.
- Реалистичная физика взаимодействия объектов.
- Возможность импорта моделей.
- Качественная обработка графики.
- Возможность применения искусственного интеллекта.
- Возможность использования мультиплеера.
- Высококачественные аудиоэффекты и музыка
- Возможность встраивания игр на веб-страницы.
Stencyl
Stencyl — программа для создания игр на IOS, Android и Flash без кодинга. Stencyl нацелен именно на создание 2D и 3D мобильных игр. Мобильные игры, сделанные на Stencyl, не раз попадали в топ App Store и Google Play. Stencyl удобен тем, что здесь не нужно изучать скриптинг, все действия уже прописаны в движке, вам нужно лишь выбрать какие использовать. На официальном сайте есть хорошая документация, но русских уроков не так много. Stencyl собирает свой топ игр, залитых на мобильные маркеты, с ними можно познакомиться здесь: stencyl.com/. Stencyl не берет проценты с монетизации игр, но необходимо купить Indie(99$) под Web/Desktop или Studio(199$) под IOS, Android. Также есть бесплатная версия, но ее нельзя использовать в коммерческих целях.
Скачать с официального сайта: Stencyl
GameMaker Studio 2
GameMaker Studio 2 – это переписанное с нуля и многократно доработанное приложение, созданное еще в 1999 году. Сегодня это один из самых популярных «движков» для разработки игр, которое регулярно обновляется.
Как и в Construct 3, в GameMaker Studio 2 можно создавать целые игры «под ключ», используя исключительно интерфейс drag-and-drop для переменных и игровой логики. Однако, в отличие от Construct 3, в GameMaker Studio 2 есть возможность и писать сценарии с помощью Game Maker Language, достаточно гибкого скриптового языка, напоминающего Си.
Популярность GameMaker Studio 2 во многом обусловлена наличием множества интересных функций, таких как покупки внутри приложения, аналитика в реальном времени, управление версиями, многопользовательский режим и интеграция расширений сторонних разработчиков. Также есть встроенные редакторы изображений, анимации и шейдеров.
Результат работы легко экспортируется на любые платформы и переводится в любые форматы. Поддерживается экспорт в HTML5 и на платформы Windows, Linux, Mac, iOS, Android, PlayStation 4, Nintendo Switch, Xbox One и многое другое. К сожалению, в бесплатной версии не поддерживается экспорт ни на одну из платформ.
Бесплатная версия может использоваться неограниченное время, но имеет ограничения по сложности создаваемых игр. Версия Creator стоит 39 долларов в год и поддерживает экспорт в Windows и Mac. Можно не покупать пакет, а разблокировать функцию экспорта на ту или иную платформу прямо из бесплатной версии.
Настройка триггеров
Для понимания сути триггеров важно усвоить, что такое коллайдер (Collider). Это компонент, который присваивается объекту в пространстве игры, задает форму и делает его твердым, недоступным для прохождения сквозь него
Например, если мы разместим монетку в 2D-пространстве и захотим сделать так, чтобы она упала на платформу, то без использования компонента Collider ничего не получится — монетка пролетит сквозь платформу.
Поэтому обоим объектам необходимо присвоить компонент Box Collider 2D — это тонкая зеленая линия, которая обводит элементы по контуру, и за счет этой рамки они становятся твердыми, то есть один не может пройти сквозь другой.
Так объекты обязательно соприкоснутся и монета встанет на платформу.
Триггер (Trigger) — это пространство на карте, при попадании объекта в которое происходит действие; он тоже обводит объект или область в пространстве по краям. По сути, это тот же коллайдер, только триггер позволяет объектам проходить внутрь этой области. Представьте, что на ту же самую платформу вместе с коллайдером наброшен триггер, и при попадании персонажа внутрь триггерной области активируется телепорт — персонажа перебрасывает в другую точку карты.
Чтобы создать триггер, нужно накинуть тот же самый компонент коллайдера, но поставить галочку Is Trigger.
Триггеры распознают три варианта взаимодействия области на карте и объекта:
- OnTriggerEnter — объект зашел в зону;
- OnTriggerStay — объект находится в зоне;
- OnTriggerExit — объект покинул зону.
2D анимация
У вас есть два варианта для создания 2D анимации:
- Кадр за кадром. Здесь вам придется рисовать каждый кадр анимации и затем соединять их воедино. Для этого вам следует использовать спрайт- листы вместе с TexturePacker (или, если вы используете Unity — Sprite Packer).
- Скелетная анимация. Нарисуйте все нужные конечности объекта и затем анимируйте, меняя их положение относительно предыдущего состояния. Этот способ анимации быстрее, проще и сэкономит место на вашем жестком диске, по сравнению с анимацией «кадр за кадром». Если вы решили создать 2D анимацию и используете движок Unity — попробуйте начать с анимации спрайтов или Anima2D.
Программирование
Совет
Примечание переводчика: на самом деле в Unity используется C#, который похож на C++
-
Типы данных и переменные. В основе кода лежат данные, которые хранятся в переменных. Можно объявить переменную так:
int — тип данных, i — имя переменной, = 0 — значение переменной.
Часто используемые типы данных: int и long — для целых чисел, float и double — для чисел с плавающей точкой, string — строчные данные. -
Условия. С помощью оператора if можно создать условия для выполнения кода:
Используя оператор else, можно расширить условие и отобразить что делать, если условие не соответствует истине:
-
Циклы for/while. While-циклы повторяют части кода, пока условие остаётся истинным. Как только условие перестаёт быть истинным, цикл обрывается.
For-циклы похожи на while-циклы. Для while мы пишем так:
Равнозначный for-цикл будет таким:
-
Структуры данных. У нас есть данные, с которыми можно взаимодействовать. К тому же их можно хранить в особой структуре — массиве, списке, очереди, стеке или наборе.
Простой примера массива: - Функции и исключения. Функция — это короткая строчка кода, заменяющая огромное количество строчек кода. Например, выведем функцию EatBread(), которая содержит следующее:
- Язык. На каком языке вы будете программировать? Чаще всего игры пишут на C++, JavaScript или C#. Языки отличаются синтаксисом и областью применения.
- API (Application Programming Interface). Как только вы ознакомились с базой, приступайте к изучению программного интерфейса приложения для конкретного игрового движка. Они представляют собой набор полезных инструментов, упакованных в простые классы и функции. API сильно упрощает жизнь программиста.
- Посмотрите примеры проектов на выбранном игровом движке. Можно найти много бесплатных примеров игр на движках Unreal и Unity. Это позволит увидеть итог и весь процесс работы целиком, а также почерпнуть идеи для своей будущей игры.
Немного вдохновения.
- Объектно-ориентированное программирование. Делает код более естественным.
-
Соглашение об именовании. Называйте классы, методы и переменные так, чтобы вам и другим программистам была понятна их цель. Например, назовите функцию атаки ближнего боя,
а не
или
- Декомпозиция. Сделайте из повторяющегося кода функцию и вызывайте её вместо копирования повторяющихся строк.
- Шаблон проектирования Singleton («Одиночка»). Шаблон программирования, который позволяет данным храниться в одном месте.
- Избегание статических переменных. Помимо использования синглтонов, я избегала статических переменных — они живут только на время игры, медленные и могут вести себя непредсказуемо.
- Шаблон проектирования Observer («Наблюдатель»). Позволяет объекту узнавать о состоянии других объектов, не теряя компьютерного времени на проверку.
- Сопрограммы. Позволяют начать выполнять действие, продолжать в течение нужного времени и затем прекратить. Я использую их для визуальных эффектов взрывов, резких движений.
- Класс ScriptableObject. Он хранит данные с меньшими затратами, чем базовый класс MonoBehaviour.
Инструменты
- Свой движок на C/C++. Низкий порог входа. (Примечание переводчика: на самом деле, создание своего движка требует больших усилий и глубокого знания принципов программирования).
- Unity. Поддерживает 2D/3D. Требует знаний JavaScript/C#. Средний порог входа. Разработка для нескольких платформ.
- Unreal. Поддерживает 2D/3D. Требует знаний C++. Средний порог входа. Разработка для нескольких платформ.
- pixi.js. Только 2D. Требует знаний JavaScript. Средний порог входа. Разработка для браузера.
- GameMaker Studio. Поддерживает 2D/3D. Требует знаний специального языка движка GML (Game Maker Language). Для новичков. Разработка для нескольких платформ.
- Corona. Только 2D. Требует знаний Lua (похож на JavaScript). Для новичков. Разработка для нескольких платформ.
- Visual Studio Code (для MacOS) — не зависает, имеет встроенную справочную информацию и удобные «горячие» клавиши.
- Visual Studio (для Windows).
- MonoDevelop — устанавливается с Unity, иногда подвисает.
- .
- .
- Fungus.
- Corgi Engine.
- Dialogue System.
- Post Processing Stack.
- Keijiro Takahashi — работает над Unity, доступные проекты визуальных эффектов с открытым исходным кодом.
Индиспектр
Одна голова хорошо, а две лучше. Командная разработка игрового проекта существенно ускоряет процесс, позволяет одинокому разработчику не распыляться на несколько направлений. Тот же Джонатан Блоу на финальной стадии продакшена Braid нанял композитора и художника, дабы сосредоточиться на геймплее и работоспособности кода.
В этом году Braid исполнилось 12 лет
Собирать команду для разработки игры, состоящую из одних энтузиастов, — занятие непростое. Зачастую это приводит к провалу из-за типичных сообщений в духе: «Привет, я хочу сделать игру в духе GTA, ничего не умею, но буду управлять и командовать, за счет моих гениальных идей мы создадим лучший проект в истории». Звучит смешно, но подобные сообщение всплывают чуть ли ни на каждом форуме или паблике о разработке игр. Стоит понимать, что таких гениев — множество. Вот только делать для вас игру-мечты разработчики будут с одним условием — за зарплату.
Студия ZA/UM образовалась из группы друзей, которые любили играть в D&D
Сперва начинающему разработчику стоит выбрать специальность, в которой он хочет и «может» разобраться. Есть художественные задатки — рисуйте. Изучайте 2D-арт, правила анимации, что такое шейдеры и композиция. Пробуйте себя в 3D и постановке сцены.
Если вы начинающий программист, напишите простую игру, сделайте пару тестовых уровней в конструкторе, задокументируйте работу.
Геймдизайнер должен владеть питчингом, уметь писать дизайн-документы, владеть математикой, рисовать локации и концепт-арты, доносить мысль понятным языком (геймдизайнер — это не генератор идей).
Основная суть — поиск единомышленников: нужно показать, что вы не человек с улицы, а настроены на дело серьезно. С таким же подходом стоит набирать людей в команду, если вы лид.
Томми (Tommy Refenes) и Эдмунд (Edmund McMillen) — прекрасный пример хорошей команды. Программист и художник, а большего им и не надо.
Не бойтесь участвовать в реализации идей других людей. Все усилия конвертируются в опыт и знакомства с единомышленниками. Если же вы строго нацелены делать именно «свою игру», будьте готовы к спорам и обсуждениям с другими членами команды.
Фил Фиш (Phil Fish) и его история разработки FEZ — яркий пример плохого поведения разработчика
Попробуйте разработать презентационный билд, отполируйте его. Спрогнозируйте и распишите дальнейшей план разработки. Сделайте подробный питч, попробуйте договориться с небольшими издателями инди-проектов. Довести проект до релиза с издателем станет куда проще и удобнее, чем без него. Вы можете разрабатывать и выпускать в Steam по две игры в год самостоятельно, но какова вероятность, что их заметят среди тысяч подобных проектов?
Devolver Digital — известный издатель инди-проектов. Их основная цель — помогать молодым разработчикам
Пиар и громкое имя студии в эпоху расцвета инди — основа для начинающих студий. Принимайте участие в конкурсах, Game Jam’ах и выставках, а также работайте с блогерами. Последние могут раскрутить ваш проект посильнее лучших пиарщиков мира. Не забывайте и о классических игровых СМИ.
Five Nights at Freddy’s стал крупной франшизой благодаря пугливым видеоблогерам, которые забавно корчились на камерыKickstarterIndie Game: The Movie
Шаг 1. Придумать сюжет и пространство игры
Необязательно придумывать историю, достойную Вселенной «Звездных войн» — максимально простые сюжеты тоже становятся культовыми (привет червяку Джиму и Марио, которых помнят все, у кого были «Денди» или «Сега»). Дети понимают такие истории, да и взрослых они затягивают.
Лия Костикова, создательница курса «Игры на Python»в детской онлайн-школе Skysmart |
Дети могут провести часы в игре, не задумываясь о том, что это работа огромного количества гейм-дизайнеров, которые воспользовались определенной матрицей действий. Мне кажется, если прийти к ребенку и сказать: «Вот ты три часа играл в Roblox, но на самом деле это просто трюк, который кто-то придумал», — это переориентирует его на то, чтобы он стал сопричастным к созданию этой игры. Когда ребенок сам начинает разбираться в тонкостях создания игрушки, он уже не просто в нее бездумно играет, но и исследует: вот тут классно закольцевали сюжет, а этот герой похож на викингов, которых мы проходили по истории. В таком подходе точно больше пользы для развития — и осознанности тоже. |
Чтобы создать классный игровой сюжет, нужна насмотренность. Она складывается не только из стримов на ютубе, но и из общего кругозора: книжек, фильмов, мира вокруг.
А еще в играх вовсю работают законы драматургии. Например, в курсе «Игры на Python» ученики изучают принцип чеховского ружья, по которому в сюжете остаются только те элементы, которые его поддерживают и усиляют, а все остальное — удаляется.
Лия Костикова, создательница курса «Игры на Python»в детской онлайн-школе Skysmart |
У всех компьютерных игр есть определенная логика, сюжет, персонажи. Мы рассказываем, из каких кубиков состоит игра как таковая, и уже в конце первого уровня ребенок создает полноценную креативную оболочку игры с продуманным сюжетом, пространством и персонажами. Теоретический блок мы объясняем на пальцах. Например: «Кто-то постучал в дверь. Ты открываешь дверь, а там Годзилла», — это называется твист, неожиданный поворот сюжета. После теории сразу практикуемся: предлагаем придумать твист для скучной истории. Ученики отвечают: «Кошка легла спать, потом встала, подошла к зеркалу, а в зеркале она не отразилась». Засчитано: ребята поняли, что такое твист. |
Все уроки — динамичные. За теорией следует практика — мини-задания, чтобы сразу закрепить знания и задать вопросы. А если ученик столкнулся со сложностями после занятий, он всегда может обратиться к наставникам курса.
А еще на курсе дети заводят друзей. Тестируют игры друг друга, помогают докручивать сюжет и даже встречаются после занятий, чтобы вместе поиграть. Сила комьюнити в том, что вместе с такими же, как ты, гораздо проще и интереснее двигаться дальше: обсуждать сложности, вместе искать решения, получать поддержку и вдохновение.
Запишите ребенка на курс «Игры на Python» в онлайн-школе Skysmart: уже через 5 месяцев он сможет похвастаться не только собственной игрушкой, но и знаниями в драматургии, программировании и дизайне и даже алгебре. А еще прокачает креативность, логику и навыки презентации — себя и своих проектов.
Ввод с клавиатуры
Итак, вы можете передвигать игрока, но он не будет перемещаться без команд. Добавьте некоторые элементы управления к игроку слева. Вам нужны два способа управления этим игроком: с клавиатуры (на ПК) и сенсорным вводом (на планшетах и смартфонах).
Чтобы обеспечить согласованность между сенсорным вводом и вводом от мыши на различных платформах, я буду использовать отличную инфраструктуру унификации — Hand.js (handjs.codeplex.com). Прежде всего я добавлю скрипт в HTML в раздел head:
Рис. 9 демонстрирует применение Hand.js и jQuery для управления игроком при нажатии клавиш на клавиатуре A и Z или при касании сенсорных элементов управления.
Рис. 9. Добавление элементов управления с поддержкой сенсорного ввода и ввода с клавиатуры
Заключение
Теперь у вас есть полноценная веб-игра, которая работает на ПК, смартфонах и планшетах. Эту игру можно усовершенствовать по многим направлениям. Например, сейчас она будет плохо выглядеть в портретном (книжном) режиме на смартфоне, поэтому вам нужно держать смартфон только в альбомном режиме, чтобы игра работала корректно. Это лишь небольшая демонстрация возможностей разработки игр для Web и не только.
Michael Oneppo — креативный технолог и бывший менеджер программ в группе Microsoft Direct3D. В последнее время работает в качестве главного технического директора в технологической некоммерческой компании Library For All и ведет исследования по программе NYU Interactive Telecommunications Program для получения степени магистра.
Выражаю благодарность за рецензирование статьи эксперту Магомету Амину Ибрагиму (Mohamed Ameen Ibrahim).
Заключение
Эти компоненты кажутся простыми, но добавить их все в игру очень и очень сложно. Часто это связано с тем, что у разработчика замыливается глаз из-за долгой работы над одним и тем же проектом. Многие вещи, не совсем понятные игроку, создателю могут казаться очевидными, потому что он видел их уже не одну тысячу раз.
Чем дольше идет разработка, тем печальнее становится ситуация
Поэтому очень важно не терять способности видеть проект глазами пользователя. Один из способов сделать это — использовать для создания игр специальные движки, упрощающие работу с «физикой» объектов
Тогда разработчик сможет меньше возиться с кодом и больше внимания уделять логике игры. Пример такого движка — Unity, удобный инструмент, позволяющий создать небольшую игру буквально за несколько дней.