8 программ и онлайн-сервисов для создания игр без программирования

Шаг 1. Придумать сюжет и пространство игры

Необязательно придумывать историю, достойную Вселенной «Звездных войн» — максимально простые сюжеты тоже становятся культовыми (привет червяку Джиму и Марио, которых помнят все, у кого были «Денди» или «Сега»). Дети понимают такие истории, да и взрослых они затягивают.

Лия Костикова, создательница курса «Игры на Python»в детской онлайн-школе Skysmart

Дети могут провести часы в игре, не задумываясь о том, что это работа огромного количества гейм-дизайнеров, которые воспользовались определенной матрицей действий.

Мне кажется, если прийти к ребенку и сказать: «Вот ты три часа играл в Roblox, но на самом деле это просто трюк, который кто-то придумал», — это переориентирует его на то, чтобы он стал сопричастным к созданию этой игры.

Когда ребенок сам начинает разбираться в тонкостях создания игрушки, он уже не просто в нее бездумно играет, но и исследует: вот тут классно закольцевали сюжет, а этот герой похож на викингов, которых мы проходили по истории. В таком подходе точно больше пользы для развития — и осознанности тоже.

Чтобы создать классный игровой сюжет, нужна насмотренность. Она складывается не только из стримов на ютубе, но и из общего кругозора: книжек, фильмов, мира вокруг.

А еще в играх вовсю работают законы драматургии. Например, в курсе «Игры на Python» ученики изучают принцип чеховского ружья, по которому в сюжете остаются только те элементы, которые его поддерживают и усиляют, а все остальное — удаляется.

Лия Костикова, создательница курса «Игры на Python»в детской онлайн-школе Skysmart

У всех компьютерных игр есть определенная логика, сюжет, персонажи. Мы рассказываем, из каких кубиков состоит игра как таковая, и уже в конце первого уровня ребенок создает полноценную креативную оболочку игры с продуманным сюжетом, пространством и персонажами.

Теоретический блок мы объясняем на пальцах. Например: «Кто-то постучал в дверь. Ты открываешь дверь, а там Годзилла», — это называется твист, неожиданный поворот сюжета.

После теории сразу практикуемся: предлагаем придумать твист для скучной истории. Ученики отвечают: «Кошка легла спать, потом встала, подошла к зеркалу, а в зеркале она не отразилась». Засчитано: ребята поняли, что такое твист.

Все уроки — динамичные. За теорией следует практика — мини-задания, чтобы сразу закрепить знания и задать вопросы. А если ученик столкнулся со сложностями после занятий, он всегда может обратиться к наставникам курса.

А еще на курсе дети заводят друзей. Тестируют игры друг друга, помогают докручивать сюжет и даже встречаются после занятий, чтобы вместе поиграть. Сила комьюнити в том, что вместе с такими же, как ты, гораздо проще и интереснее двигаться дальше: обсуждать сложности, вместе искать решения, получать поддержку и вдохновение.

Запишите ребенка на курс «Игры на Python» в онлайн-школе Skysmart: уже через 5 месяцев он сможет похвастаться не только собственной игрушкой, но и знаниями в драматургии, программировании и дизайне и даже алгебре. А еще прокачает креативность, логику и навыки презентации — себя и своих проектов.

Что же из себя представляет «код» для Аперо?

Не пугайся слова код, никаких «010010» из матрицы здесь не будет.

Код для Аперо — это обычный текст, размеченный особым образом.

В процессе обучения сразу пробуйте выполнять примеры, которые мы будем разбирать.

Для этого создай тестовую онлайн игру для обучения здесь, назови например «Обучение» и описание, например: «Это моя игра, в ней я научусь создавать свои текстовые игры онлайн на платформе Аперо». (Доступно только зарегистрированным пользователям)

Нажми кнопку «Создать!», и игра появится в твоем списке разработки здесь. После этого появится блок для редактирования исходного кода, туда ты будешь вводить свой код. Там уже есть базовый исходный код для примера, но его можно удалить.

После этого ты можешь нажать кнопку «Тестовый запуск игры!», и откроется страница твоей только что созданной новой текстовой онлайн игры, на ней ты можешь посмотреть, как будет выглядеть игра для игрока.

Таким образом происходит создание текстовой игры прямо здесь на сайте онлайн. Теперь вернись в редактирование кода и удали весь базовый исходный код для примера, сейчас мы будем создавать текстовую онлайн игру с полного нуля.

Совет №5. Участвуйте в игровых джемах

Игровые джемы (англ. game jam) — это мероприятия, целью которых становится разработка новых игр в ограниченный срок. Как правило, на создание прототипа участникам даётся двое суток, а тема и условия обычно объявляются перед началом джема.

Юля Кожемяко объясняет, почему так важны эти события: «На джеме есть ограниченный срок, ты не будешь несколько месяцев сидеть без результата, а получишь его через два-три дня… Ты увидишь, что можешь сделать, пусть даже в команде с другими ребятами. На джеме нет возможности прокрастинировать. Нужно полностью сосредоточиться на игре».

Здесь действует тот же принцип, что и с показом игры друзьям. Джемы позволяют не работать «в стол», а показать своё творчество другим участникам и, возможно, профессионалам из индустрии. Там же можно завести знакомства с будущими коллабораторами. В частности, с Ильёй Кононенко, соавтором игры The Tender Cut, вдохновлённой «Андалузским псом», Юля Кожемяко впервые встретилась именно на джеме.

Создание уровней

В двумерной игре карта представляет собой задний фон плюс элементы, с которыми могут взаимодействовать персонажи и NPC. Все это можно сделать вручную: нарисовать отдельно фон, элементы, скомпоновать их в разрабатываемой игре, создав в движке для каждого отдельного элемента уникальный объект.

Но есть способ лучше — воспользоваться редактором тайловых карт. Тайловая или плиточная графика используется для создания игровых уровней путем заполнения большого пространства подготовленными плитками. Если все правильно распределить и добавить вариации, то игрок не заметит повторений.

Одним из самых распространенных редакторов тайловых карт является свободная программа с открытым исходным кодом Tiled. С его помощью можно создавать карты для двумерных и изометрических игр. К ним можно отнести: платформеры с видом сбоку/сверху, ролевые игры, стратегии. Тайлы могут быть квадратными растрами или шестиугольниками. В качестве тайла можно использовать любое изображение.

Карты в Tiled формируются по слоям. Для определенных плиток можно задать свойства столкновения. Разрабатываемые уровни сохраняются в XML-формате TMX. Затем его можно загрузить из движка игры. Формат TMX поддерживается рядом движков. Кроме XML-подобного формата поддерживается и JSON-подобный.

Программы для разработки игр. Внешний вид Tiled

Повторим: как создать свою игру

  • Придумать сюжет и пространство игры, в которой все будет происходить
  • Создать персонажей, уровни и систему мотивации, чтобы играть было интересно
  • Запрограммировать героев, пространство и алгоритмы игры и оживить все, что мы придумали
  • Упаковать игру для пользователей и продвинуть в интернете, чтобы как можно больше людей узнали про нашу потрясающую игру и присоединились

Приходите создавать свои миры на курсе «Игры на Python». Обучение проходит дважды в неделю: с поддержкой преподавателей-практиков и в группе единомышленников. В конце курса ребята показывают свои игры профессиональным гейм-дизайнерам и получают обратную связь. Ну и конечно, тестируют игры друг друга!

Ловим мяч

Я хочу, чтобы игроки ловили скачущий мяч. Когда он пойман, у него появляется владелец, и он следует движениям владельца. На рис. 10 в метод move мяча добавлена функциональность, позволяющая мячу перемещаться вслед за владельцем.

Рис. 10. Заставляем мяч следовать за своим владельцем

На данный момент способа получить позицию объекта Player пока нет, поэтому я добавлю аксессоры getPosition и getSide в объект Player:

Теперь, если у мяча есть владелец, он будет следовать за этим владельцем. Но как определить владельца? Кто-то должен поймать мяч. На рис. 11 показано, как узнать, когда один из спрайтов игроков касается мяча. Когда это происходит, я устанавливаю владельцем мяча этого игрока.

Первый шаг в реализации класса player — заставить функцию move изменять позицию игрока.

Рис. 11. Обнаружение коллизии для мяча и игроков

Если вы сейчас попытаетесь поиграть в эту игру, то обнаружите, что мяч отскакивает от верхнего края экрана и что можно двигать игрока, чтобы поймать мяч. А как бросить мяч? Для этого и предназначены элементы управления по правую руку. На рис. 12 игроку добавлена функция fire, а также свойство aim.

Рис. 12. Свойство aim и функция fire для мяча

Код на рис. 13 дополняет функцию, связанную с клавиатурой. Он задает aim и fire объекта игрока. Прицеливание работает слегка иначе. Когда клавиша прицеливания освобождается, задается прямое направление (straightforward).

Рис. 13. Подготавливаем функцию прицеливания для игрока

И завершающее добавление относится к сенсорной поддержке для всех элементов управления. Элементы управления справа изменяют направление прицеливания игрока. Кроме того, я сделаю так, чтобы касание любого участка экрана приводило к броску мяча:

Какие Ещё Навыки Вам Нужны?

Опять же, если вы всерьёз взялись за тему, как создать игру, то вам нужно освоить не только языки программирования. Полный набор разработчика игр может включать в себя целый спектр различных программ, инструментов, фреймворков и библиотек. Давайте рассмотрим несколько важных навыков для создания игры.

Заметка: Не забывайте, что разные типы игры требуют различных знаний и навыков.

Как Использовать Различные Программы

Вы уже знаете, что программы являются важной частью при создании сложных игр. Особенно это касается консольных игр

Одной из самых популярных и известных многим программ является Unity – кроссплатформенный игровой движок, который позволяет создавать различные типы игр.

Преимущества

  • Простой дизайн (без бесполезной информации)
  • Хорошее качество курсов (даже бесплатных)
  • Разнообразие возможностей обучения

Особенности

  • Программа Nanodegree
  • Подходит для корпоративного обучения
  • Платные сертификаты об окончании

Посмотреть На Все Купоны Лучших Платформ Для Онлайн Обучения Преимущества

  • Простой в использовании
  • Предлагает качественный контент
  • Очень открытый в своих ценах

Особенности

  • Бесплатные сертификаты об окончании
  • Фокус на навыки науки о данных
  • Гибкое расписание занятий

Посмотреть На Все Купоны Лучших Платформ Для Онлайн Обучения

Навыки Дизайна

Создание игр самому возможно, но тогда вам придётся овладеть ещё несколькими важными навыками. Дизайн игр один из таких навыков

Создание концепта и идеи игры настолько же важно, насколько программирование – можно сказать, что программирование даже не начнётся, пока вы не придумаете дизайн вашей игры! Однако вы бы не читали эту статью, если бы у вас не было своих идей, ведь так?

Заключение

Я вновь повторю, обучение тому, как создать игру может быть интересным, полезным и очень сложным. Однако, если у вас есть неугасаемый интерес и должная мотивация, оно явно того стоит. Начните с самых базовых процессов, которые необходимо для создания игры. Даже самые простые игры требуют определённого концепта и видения. Этот концепт должен быть воплощен в проектный документ, способный помочь вам вести организованную разработку.

Если вы ещё не имеете навыков программирования, то вам нужно будет потратить несколько месяцев, чтобы изучить хотя бы один язык программирования. Вам также скорее всего будет полезно получить опыт работы с игровыми движками, вроде Unity.

Кроме этого, не упускайте из виду общую картину. Начните с меньшего. Сделайте карточную игру, игру про слова или что-то очень простое для начала.

Запомните, обучение созданию игр это не простое занятие, оно может потребовать от вас много времени и сил, но в конце концов ваши усилия вознаградятся!

Unity

Проекты на этом движке: Pokemon Go, West of Loathing, , Ori and the Blind Forest.

Программирование и киберкультура для школьников: Minecraft, Dota 2 и Unity

Учить детей играть в Minecraft и Dota 2 еще со школы? А почему нет? В какое прекрасное время мы живем!…

Unity

Плюсы Unity:

  • Есть инструменты для быстрого создания прототипа будущей игры;
  • Можно достичь высокого уровня производительности в проекте;
  • Универсальное решение, которое используется как для маленьких проектов, так и для ААА-тайтлов.
  • Проект имеет закрытый исходный код, если вы столкнетесь с каким-то багом, то придется ждать обновления Unity;
  • Редактор кода и отладчик часто работают плохо и отнимают кучу времени у создателя;
  • Не такой низкий порог вхождения, как в других движках. Чтобы сделать на нем игру, придется многое выучить.

Генерация игровых объектов

Следующий шаг — добавление машин. Они будут создаваться на ходу и удаляться, когда зайдут за край.

Для этого понадобится функция генерации случайных чисел:

С её помощью в функции Update () с определённой вероятностью будет создаваться объект и добавляться в массив objects:

Теперь можно увидеть, как новые машины появляются вверху экрана:

При столкновении пока ничего не происходит, но это будет исправлено позже. Сначала нужно убедиться, что объекты, которые пропали из виду, удаляются. Это нужно, чтобы не забивать оперативную память.

В класс Car добавляем поле dead со значением false, а потом меняем его в методе Update ():

Теперь нужно изменить функцию обновления игры, заменив там код, связанный с объектами:

Распознавание коллизий

game.js
  • Все сталкивающиеся объекты являются кругами, а это простейшая для реализации распознавания коллизий фигура.
  • У нас уже есть метод , который мы в предыдущем разделе реализовали в классе .
collisions.js

два круга сталкиваются, если расстояние между их центрами меньше суммы их радиусов

  • Снаряд не должен попадать в создавшего его игрока. Этого можно достичь, сравнивая с .
  • Снаряд должен попадать только один раз в предельном случае одновременного столкновения с несколькими игроками. Эту задачу мы решим с помощью оператора : как только найден игрок, столкнувшийся со снарядом, мы прекращаем поиск и переходим к следующему снаряду.

Шаг 2. Создать персонажей, уровни и систему мотивации

Основы драматургии, которые мы изучаем на курсе, не обязывают создавать сюжеты и персонажей как у Чехова. Хорошей игрушке достаточно главного героя, за которого будет играть пользователь, нескольких второстепенных персонажей и врага. Например, одна из наших учениц определилась со своими персонажами еще до начала обучения и написала в анкете: «Я хочу создать игру, в которой обязательно будут монстрики». Отлично!

Персонажи — это, конечно, важно, но еще важнее подумать о тех, кто будет находиться по ту сторону экрана, — об игроках. Обычно их делят на 4 типа:

  • накопители — собирают ачивки, монетки, награды
  • карьеристы — стремятся пройти как можно больше уровней
  • социальщики — обожают общаться внутри игры с другими игроками
  • исследователи — хотят изучить каждый уголок игрового пространства

Чтобы погрузить человека в игру, важно определиться со своей аудиторий и понять, какой способ поощрения для них работает лучше всего

Лия Костикова, создательница курса «Игры на Python»в детской онлайн-школе Skysmart

Игрушки — это очень круто. В них зашито креативное мышление, мелкая моторика, скорость реакции, логическое мышление, стратегия.

Можно придумать свою собственную вселенную и ее персонажей — тут задействуется креативность.

А есть, например, алмазная структура. Ученик продумывает ветки: пойти налево или направо, взять синюю таблетку или красную. И результат, который это действие принесет, — так прокачивается логическое и структурное мышление.

Базовый дизайн

Создаваемая мной игра является вариацией Pong, которую я назвал Ping. В Ping, по сути, те же правила, что и в Pong, с тем исключением, что любой игрок хватает мяч, когда он прилетает к нему, а затем может отправить мяч обратно либо прямо в том же направлении, либо под углом вверх или вниз. Зачастую, прежде чем создавать игру, лучше всего нарисовать то, как она должна выглядеть. Общая разметка для этой игры показана на рис. 1.

Рис. 1. Общий дизайн Ping

Player Игрок
Ball Мяч
Left Controls Управление слева
Scoreboard Табло
Opponent Оппонент
Right Controls Управление справа

Разработав разметку игры, остается лишь добавить каждый элемент в HTML, чтобы создать игру. Однако стоит отметить, что я буду группировать табло со счетом и элементы управления, чтобы они были расположены вместе. На рис. 2 видно, как я по одному добавил нужные элементы.

Рис. 2. Начальная HTML-разметка

Совет №3. Соберите прототип и покажите его друзьям

«Не откладывайте на потом практическую часть», — рекомендует Кирилл Золовкин. Как только вы немного разобрались в движке, пришло время делать прототип — модель будущей игры, предназначенную для тестирования игровых механик.

Опирайтесь на те навыки, которые вы получили при знакомстве с движком, — так вы не загоните себя в тупик. Соберите что-нибудь небольшое — один уровень платформера или трассу в гоночной игре. Главное, чтобы в это можно было играть.

Замечательная серия видео от Extra Credits по теме

Такое самоограничение поможет за неделю-две собрать прототип, который затем следует показать друзьям.

Альтернативные движки

Я понимаю, что в настоящее время существуют инди-игры всех жанров на любой вкус (и это на самом деле хорошо), но мы под инди-играми в данном контексте подразумеваем маленькие, двумерные, ориентированные на мобильные устройства, созданные соло-разработчиком творения (которых преобладающее большинство), поэтому использовать Unity, UE4 для создания прототипов будет неоправданно сложно. Существует широкий выбор альтернативных движков, они проще в использовании и позволяют достигать впечатляющих результатов за меньший срок, минус спецэффекты, которые инди бы все равно не стал помещать в свою игру. Порой для создания полноценной игры под все платформы эти движки не требуют написания кода. Особенно меня продвинуло на тему альтернативных движков после участия в московской конференции разработчиков видеоигр White Nights 2017, прошедшей в октябре. Я подходил к инди-разработчикам, демонстрирующим свои проекты, и расспрашивал об используемом инструментарии. Во многих случаях они называли вовсе не Unity, а Construct 2 или GameMaker Studio.

Оба продукта представляют собой конструкторы двумерных игр, не требующие умения программировать (!). В Construct 2 игру создаешь, определяя игровые события и реакцию на них. Итоговые игры портируются под все распространенные платформы. Прога идет с подробной документацией, большим количеством примеров и теймплейтов, так что освоить ее несложно. Покупать советую в Steam, там ее стоимость за персональную версию составляет 6399 рублей.

Как самому создать игру. Construct 2 с открытым проектом

GameMaker Studio представляет собой популярный конструктор игр с двумя возможностями построения игры (подобно UE4): первая — методом drag and drop, вторая — писать код на собственном языке системы. В зависимости от целевой платформы игры, созданные с помощью GameMaker Studio, визуализируются с помощью OpenGL или DirectX с использованием соответствующих шейдерных технологий. Для обработки физики есть поддержка движка Box2D. Поддерживается широкий ряд устройств ввода. Десктопная версия в Steam стоит 1599 рублей, экспортеры для других платформ надо докупать: так, экспортер для web стоит 2579 рублей, для UWP — 6396 и столько же для мобильных систем.

Как создать игру самому. GameMaker Studio

Третий заслуживающий внимания альтернативный движок — AppGameKit. В отличие от двух предыдущих, разрабатывая с его помощью игры, надо писать код на скриптовом языке. Во многом благодаря этому он меня заинтересовал больше остальных. Стоимость этого движка в Steam составляет 2059 рублей, включая экспортеры под все поддерживаемые платформы. Хорошее вложение. За более подробным описанием архитектурной составляющей движка отсылаю тебя к упомянутой статье.

Раньше я надменно смотрел на эти тулзы, но теперь вижу в них силу, которая может сравниться с топовыми движками

Настало время обратить на них внимание и взять в комплект игродела

Где взять арт и прочий стафф?

В случае если ты программист и плоховато рисуешь/моделишь самостоятельно, весь необходимый для прототипа стафф можно купить в сторах топовых и альтернативных движков (например). Арт, звуки, шейдеры и другой стафф также можно найти в Steam. Они стоят не так дорого. Изображений в одном комплекте может быть несколько тысяч, но все они для разных игр, поэтому на прототип тебе их, может быть, и хватит, а вот для полноценного релиза — вряд ли. И тогда, возможно, ты найдешь свободных художников, на которых произведет впечатление твоя игра. И это правильно, ведь, работая с покупным артом, ты вынужден подгонять свой сюжет под имеющийся арт, а не наоборот.

Совет №7. Работайте регулярно

Старая пословица гласит: «Быстро — это медленно, но без перерывов». То же правило действует в геймдизайне.

Избегайте больших пауз в работе. Старайтесь выкроить хотя бы час в день на разработку игры. Постепенно это превратится в привычку — и у вас не будет чувства, что вы топчетесь на месте.

Алексей Малороссиянов объясняет: «Изучать программирование непросто и требует определённого майндсета. Но когда начинает получаться, вы испытываете огромное удовольствие от результата… Не сдавайтесь и планомерно каждый день хотя бы немного времени уделяйте разработке и изучению движка. И всё у вас обязательно получится».

Unity

Среда разработки Unity изначальна была трехмерным «движком», однако со временем, в 2013 году, добавили поддержку 2D. Можно создавать 2D-игры, однако не исключены ошибки и сбои, поскольку среда 2D сильно привязана к 3D-системе. А еще это значит, что в 2D-играх добавляется много ненужных «наворотов», которые могут повлиять на производительность.

Компонентный дизайн придумали не разработчики Unity, однако они сделали очень многое для его популяризации. Короче говоря, все в игре является объектом, а каждый объект может связываться с различными компонентами, каждый из которых будет отвечать за те или иные аспекты поведения и логики этого объекта.

Чтобы максимально использовать возможности этого инструмента, нужно уметь программировать на C#. Хорошая новость заключается в том, что Unity используется огромным количеством пользователей, как любителей, так и профессиональных разработчиков. Как следствие, в сети можно найти тысячи руководств по работе в Unity и написании кода на C#. Приложение поставляется с видеоуроками для новичков, а текстовую документацию можно охарактеризовать всего одним словом – «отлично».

В Unity больше возможностей экспорта, чем в любом другом игровом «движке»: Windows, Linux, Mac, iOS, Android, HTML5, Facebook, все разновидности систем виртуальной реальности наподобие Oculus Rift и Steam VR, поддержка игровых консолей Xbox One, PlayStation4, Nintendo Switch и Nintendo Wii U.

Версия Personal полностью бесплатная и полнофункциональная, пока вы не стали зарабатывать на игре больше 100 000 долларов в год.

Какие Языки Программирования Вы Можете Использовать, Чтобы Создать Игру?

Простые мобильные игры могут быть созданы с помощью широкого спектра языков программирования. Если вы хорошо владеете хотя бы одним языком программирования, то этого может быть достаточно, чтобы понять, как создать игру для мобильных устройств. Тем не менее, более сложные игры для компьютеров или консолей требуют более глубокого понимания языков программирования и их использования для игр. Давайте рассмотрим несколько языков, которые вы можете использовать:

JavaScript

Обучение тому, как создать игру с помощью JavaScript проходит довольно просто. Как ранее упоминалось, вы можете создавать простые мобильные приложения и игры используя лишь JavaScript, HTML и CSS на платформе PhoneGap. Миллионы людей по всему миру имеют хотя бы базовые знания JavaScript, что уже позволяет им создать свою собственную игру.

Однако вам не стоит беспокоиться, если вы не являетесь одним из этих людей – узнать, как создать игру на JavaScript возможно, предварительно изучив этот язык с помощью курса. Пройдите нечто вроде интерактивного курса JavaScript для начинающих, перед тем как перейти к более специфической теме PhoneGap.

Java

Java — это самый популярный язык программирования для создания игр на Android. При использовании вместе с Android Studio, Java может быть использован для создания игр с уникальным внешним видом и концептом. Игры, созданные на Java, чаще всего отличаются производительностью и удобством персонализации.

Если вас заинтересовало, как делают игры для Android, то для начала вам нужно освоить язык Java. К счастью, Java относительно простой язык программирования. Я бы порекомендовал вам начать с курса “Обучение Java с нуля”, перед тем как переходить непосредственно к теме создания игр.

Swift

Swift — это относительно новый язык программирования, который был создан для разработки приложений и игр для операционной системы iOS. Он разрабатывался для облегчения процесса создания игр и приложений для iOS-устройств, и на сегодняшний день стал очень популярен для тех, кто хочет узнать, как создать игру в первый раз.

Если вы хотите научиться созданию игр для iOS, то вам обязательно нужно будет выучить язык программирования Swift. Конечно, у вас есть возможность сделать это и без подобных знаний – взгляните на курс по созданию аркадной игры, чтобы узнать об этом больше – но программирование ваших собственных игр даст вам гораздо больше свободы действий и гибкости, когда дело будет касаться кастомизации вашей игры. Чтобы узнать о Swift и его использовании подробнее, посетите страницу курса Swift обучения для новичков.

Языки C

Языки C – C, C# и C++ – являются самыми распространёнными языками программирования, когда дело касается продвинутой разработки игр и программ. Фактически, большая часть крупнобюджетных игр создаётся с использование одного или комбинации языков C. Тем не менее, они очень сложны в изучении. Я бы не стал рекомендовать вам начинать их изучение, если вы ещё не совсем уверены в своём стремлении создавать игры. Однако для пробы вы можете взглянуть на отдельный курс по этой теме “Как сделать игру”. Он научит вас основам C# с упором на разработку игр.

Совет №1. Не стремитесь к идеалу

Не повторяйте ошибку тех, кто пытается сразу сделать игру своей мечты.

Многие берутся за разработку в надежде воплотить в жизнь свои блестящие идеи. Иногда у новичков выходит The Stanley Parable — но куда чаще их задумки гибнут ещё на первых этапах разработки, погребённые под грузом амбиций.

Не потому что у вас нет таланта — просто для этого нужны опыт, знания и, если речь идёт о хоть сколько-нибудь большой игре, команда профессионалов. Вашей целью поначалу должен быть не хороший продукт, а что-то, что вы сможете быстро собрать и так же быстро начать тестировать.

Иными словами, смотрите на свои первые проекты как на обучающие упражнения. Ведь это они и есть.

Концепт

После того как у вас появились какие-то мысли — сядьте и опишите концепцию игры. Сначала это могут быть лишь тезисы, которые потом превратятся в логично изложенные мысли. Если же сделать это не удалось – пересмотрите свою идею и избавьтесь от противоречий.

Определите то, что должно привлекать потенциальных игроков, то есть саму её философию. Например, предложите стать единоличным правителем маленькой островной страны, или же руководить истребителем прямо из кабины пилота, своевременно переключая необходимые тумблеры.

Теперь к особенностям вашей игры. Скорее всего, масса экспериментаторов уже пробовали себя в вашем жанре, но всё равно нужно придумать что-то своё, иначе интерес к проекту будет отсутствовать. Вот небольшой пример:

Пример

Концепт: симулятор маленького магазина.Особенность: вы лично договариваетесь с поставщиками, привлекаете новых клиентов и отчаянно пытаетесь выжить в суровых реалиях.
Объясняете какие факторы влияют на успех, а также говорите о ключевых особенностях игровой механики.
Не пытайтесь добавить пункты, которые вы не хотите реализовывать. Ваша игра должна быть тем, за что вы бы сами хотели заплатить.
Последний этап – положите все черновики в папочку, а затем и в ящик стола. Спустя пару недель вернитесь к ним, так как, возможно, вы потеряете и желание, и запал, а этот через этот этап лучше пройти ещё до начала проекта, чем бросить всё в наполовину готовом состоянии.

Corona

Corona – игровой движок для двухмерных игр, позиционируемый его авторами как «самая продвинутая платформа для создания 2D-программ в мире». Это бесплатный фреймворк, заточенный под написание приложений для мобильных и стационарных платформ. Он использует широко известный язык Lua, отличающийся простотой освоения и универсализмом. Модульная конфигурация поддерживает подключение внешних API и расширений. В магазине доступно более двух сотен плагинов, отвечающих за эффекты, аналитику, мультимедиа, интеграцию рекламы и другие функции во время разработки ПО.

Встроенный симулятор поддерживает просмотр результатов труда разработчика и может тестировать примененные решения в режиме реального времени. Система Live Build обеспечивает тесты разрабатываемой программы без ручной установки, так как обновление выполняется автоматически.

Плюсы Corona

Преимущества игрового движка:

  • бесплатная модель распространения;
  • легкость для новичка;
  • кроссплатформенность;
  • удобство отладки и тестирования проектов;
  • масштабируемость и поддержка внешних расширений.

Phaser 3

Первая итерация движка от студии Photon Storm появилась ещё в 2013 году. Сейчас Phaser 3 — один из самых популярных фреймворков для создания HTML-игр. Есть возможность рендера как на Canvas, так и на WebGL — на основе библиотек PixiJS Созданные игры можно скомпилировать на iOS и Android.


Scrap Memories — Chapter One — игра, созданная на Phaser 3

Преимущества:

  • богатый инструментарий для создания 2D-игры (анимация, физика, спрайты);
  • подходящий вариант для геймджемов;
  • понятная документация со множеством наглядных примеров;
  • быстрая интеграция приложений с веб-сайтами.

Недостатки:

  • необходимость изучения JavaScript или TypeScript для использования технологии;
  • ограничения из-за расчёта на браузерные игры;
  • возможность портирования на мобильные платформы только при помощи сторонних инструментов (Apache Cordova, PhoneGap).

Игры на движке: Scrap Memories — Chapter One, Something Dungeons, Gems ’n Ropes, Prince of Arabia (переработанная версия Prince of Persia). На сайте движка можно ознакомиться с актуальными играми.

«Относитесь к разработке веб-игры как к созданию реальной игры, а не как к очередному „скрипту на странице“. Тестируйте, не допускайте утечек памяти и повышенной нагрузки на процессор. Игроки будут довольны».

Максим Щановский, Tech Lead Beavers Brothers («Тайна потерянной копилки»).

«Особенности разработки игры для браузера», январь 2020 года


«Тайна потерянной копилки»