Создай свою текстовую игру онлайн за 5 минут!
Содержание:
Онлайн сервисы для создания игр
Factile
Factile – сервис для разработки многопользовательских игр типа «Своя игра», «Слабое звено» или «Кто хочет стать миллионером». Оно представляет собой конструктор из готовых шаблонов, вам остается только придумать вопросы и назначить награду. После генерации викторины становится доступна ссылка, по которой будут подключаться участники.
После регистрации сервис перекинет вас к выбору тарифа. Если не планируете покупать подписку, используйте бесплатный доступ.
Когда вы выберите тариф, система перенесет вас в окно создания викторины.
Подключаться к сервису можно с любых устройств, поддерживающих работу с браузером.
Для доступа к полному функционалу здесь есть несколько платных тарифов от 350 рублей в месяц.
Русского перевода нет, но браузер Хром переводит большинство элементов управления.
ProProfs
ProProfs предназначен для создания развивающих игр по готовым шаблонам. Для работы с ним потребуется регистрация с подтверждением номера телефона. Сервис полностью платный, но в нем есть бесплатный пробный период.
Сайт ProProfs также не имеет русского языка, но это легко исправить с помощью машинного перевода. Однако не все игровые модули поддерживают кириллицу.
Как пользоваться сервисом:
- Чтобы начать проект, пройдите регистрацию на сайте. После чего нажмите на главном экране кнопку «Создать свою первую викторину»;
- Выберите вариант «Создать личную викторину»;
- Выберите шаблон (модуль).
В программе доступны следующие модули:
- паззл;
- кроссворд;
- угадывание слов;
- ответы на вопросы;
- тесты.
Из представленных модулей и игр есть многопользовательские и рассчитанные на одного участника. Для участия потребуется регистрация.
Подписка на самый дешевый тарифный план ProProfs стоит 25$ в месяц (примерно 1700 рублей).
Gamefroot
Gamefroot – онлайн сервис для создания 2D мини-игр. В его основе – полноценный игровой движок на базе HTML5.
Этот ресурс предназначен для детей и начинающих создателей игр, поэтому у него простой интерфейс и интуитивно понятное управление. Каждый элемент сопровождается всплывающим окном подсказки.
Есть в Gamefroot и специальный модуль для написания скрипта с пояснением алгоритмов и логики.
Игры здесь можно делать как с нуля, так и по готовому шаблону. Функционала движка хватает, чтобы сделать многоуровневый платформер или бродилку.
Для работы с сервисом регистрация необязательна. Однако авторизованным пользователям открываются дополнительные шаблоны и элементы.
Если вы хотите протестировать возможности Gamefroot, достаточно обычного входа на сайт. А для постоянного использования с доступом ко всем возможностям имеет смысл зарегистрироваться.
На главной странице сайта указано, что пользователям доступна платная подписка, которая открывает еще больше возможностей. Но я не нашел ни одной функции, за которую бы просили денег. Также я не увидел кнопки для оформления подписки. После регистрации функционал Gamefroot доступен в полном объеме.
Русского языка здесь нет, но чтобы начать делать игру с нуля , достаточно автоперевода браузера.
Шаг 1. Придумать сюжет и пространство игры
Необязательно придумывать историю, достойную Вселенной «Звездных войн» — максимально простые сюжеты тоже становятся культовыми (привет червяку Джиму и Марио, которых помнят все, у кого были «Денди» или «Сега»). Дети понимают такие истории, да и взрослых они затягивают.
Лия Костикова, создательница курса «Игры на Python»в детской онлайн-школе Skysmart |
Дети могут провести часы в игре, не задумываясь о том, что это работа огромного количества гейм-дизайнеров, которые воспользовались определенной матрицей действий. Мне кажется, если прийти к ребенку и сказать: «Вот ты три часа играл в Roblox, но на самом деле это просто трюк, который кто-то придумал», — это переориентирует его на то, чтобы он стал сопричастным к созданию этой игры. Когда ребенок сам начинает разбираться в тонкостях создания игрушки, он уже не просто в нее бездумно играет, но и исследует: вот тут классно закольцевали сюжет, а этот герой похож на викингов, которых мы проходили по истории. В таком подходе точно больше пользы для развития — и осознанности тоже. |
Чтобы создать классный игровой сюжет, нужна насмотренность. Она складывается не только из стримов на ютубе, но и из общего кругозора: книжек, фильмов, мира вокруг.
А еще в играх вовсю работают законы драматургии. Например, в курсе «Игры на Python» ученики изучают принцип чеховского ружья, по которому в сюжете остаются только те элементы, которые его поддерживают и усиляют, а все остальное — удаляется.
Лия Костикова, создательница курса «Игры на Python»в детской онлайн-школе Skysmart |
У всех компьютерных игр есть определенная логика, сюжет, персонажи. Мы рассказываем, из каких кубиков состоит игра как таковая, и уже в конце первого уровня ребенок создает полноценную креативную оболочку игры с продуманным сюжетом, пространством и персонажами. Теоретический блок мы объясняем на пальцах. Например: «Кто-то постучал в дверь. Ты открываешь дверь, а там Годзилла», — это называется твист, неожиданный поворот сюжета. После теории сразу практикуемся: предлагаем придумать твист для скучной истории. Ученики отвечают: «Кошка легла спать, потом встала, подошла к зеркалу, а в зеркале она не отразилась». Засчитано: ребята поняли, что такое твист. |
Все уроки — динамичные. За теорией следует практика — мини-задания, чтобы сразу закрепить знания и задать вопросы. А если ученик столкнулся со сложностями после занятий, он всегда может обратиться к наставникам курса.
А еще на курсе дети заводят друзей. Тестируют игры друг друга, помогают докручивать сюжет и даже встречаются после занятий, чтобы вместе поиграть. Сила комьюнити в том, что вместе с такими же, как ты, гораздо проще и интереснее двигаться дальше: обсуждать сложности, вместе искать решения, получать поддержку и вдохновение.
Запишите ребенка на курс «Игры на Python» в онлайн-школе Skysmart: уже через 5 месяцев он сможет похвастаться не только собственной игрушкой, но и знаниями в драматургии, программировании и дизайне и даже алгебре. А еще прокачает креативность, логику и навыки презентации — себя и своих проектов.
Популярные язык программирования для создания игр
Язык C# был создан компанией Microsoft, и не очень давно. Но, несмотря на это, он находит своих пользователей и становится все более распространенным благодаря стараниям разработчиков.
C# довольно прост для новых пользователей, в сравнении с тем же C++. Поскольку он появился позже, чем C++, в сферу игровых движков он тоже вошел позже. Однако сейчас он уже часто упоминается среди популярных языков программирования игр и используется в таких движках, как Unity, XNA, Godot и других.
Бесплатный онлайн-интенсив
Ваш Путь в IT начинается здесь
Подробнее
C++
Этот язык уже давно стал одним из основных языков программирования компьютерных игр. В отличие от C#, этот язык не так просто выучить с нуля. Во-первых, он был создан относительно давно и в нем применяются не самые новые инструменты и функции, а во-вторых, для его использования необходимы определенные познания о работе компьютера.
C++ реализован в еще актуальных, но старых движках, однако поколение сменяется, софт развивается и появляются новые языки, которыми проще и удобнее пользоваться. А C++ сейчас используется в движках Source и Unreal Engine, например.
Несмотря на то, что язык уже давно стал одним из основных в сфере разработки игр, сейчас он уже сдает свои позиции. Не лучший вариант для новичков.
Java
Этот язык тоже далеко не самый новый, однако разработчики его все еще обновляют и поддерживают. Его не так сложно выучить, как C++, и в этом он похож на C#, ведь при создании последнего Microsoft, видимо, опирались как раз на Java. Из-за того, что он относительно прост в освоении и популярен, новички часто задумываются о том, чтобы выучить его.
Но на самом деле он почти не поддерживается игровыми движками: в ведущих он вообще не используется, а те, в которых его применяют, довольно сложно освоить. Среди них – Engine, jMonkey, LibGDX.
JavaScript
Важно отличать его от Java!
JavaScript – это отдельный и довольно распространенный язык. Он активно развивается и применяется во многих инструментах для разработки игр, таких как игровые движки и среды разработки PlayCanvas, Pixi.js, Phaser или Cocos2D. Впрочем, они не являются ведущими в сфере.
Если подытожить – лучшим языком программирования для игр, который может быстро освоить новичок, особенно, если он ориентирован в основном на 2D, можно считать JavaScript.
AppGameKit (AGK)
Мощный инструмент от The Game Creators Ltd., который подойдёт как начинающим, так и опытным инди-разработчикам. Компания была основана в 1999 году Ли Бамбером (Lee Bamber) и Риком Ваннером (Rick Vanner) — работниками Europress, одного из ведущих европейских издателей образовательных программ.
AGK работает по принципу drag & drop и использует собственный язык программирования — AppGameKit Script.
Ограничения пробной версии:
- лимит по времени использования — 14 дней;
- вотермарк компании-разработчика;
- невозможность экспорта на мобильные платформы и HTML5.
Существует несколько версий AGK, и все они используются в разных целях.
- AppGameKit Classic (930 рублей) — стандартная версия, где нет некоторых функций;
- AppGameKit Studio (1 659 рублей) — полная версия;
- AppGameKit Classic Mobile — мобильная версия движка: позволяет кодить «на ходу» в буквальном смысле слова; в отличие от предыдущих двух полностью бесплатна.
Для расширения возможностей будущего проекта разработчик может приобрести пакеты.
Как и Construct 3, AGK предлагает решения для образования. Для этого нужно отправить заявку и указать название образовательного учреждения. После прохождения верификации заявитель получит все бесплатные версии движка плюс комплект обучающих материалов.
Скриншот из FireRobots — игры, созданной на AGK. Скриншот: игра FireRobots / AppGameKit
Преимущества:
- прост в освоении, возникшие вопросы можно оперативно решить с техподдержкой;
- компилирует код для платформ Windows, Mac OS, Ubuntu, Android, iOS и HTML5;
- встроенная поддержка 3D, VR, AR, VFX и физики;
- подходит для разработки неигровых проектов.
Недостатки:
- нельзя сделать масштабный проект;
- несмотря на лёгкость освоения, нет знаковых хитов.
Игры на движке: Penguin Panic, Chopper, Sticky Orbs — список игр можно посмотреть на официальном сайте движка.
Скриншот из Castle Conquest — игры, созданной на AGK. Скриншот: игра Castle Conquest / AppGameKit
«AppGameKit — самый подходящий для меня инструмент. Это эффективный игровой движок и язык программирования, c которым я могу в короткие сроки разрабатывать оптимизированные приложения любой сложности. Его основные преимущества — простота, универсальность, кросс-платформенный охват и минимальная зависимость от стороннего программного обеспечения. Я пытался работать с Unity и UE4, но меня сразу оттолкнула сложность. По моему скромному мнению, задачи, которые легко решить на AGK, очень трудно реализовать на других движках».
Илья Образцов, программист, кандидат технических наук Тверского государственного технического университета, разработчик ПО для вузов и колледжей (VIRTLABS). «Made with AppGameKit…», 2019 год
Unity3D
Unity Technologies — уникальная компания. Она создала движок Unity3D — один из самых популярных инструментов для создания игр во всей игровой индустрии. Игровой движок Unity несомненно является доминирующим глобальным поставщиком программного обеспечения для разработки игр. Больше всего игр сделано именно на этом движке. Так, за 2015 год было создано 220 тысяч видео игр, а установки превысили 4,2 миллиарда раз. Все больше геймеров играют в игры, сделанные на Unity, и все больше разработчиков полагаются на их инструменты и сервисы для управления своим бизнесом. Мы уже писали о Unity 5 на нашем сайте, сравнивая его с другими игровыми движками: Девгам. Сейчас мы вкратце расскажем о нём.
Игровой движок Unity 5 предлагает широкий спектр функций и довольно простой для понятия интерфейс. Это кросс-платформенный движок, который с легкостью портирует игры на Android, IOS, Windows Phone 10, BlackBerry, делая его замечательным инструментом для создания мобильных игр. Он также имеет возможность создания видеоигр для консолей нового поколения: PS4 PRO, Xbox One S.
Unity поддерживает 3D форматы различных программ: 3ds Max, Maya, Blender, CINEMA 4D, Softimage и так далее. Новый Unity3D поддерживает гибкую настройку Спрайтов (Sprites) и 2D физики, что делает его отличным игровым движком для создания 2D и 2.5D игр. Именно поэтому многие компании, нацеленные на создание мобильных проектов, выбирают Unity, потому что быстрая разработка, минимальные вложения, портирование на все возможные платформы — это то, что по-настоящему нужно небольшим компаниям.
Помимо того, этот игровой движок работает в связке со многими 3D программами, он также содержит полезные функции для редактирования внутри движка. Unity не имеет реальных инструментов для моделирования, есть только возможность масштабировать и накладывать текстуры на 3D модели, поэтому все, что касается анимирования, моделирования, создания материалов, будет создаваться в постороннем 3D софте. Однако Unity3D может похвастаться большой библиотекой ассетов, где большая часть может быть скачана бесплатно, а остальная часть может быть приобретена за небольшую цену (цена определяется автором ассета).
Unity 5 имеет несколько тарифных планов. Если раньше их было все 2: бесплатная версия и платная за $75/месяц, то сейчас их куда больше. Personal версия — бесплатная сборка для тех, кто только знакомится с этим игровым движков. Доход в данном случае не должен повышать $100.000 долларов за квартал. Вам будут доступны все функции, вы сможете начать работать сразу, как только зарегистрируетесь и установите его.
Версия Plus — сборка, подходящая для продвинутых художников. Одной из главной особенности этой сборки является замена скина UI редактора, замена начального экрана и ряд других возможностей, недоступных для пользователей с бесплатной версией.PRO версия — для мастеров своего дела. С Unity Pro у вас есть возможность посмотреть исходный код, получить премиум поддержку, ассеты можно купить на Asset Store со скидкой 40%, что очень неплохо.
И последняя версия — Enterprise. Данную сборку нельзя купить обычным способом, вам будет необходимо связываться с Unity Technologies для получения самой профессиональной сборки для 20+ сотрудников.
Unity часто ассоциируется с мобильными играми, но с выходом Unity 5 и новым рендером наблюдается огромный рост графических возможностей игрового движка, включая такие вещи, как Physically Based Shading, Global Illumination в реальном времени и HDR Reflection Probes, а также многие другие улучшения.
Unity 5 предлагает некоторые функции, которые делают его сильным соперником среди игровых движков Unreal Engine 4 и CryEngine 3. Скачать можно с официального сайта Unity.com.
Где обучаться созданию игр
- SkillBox — онлайн-университет, который предлагает сразу несколько курсов для желающих внедриться в сферу разработки игр. «Профессия геймдизайнер» это — обучение созданию игр от концепции до релиза. Используется движок Unity. Длительность обучения 8 месяцев, компания оказывает помощь в трудоустройстве, обеспечивает участие в реальных проектах.
- Нетология приглашает на курс «Геймдизайнер», в процессе которого кроме изучения базовых технологий обучающиеся создадут реальные проекты, необходимые для трудоустройства. Разработка прототипа собственной игры — на популярном движке Unreal Engine, программа обучения включает не только планирование и написание кода, но и ознакомление с маркетингом.
- Факультет разработки игр Онлайн-университета Mail.Ru приглашает на обучение и предлагает отправиться на собеседование с рекомендациями со своей полностью готовой игрой. Акцент — на практику, освоение актуальных технологий. Эти курсы по созданию игр хороши тем, что они проходят на реальном факультете реального университета. Обучением занимаются опытные разработчики с высшим образованием, имеющие ученые степени, практикующие программисты.
- Udemy — видеохостинг, где можно ознакомиться с большим количество разных курсов на любой вкус. Одни из самых популярных — Разработка игр на Unity 3D, Разработка HTML5 игр на Phaser 3. Можно также изучать геймдев на практике в процессе создания игры. Хороший пример — курс «Шахматы на C# и Unity», с помощью которого можно научиться программированию на C# и созданию игр на телефоне.
Совет №6. Составьте график разработки
Закончить игру — слишком масштабная задача. Разделите её на основные этапы — собрать уровень, написать диалоги, — а затем разбейте эти этапы на мелкие задачи, которые вам по силам выполнить за неделю.
Да, дедлайны нужны даже свободным художникам. Расписание даст вам возможность отслеживать свой прогресс и чувствовать, что вы не стоите на месте.
Скриншот из Never Again
В посте, посвящённом разработке Never Again, Валентин Щекин даёт совет по составлению графика: «…Есть негласное правило разработчика: время, заложенное на разработку, нужно умножать на два. Не верьте! Нужно умножать на четыре».
Ритм
Существует такое понятие, как ядро геймплея (или ядерные механики, ядерный цикл) — это повторяющиеся механики, с которыми игроку придется сталкиваться все время. Часто можно встретить такую схему: игрок убивает врага, прокачивается и идет убивать врага посильнее, чтобы прокачаться еще лучше и снова пойти на нового врага.
Однако если вся игра будет строиться только вокруг прокачки, то это однообразие действий быстро надоест. Представьте, что вы слушаете музыку, в которой нет ничего, кроме трех повторяющихся нот. Интереса хватит на пару минут, но потом уже станет тошно.
Чтобы этого не случилось, в игру нужно добавить ритм или динамику: это чередование действий, которые должен выполнить персонаж. Например, сначала немного сражений, потом исследование локации, решение головоломки, снова поединок, разговор с ключевым для сюжета персонажем и так далее.
Если человек будет занят одним делом слишком долго, ему быстро надоест, и он не захочет больше играть.
В Fable: The Lost Chapters игрок мог пойти рыбачить, если ему надоедало сражаться с монстрами и бандитами.
Ловим мяч
Я хочу, чтобы игроки ловили скачущий мяч. Когда он пойман, у него появляется владелец, и он следует движениям владельца. На рис. 10 в метод move мяча добавлена функциональность, позволяющая мячу перемещаться вслед за владельцем.
Рис. 10. Заставляем мяч следовать за своим владельцем
На данный момент способа получить позицию объекта Player пока нет, поэтому я добавлю аксессоры getPosition и getSide в объект Player:
Теперь, если у мяча есть владелец, он будет следовать за этим владельцем. Но как определить владельца? Кто-то должен поймать мяч. На рис. 11 показано, как узнать, когда один из спрайтов игроков касается мяча. Когда это происходит, я устанавливаю владельцем мяча этого игрока.
Первый шаг в реализации класса player — заставить функцию move изменять позицию игрока.
Рис. 11. Обнаружение коллизии для мяча и игроков
Если вы сейчас попытаетесь поиграть в эту игру, то обнаружите, что мяч отскакивает от верхнего края экрана и что можно двигать игрока, чтобы поймать мяч. А как бросить мяч? Для этого и предназначены элементы управления по правую руку. На рис. 12 игроку добавлена функция fire, а также свойство aim.
Рис. 12. Свойство aim и функция fire для мяча
Код на рис. 13 дополняет функцию, связанную с клавиатурой. Он задает aim и fire объекта игрока. Прицеливание работает слегка иначе. Когда клавиша прицеливания освобождается, задается прямое направление (straightforward).
Рис. 13. Подготавливаем функцию прицеливания для игрока
И завершающее добавление относится к сенсорной поддержке для всех элементов управления. Элементы управления справа изменяют направление прицеливания игрока. Кроме того, я сделаю так, чтобы касание любого участка экрана приводило к броску мяча:
2D анимация
У вас есть два варианта для создания 2D анимации:
- Кадр за кадром. Здесь вам придется рисовать каждый кадр анимации и затем соединять их воедино. Для этого вам следует использовать спрайт- листы вместе с TexturePacker (или, если вы используете Unity — Sprite Packer).
- Скелетная анимация. Нарисуйте все нужные конечности объекта и затем анимируйте, меняя их положение относительно предыдущего состояния. Этот способ анимации быстрее, проще и сэкономит место на вашем жестком диске, по сравнению с анимацией «кадр за кадром». Если вы решили создать 2D анимацию и используете движок Unity — попробуйте начать с анимации спрайтов или Anima2D.
Unreal Engine 4
Unreal Engine 4 — бесплатная программа для создания игр под Windows, Mac Os, IOS, Android, Linux, Web, Playstation 4, Xbox One и Virtual Reality, разработанная американской компанией Epic Games. Unreal Engine 4 — это не просто софт для создания игр, UE4 также является отличным редактором видео, на нем можно создавать видео, заниматься визуализацией и создавать проекты под очки виртуальной реальности. Unreal Engine 4 был платным игровым движком, но после Epic Games заявили: «If you like something, set it free!», т.е. всеми любимый движок можно скачать абсолютно бесплатно. Единственное, чем нужно отблагодарить Epic Games — 5% с одной копии игры, что очень хорошо. Unreal Engine 4 в основном рассчитан на AAA(Triple A) проекты, то есть такие игры, как: Mortal Kombat X, Paragon. Поэтому 5% с одной копии — это очень маленькая сумма. Если вы решили использовать Unreal Engine в качестве редактора видео или хотите создать в нем фильм, то Epic не берет никаких процентов. Этот игровой движок имеет мощное коммьюнити и документацию, правда, не в России. В РФ почему-то прижился именно Unity, и он (Unity 5) имеет более заполненный магазин, читабельную документацию и море российских форумов, полностью посвященных именно Unity3d. Зато Epic Games имеет более строгие правила как к контенту, так и к своему движку. Например, вам будет очень трудно создать такие условия, чтобы UE4 крашнулся, когда Unity это делает очень часто. Магазин Unreal Marketplace, в отличие от Unity Asset Store, имеет только большие и стоящие паки моделей, скриптов, текстур и готовых сцен. В Unity Asset Store трудно найти что-то стоящее, ведь большинство ассетов — это вещи, которые давно не обновлялись и не дополнялись. Посмотрите видео ниже, на котором показана работа Landscape Auto Material:
Какую игру лучше всего создать
Четких ограничений нет, выбор в конструкторах обычно предоставляется обширный: квест, карточная игра, догонялки, стрелялки, экшн. Обилием жанров больше всего славится приложение Construct 2.
Самым лучшим вариантом для новичка, пожалуй, станет платформер. Бродилки по незамысловатому лабиринту или легкая драка со злодеем – типичный, но довольно неплохой сюжет для начала. И все это вполне реально воссоздать, используя бесплатный и удобный конструктор.
Еще вас могут заинтересовать карточные игры, где не требуется высокая графика, четкая прорисовка и множество действий. Все шаги, в том числе тасовка карт и раздача, отличаются от других жанров однотипностью. Обычно у таких игр и самый простой интерфейс, состоящий из обычного меню.
Самое сложное направление для создания, это, конечно, экшн-игры, где присутствует детальный проработанный мир, обычно сделанный в 3D-формате, несколько главных персонажей, длительный сюжет и множество уровней. На примере рассмотрим известное приложение Modern Combat. Конечно, для такой мощной игрушки требуются десятки специалистов, хорошие вложенные деньги и месяца работы. Но это не значит, что пользователь сам не сможет создать 3D-игру. Нужны только хорошие умения и навыки, поэтому этот жанр следует оставить на потом.
Заключение
Теперь у вас есть полноценная веб-игра, которая работает на ПК, смартфонах и планшетах. Эту игру можно усовершенствовать по многим направлениям. Например, сейчас она будет плохо выглядеть в портретном (книжном) режиме на смартфоне, поэтому вам нужно держать смартфон только в альбомном режиме, чтобы игра работала корректно. Это лишь небольшая демонстрация возможностей разработки игр для Web и не только.
Michael Oneppo — креативный технолог и бывший менеджер программ в группе Microsoft Direct3D. В последнее время работает в качестве главного технического директора в технологической некоммерческой компании Library For All и ведет исследования по программе NYU Interactive Telecommunications Program для получения степени магистра.
Выражаю благодарность за рецензирование статьи эксперту Магомету Амину Ибрагиму (Mohamed Ameen Ibrahim).