5 бесплатных open source движков для игр на JavaScript


10 крутых игр на JavaScript до 13кб кода

В этой веселой статье мы познакомимся с удивительным игровым челленджем JS13K. Это ежегодный конкурс по программированию, в котором супер талантливые разработчики JavaScript демонстрируют игры, которые они создали с помощью JavaScript и использовали всего 13 КБ кода или даже еще меньше.

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

OnOff

Это впечатляющий платформер с отличным дизайном и веселой музыкой. Уклоняйтесь от шипов, перепрыгивайте через ямы и переходите из одних измерений в другие, чтобы пройти все 25 уровней. В игре классный редактор уровней и вы можете даже создавать свои собственные уровни.

Everyone’s sky

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

Underrun

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

Konnekt

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

Super Chrono Portal Maker

Этот платформер, представляющий собой оригинальную игру Super Mario, предлагает 30 уровней, в которых нужно бегать и прыгать. Каждый уровень вводит все больше игровой механики, делая игру супер увлекательной. Существует также конструктор уровней, создавайте свои уровни и делитесь с ними с друзьями.

Offline Paradise

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

Raven

Raven — игра-головоломка, в которой вам нужно починить камеры безопасности секретного объекта. Есть загадочные существа, за которыми вам нужно следить, иначе они убьют вас в темноте.

Systems Offline

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

Re-wire

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

Off The Line

Off-line — одна из тех игр, которые имеют очень простую концепцию, и в то же время заставляют хорошо подумать перед прохождением уровня. Бросьте вызов 20 этапам с 3 уровнями сложности!

1024 Moves

Это удивительная трехмерная головоломка, в которой вам предстоит переместить куб через сетку плиток и достичь финиша. Избегайте дыр, перемещайте различные объекты и попробуйте пройти все уровни менее чем за 1024 хода.

Spacecraft

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

#mopsicus

Движки онлайн игр на Node.js

Когда читаешь форумы и паблики по Unity, часто встречаются вопросы/ответы: как сделать онлайн игру, как сделать мультиплеер, что лучше unet, photon, etc. И часто люди советуют друг другу, как раз решение от самой Unity — UNet или другой вариант — Photon.

Что с одной стороны понять можно — есть документация, примеры, готовый мультиплеер и матчмейкинг, не нужен свой сервер и т. д. Только за это надо платить, когда сервер не твой, то нет полного контроля и гибкости + на тарифе Unity Pro — лимит всего 200 игроков онлайн! У Photon тоже есть ограничения и тоже платная подписная модель. Поэтому если есть вероятность, что игра выстрелит (все же на это надеются :), стоит задуматься о собственном сервере.

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

Вариант №1

Можно заморочиться, написать клиент и сервер на Unity с использованием UNet и запустить его на своём сервере в режиме Headless Mode. Не пробовал, не знаю.

Вариант №2

Написать свой онлайн движок. Или использовать чей-то.
Тут есть место где развернуться, есть много серверных языков и фреймворков. Есть и готовые движки для онлайн игр и ничто не мешает их использовать вместе с Unity. Я рассматривал только Node.js, потому что имел с ним дело и могу разобраться, но уверен, есть и другие, на других языках.

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

Pomelo

В Google он найдется одним из первых. Написан китайцами, давно не поддерживается и заброшен. Достаточно наворочен и имеет хорошую подробную документацию и примеры, можно расширять плагинами, вообще стоит посмотреть на его архитектуру. Есть готовый клиент для Unity и других платформ.

Colyseus

Этот движок обновляется, последний апдейт был пару недель назад. Позиционируется как движок для HTML5 игр. Работает через вебсокеты, данные сжимаются msgpack, есть встроенный матчмейкинг и компенсация лагов. Хорошая документация и примеры. Есть официальные клиенты на JS, Unity и CoronaSDK.

Lance

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

Обзор бесплатных open-source игровых движков.

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

Agar — написан на C и C++, есть связь с языком Ада, с другими — в разработке. Последнее обновление 30 октября 2008 года.
Aleph One — разработан Open Source сообществом на основе исходных кодов игры Marathon 2: Durandal, разработанной компанией Bungie Software в 1995 году. Поддержка основных операционных систем. Есть собственный язык Marathon Markup Language, поддержка Lua. Обновлялся последний раз 22 июля 2008 года.
Allegro — библиотека для разработки игр. Написана на С/С++, кросплатформенная. Есть связь практически с большинством языков — Ada, C++, C#, D, LISP, Lua,Mercury, Pascal, Perl, Python, Scheme и др.
Blender GE — ну думаю в представлении не нуждается.
Boom — движок на основе Doom
Box2D — кросплатформенный игровой физический движок, написан Erin Catto на С++. Известен тем, что использовался при создании игры Crayon Physics Deluxe (пазлы). Взял премию в IGF (Independent Game Festival).
CranLib — кросплатформенная объектно-ориентированная библиотека на C++. На форуме сайта видно движение — проект актуальный.
Crystal Entity Layer — расширение движка Crystal Space
Crystal Space — хорошая среда разработки. Работают совмество с разработчиками Blender.
Cube — кросплатформенный движок одноименной игры для создания шутеров.
DarkPlaces — сильно модифициоранный движок Quake с поддержкой современной графики.
Delta3D — кросплатформенный, хорошо развивается, свежий релиз вышел совсем недавно.
Doom — теперь уже открытый и бесплатный движок.
DXFramework — движок по Win (использует DirectX) для скорее образовательных целей.
EternityEngine — еще один модифицированный Doom движок.
Exult открытая реализация популярного движка Ultima IV.
FIFE — дфижок для создания 2D изометрических игр.
GZDoom — еще один модифицированный Doom.
Genesis3D — 3D движок реального времени под Windows
GenesisDevice — мощный движок, написанный на Object Pascal под Windows платформу.
Horse3D — маленький и мощный движок.
Irrlicht — кросплатформенный, написан на С++, поддерживает языки #NET,java, perl, ruby, basic, python, lua, и другие.
jMonkeyEngine — Java — движок.
Jogre — основанный на Java клиент-серверный движок для создания он-лайн игр типа шашки, шахматы и тд.
KallistiOS — среда разработки для игровых консолей Dreamcast(tm), Gameboy Advance(tm), Playstation 2(tm), and x86-based компьютеров.
Lightfeather — кросплатформенный, отличный движок!
Nebula Device — 3D движок реального времени разработанный студией Radon Labs. Обновлялся в сентябре 2008. Расчитан на Windows, но есть порты на Mac и Linux.
OGRE Engine — очень популярный обьектно-ориентированный графический движок. Также известен как OGRE3D. Написан на С++. Существует поддержка Windows, Linux и Mac OS.
ORX — портативный легкий игровой 2D-ориентированный движок. Написан на С с архитектурой плагинов (на С++) — кросплатформенный.
Panda3D — относительно легкий в использовании python-управляемый игровой движок созданный Carnegie Mellon University. Его использует Disney для производства своих игр.
RealmForge — движок для .NET
Retribution Engine — движок для создания шутеров от первого лица (Windows).
Sauerbraten модифицированный кросплатформенный Cube (aka Cube2) движок.
SDL — библиотека SDL. В комментировании не нуждается.
SFML простая и быстрая мультимедиа библиотека.
Spring — мощный игровой движок реального времени.
Stratagus — хороший движок для создания 2D игр. В 2007 году разработчики перешли в проект Bos Wars
Xilon II — непримечательный 2D движок под Visual Basic .NET

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

В следующий раз рассмотрим просто бесплатные движки.

На чём делать HTML5 игры?

С уходом Flash из браузеров необходимость делать браузерные игры на чём-то другом возросла чуть больше чем полностью. В технологиях альтернативы нет, она одна — HTML5 технология.

И для того чтобы начать делать HTML5 игры, хорошо бы сначала выбрать средство для этого, благо что выбор в HTML5 движках и фреймворках для игр имеется)

Сначала рассмотрим HTML5 движки и фреймворки хорошо подходящие для создания 2D игр, а потом рассмотрим для 3D.

Стоит рассказать про технологии рендера HTML5, их две: canvas и WebGL. Суть разницы: canvas — это для отображения 2D и работает без проблем практически во всех браузерах, а WebGL — это для рендера 3D и может работать не во всех браузерах.

Для HTML5 2D пару лет назад было очень важно чтобы движок умел рендерить в canvas, а не только в WebGL, т.к. порталы игр брали игры только на canvas. Но сейчас ситуация меняется и WebGL становится более обыденным и показателем большой скорости рендера в сравнение с canvas. Но если вы делаете 2D HTML5 игру, то на всякий случай она должна уметь рендериться в canvas — вдруг спонсор не захочет WebGL.

На просторах инета я нашёл вот такую таблицу популярности HTML5 2D движков: https://html5gameengine.com

Коротко рассмотрю топ из этой таблицы в своём порядке)

Основной фишкой PixiJS является скорость рендера. Авторы утверждают, что на данный момент это самый быстрый движок рендеринга 2D. В основном используется WebGL рендер везде где это возможно и лишь для старых браузеров автоматически включается рендер в canvas.


На оф. сайте есть кучка примеров и документация.

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

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

Если же вы хотите, чтобы такие базовые вещи были уже сразу из коробки, то прошу к ознакомлению с Phaser-ом.

Phaser — HTML5 игровой движок с открытым исходным кодом. Он хорошо поддерживается Ричардом Дэви и сообществом вокруг него. Для рендера используется PixiJS, так что он может рендерить в canvas или webGL по выбору и за скорость можно не беспокоиться.

Тонны примеров на оф. сайте, огромное комьюнити и отличный форум.

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

Есть готовые шаблоны в MS Visual Studio для новых проектов Phaser с использованием языка TypeScript.

Я выбрал этот движок после долгих раздумий между CreateJS, PixiJS и Phaser и остался доволен. После Haxe+OpenFL пришло приятное ощущение, что я занимаюсь разработкой игры, а не костылями для разработки игры) Я сразу решил использовать TypeScript и был приятно удивлён, что в MSVS есть готовые шаблоны проектов.

ImpactJS занимает топовые места рейтинга HTML5 Canvas Game Engine с самого 2010 года, когда он и появился на публике. Это игровой движок на JavaScript. Поставляется вместе с Ejecta Framework, который помогает публиковать игры на iOS и tvOS. Ejecta берет исходники в js и компилит его под OpenGL. По словам разработчиков игры не будут отличаться от нативных игр на Objective-C.

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

Но такие прелести уже не бесплатны, ImpactJS стоит $99 USD. Но, если всё взвесить, то я думаю эта сумма отобьётся и оправдается после 1-2 проданных игр.

Сам я опыта с импактом не имел, но на вид он мне нравится.

Преимуществом фреймворка CreateJS является то, что он достаточно унифицирован под браузеры и его поддерживают Adobe пр., т.е. это некая гарантия (наверно), что фреймворк будет обновляться и выдавать минимум багов в бразуерах. Хотя мы то с вами знаем, что поддержка Adobe ничего не значит)

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

Беспрепятственное встраивание любого API, ads и пр.

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

Парадигма «конструктора без кода», например, мне, как программисту, не нравится, т.к. я могу не мало потерять в гибкости своей программы на разных этапах. Представьте, что вы делали игру месяц, идёт процесс продажи вы уже договорились со спонсором, нужно встроить его API в игру и тут вы понимаете, что фиг его знает как встроить API на js в этом конструкторе.

Теперь рассмотрим на чём можно делать HTML5 3D игры.

Unity 5 — один из лучших движков для создания 2D и 3D-игр так же поддерживает экспорт в HTML5 WebGL.

Я думаю будет не мало Unity WebGL игр на порталах, которые уже начали бодро закупать 3D WebGL. Вы можете попробовать демо-версию Unity WebGL здесь.

Стоимость: Бесплатная / Платная лицензии.

Unreal Engine 4 представляет собой набор интегрированных инструментов для разработчиков игр для разработки и создания игр, он так же, как и Unity, поддерживает экспорт в HTML5 WebGL начиная с версии 4.7.

Стоимость: Бесплатная / Платная лицензии.

Three.js — легковесная кроссбраузерная библиотека JavaScript, используемая для создания и отображения анимированной компьютерной 3D графики при разработке веб-приложений. Three.js скрипты могут использоваться совместно с элементом HTML5 CANVAS , SVG или WebGL. Исходный код расположен в репозитории GitHub.
Babylon.js — легковесный кроссбраузерный JavaScript-фреймворк, использующий API WebGL для отображения 2D и 3D-графики в браузере без использования каких-либо сторонних плагинов и дополнений.

Babylon.js использует элемент HTML5 Canvas. Фреймворк распространяется под лицензией Apache 2. Исходный код расположен на GitHub.

Фреймворк был разработан Дэвидом Катушем (David Catuhe), Дэвидом Руссе (David Rousset), Пьером Ларард (Pierre Lagarde), и Мишель Руссо (Michel Rousseau), а также независимыми сторонними разработчиками.

На тему сравнения Three.js и Babylon.js есть не плохая статья на хабре: Игровой мир WebGL или Three.js vs Babylon.js.

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

Для себя я выбрал Phaser для создания 2D HTML5 игр. А для 3D HTML5 я бы взял Unity.

Инструменты для создания и распространения HTML5-игр

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

Все больше социальных приложений поддерживают внутренние HTML5-игры: помимо Telegram и Facebook Messenger , эту функцию получило мобильное приложение ВКонтакте . Достоинство HTML5-игр в том, что их легко создавать и распространять, а кроссплатформенность делает платформу HTML5 идеальной для создания многопользовательских игр. Мы рассмотрим основные инструменты и движки для разработки HTML5-игр, а также возможности их распространения.

Фреймворки и движки

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

Фреймворк для разработки 2D-игр, он предназначен не только для профессиональных разработчиков, но и для людей, неумеющих программировать: дизайнеров, художников или студентов. В комплекте доступно более 20 плагинов и 70 визуальных эффектов для создания игры, которую затем можно сразу же опубликовать на нескольких платформах. Construct 2 можно попробовать бесплатно, а полная версия инструмента стоит 6299,9 рублей.

Бесплатный движок с открытым исходным кодом позволяет создавать игры с применением Canvas и библиотеки WebGL. На сайте Phaser доступно множество примеров и обучающих статей, которые помогут вам в создании собственной игры.

Набор open source-библиотек для разработки игр: EaselJS предназначена для работы с HTML5 Canvas, SoundJS – для работы с аудио, TweenJS – для создания анимаций, а PreloadJS – для управления загрузкой всех необходимых элементов.

Д вижок для создания 3D-игр с использованием WebGL. Исходный код проекта открыт и постоянно обновляется.

Д вижок, позволяющий создавать 2D и 3D-игры и размещать в этих играх рекламу для получения прибыли. PlayCanvas бесплатен для публичных проектов, можно приобрести и одну из двух платных версий с расширенными функциями.

Ппо словам создателей, основным преимуществом PixiJS является скорость рендеринга. Движок полностью бесплатен, он предназначен для создания 2D-приложений: много примеров доступно на сайте проекта.

Существуют и другие полезные инструменты, обширный список фреймворков для разработки HTML5-игр доступен на GitHub . Есть даже отдельный сайт, посвященный игровым движкам для HTMl5: HTML5gameengine.com.

Врапперы

При помощи врапперов можно превратить HTML5-игру в нативную для размещения в магазинах приложений.

Ejecta изначально была частью движка Impact, но она может работать и с другими проектами. Этот враппер предназначен для публикации HTML5-игр на iOS.

PhoneGap – бесплатный фреймворк, основанный на Apache Cordova; он позволяет преобразовывать JavaScript, HTML5 и CSS в приложения для мобильных платформ.

Похожими функциями обладает и open source-платформа Game Closure , но она не обновлялась уже некоторое время, а её разработчики занялись созданием “универсальной среды для создания и распространения приложений” Blackstorm .

Платформы для распространения

Кроссплатформенные HTML5-игры удобно и просто распространять через мобильные приложения социальных сетей и мессенджеры.

Недавнее обновление приложения ВКонтакте включает в себя платформу Direct Games, для которой модераторы будут отбирать лучшие проекты. Чтобы предложить свою игру, нужно интегрировать в код Mobile SDK ВКонтакте и подать заявку на модерацию.

В Facebook добавить свою игру можно при помощи плагина для движка Cocos2d-X . Пока это единственный широко доступный способ загрузить свою игру в Facebook, так как платформа Instant Games для Messenger пока доступна для разработчиков в режиме закрытого бета-тестирования .

В Telegram опубликовать свою игру проще всего: создать её можно при помощи специального бота .

Существует и ряд более традиционных платформ, занимающихся публикацией и дистрибуцией HTML5-игр: Kongregate , CoolGames , Softgames , itch.io , Gamemix и другие. Все они позволяют разместить свою игру бесплатно и монетизировать её при помощи рекламы, внутриигровых покупок или freemium-модели. Также недавно Rakuten Games запустила в Японии HTML5-платформу для социальных игр – R Games.

Обучение

Научиться созданию HTML5-игр можно при помощи многочисленных курсов: курс от Google на Udacity , вводный курс от Zenva Academy или Udemy , также можно воспользоваться статьями от Mozilla Developer Network. В целом, сообщество разработчиков HTML5-игр достаточно развито, есть даже отдельный сайт с форумами для разработчиков.

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

Выбор движка для первой игры

Разбор технологий и платформ — первая статья из цикла о разработке.

Автор: Антон Григорьев. Первую игру написал самостоятельно ещё в школе, а на 4-м курсе устроился на позицию джуниор-разработчика. В Pixonic работает заместителем технического директора и руководит отделом клиентской разработки. Отвечает за запуск новых проектов, обучение и внедрение новых технологий. Говорит на пяти языках, а программирует на десяти.

Когда вместе с vc.ru мы запускали проект «Пора создать свою первую игру», то не ожидали увидеть так много крутых работ в первом конкурсе. После цикла «Геймдизайн» нас завалили концептами с продуманными идеями, геймплеем, метой. С таким уровнем можно смело переходить к прототипированию на движке и тестированию конкретных механик.

За несколько недель мы:

  1. Придумали идею для игры.

  2. Написали концепт.
  3. Сделали бумажный прототип.
  4. Расписали мету.
  5. Целый день отвечали на вопросы о геймдизайне и не только
  6. И разыграли PS4 Pro God of War Limited Edition.

Эта статья — первая из нового цикла «Разработка», где мы будем учиться делать цифровые прототипы, выбирать движок, заполнять пробелы в кодинге с помощью обучающих материалов и не только. В конце снова разыграем крутые призы, а главным станет вышедший недавно бандл PS4 Pro Spider-Man Limited Edition. Поехали.

Платформы

Разработка игр для смартфонов, ПК и консолей значительно отличается. Хотя бы потому, что у них разные технические характеристики, устройства ввода/вывода и способы распространения продукта. Сразу сделать одну игру на несколько платформ не получится, но об этом мы еще поговорим. А пока рассмотрим особенности каждой из платформ и перейдем к движкам.

Мобильные устройства

  • Тачскрин для ввода и вывода информации — следовательно, пальцы не должны закрывать важные элементы интерфейса.
  • Смартфоны и планшеты должно быть удобно держать, чтобы играть одной/двумя руками. Отлично подходит для казуальных игр (match-3, hidden object, интерактивных историй и так далее), а для шутеров — не очень.
  • Ограниченная оперативная и графическая память, которые часто совмещены. Нужно постоянно следить за ними, отгружать ненужные ресурсы, текстуры и ужимать звук, то есть использовать форматы с компрессией.
  • Ограничения графики. Можно сделать крутые шейдеры как в Crysis, но на телефоне это будет жутко тормозить.
  • Частые потери пакетов, пинг в 200 мс — норма. В случае сетевых игр это нужно учитывать.
  • Распространение через сторы (App Store, Google Play, Amazon). Понадобится поддержка API покупок, социальных функций и так далее.
  • Для Android придется учитывать огромное количество гаджетов с разной производительностью, соотношением сторон экрана и разрешением.
  • Ввод с клавиатуры и мыши — то, к чему мы привыкли с детства.
  • Вывод картинки на экран монитора. Моделей мониторов много, они отличаются частотой смены кадра, размерами, разрешением — это нужно учитывать во время создания интерфейса игры.
  • Большой размер оперативной и видеопамяти. Можно позволить себе детализированные текстуры, плавные анимации, высокополигональные объекты мира и большие карты.
  • Огромное разнообразие видеокарт, процессоров и других комплектующих, что делает тестирование игры трудоёмким процессом.
  • Возможность распространения старым добрым способом (диски) либо через онлайн-магазины (самый популярный на данный момент — это Steam).

Консоли

  • Управление с джойстика. Лучше подходит для аркад, файтингов, игр от 3-го лица, но не так удобно для шутеров. Хотя последнее поколение геймеров играет с джойстика не хуже, чем с клавиатуры и мыши.
  • Продвинутые графические технологии.
  • Ограниченное количество конфигураций устройств. Например, если разработка ведётся под Xbox One или PS4, то нужно знать особенности только этих устройств, а значит и тестировать будет проще. В отличии от различных конфигураций ПК или целого «зоопарка» устройств на Android.
  • Не все плагины портированы или хорошо работают, например, сетевые библиотеки и плагины аналитики. Но в последнее время их становится больше).
  • Вывод на экран телевизора/проектора. У кого-то может стоять новый изогнутый Samsung, а у кого-то бабушкин «ящик» с электронно-лучевой трубкой — это тоже нужно учитывать.
  • Чтобы выпустить игру на консоли, нужно пройти лицензирование — процесс проверки соответствия игры стандартам платформы. Это долгий процесс, со множеством условий и ограничений. Например, при портировании одной игры на консоль от Nintendo я с командой когда-то не прошёл лицензирование с первого раза из-за того, что время загрузки уровня было больше половины секунды, а по их правилам это нужно обозначать в виде иконки загрузки или надписи Loading. И таких нюансов немало.
  • Ограничения на размер игры, поскольку она будет загружаться в браузере. Никто не любит долго ждать. А еще некоторые играют в браузере телефона и платят за трафик. В общем, делать полноценный AAA-тайтл нет смысла.
  • Ограничения по 3D (используется WebGl). Поэтому в Web в основном выходят 2D-игры.
  • Ограничения по сетевой игре, ведь обычные сокеты недоступны. Можно делать запросы по https или использовать WebSockets. В основном на Web можно делать простые игры с небольшим количеством запросов к серверу. Например, фермы. Сетевые 3D-шутеры делать тоже можно, но сложно.
  • Дешёвая интеграция с соцсетями. В первую очередь, Facebook. Поэтому делается упор на социальную составляющую.
  • Необычное управление: головой, перчатками, перемещением, джойстиками. Все эти устройства нужно поддерживать, у них обычно свой SDK. Кроме того, управление нужно сделать «естественным» для человека.
  • Эффект укачивания. Не всем шлем может «зайти», а при плохой реализации игры стошнит даже самого стойкого. Чтобы этого не было, движения в игре обычно делают плавными.
  • «Экран» VR-шлема делится на две части — по одной на глаз. Поэтому, чем выше разрешение, тем качественнее получается картинка. Если сравнить картинку на PS VR и HTC Vive, у последнего она будет детальнее, а потому и погружение ощущается лучше.
  • Совершенно другой пользовательский интерфейс, по сравнению с ПК и мобильными устройствами Обычно он трехмерный, а чтобы нажать на какой-нибудь элемент нужно задержать взгляд на определенной кнопке.

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

Совет для начинающих:

  • Лучше начать с одной платформы, на которой вам самим нравится играть — вы уже хорошо в ней разбираетесь.
  • Тестировать игры для мобильных устройств или ПК обычно в разы проще, чем, например, для консоли. Смартфоны и компьютеры есть почти у всех, и от нажатия кнопки Build в редакторе до загрузки прототипа на устройство может пройти лишь несколько секунд.

Обзор основных движков

Сначала поговорим про «взрослые» движки. Они позволяют разрабатывать под несколько платформ сразу, кроме того, у них есть очень много полезных инструментов. Пугаться и начинать с более простых не стоит — список составлен с учетом доступности для новичков, количества обучающих материалов в открытом доступе, наличия хороших вышедших игр на движке и цены.

Unity

Один из самых популярных движков на сегодня.

Платформы: мобильные устройства, ПК, Mac, Linux, консоли, Facebook, WebGl, VR и другие.

Unity идеально подходит для разработки под мобильные устройства (но не только). На нём сделаны Angry Birds 2, Hitman Go, Heartstone, Monument Valley, Fallout Shelter, Ori and the Blind Forest, Pillars of Eternity, Firewatch, Inside, Pokémon Go, Super Mario Run, Cuphead, Escape from Tarkov, Life Is Strange: Before the Storm и множество других популярных игр.


В Unity можно спокойно разрабатывать как 2D, так и 3D-проекты. В Asset Store есть много готовых платных и бесплатных решений: модели, текстуры, анимации и полноценные проекты. Например, шутер про зомби. Очень много обучающих материалов как от самих Unity, так и от энтузиастов на YouTube (подробнее расскажем в следующем материале цикла). Плюс множество плагинов для рекламы и внутриигровых покупок.

Язык программирования: C #, по сравнению c С++ у него меньше возможностей выстрелить себе в колено, в частности, это касается работы с памятью. Также поддерживается JavaScript, который на самом деле UnityScript. Если писать код совсем лень или нет навыков, есть плагины, которые позволяют делать игры без написания кода, например, Playmaker. Правда, за него придется выложить 45 долларов.

Кто-то ругает Unity за графику, но на самом деле графику можно сделать красивой на любом движке, просто в Unity она по умолчанию средняя. В последней версии движка появился новый Rendering Pipeline, и с ним вполне можно делать графику на уровне топовых AAA-проектов.

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

Unreal Engine

Очень продвинутый движок, сообщество которого в последнее время быстро растет, чему способствует компания-разработчик Epic Games. По Unreal Engine проводятся митапы, стримы, а в этом году прошла первая конференция, посвященная разработке на Unreal.

Платформы: движок в первую очередь для тех, кто хочет делать проекты с крутой графикой на ПК и консолях. Для мобильных устройств тоже подходит, но пока популярных мобильных игр на Unreal Engine немного: Fortnite и PUBG. Ещё на нём сделаны серия Infinity Blade, Batman: Arkham Knight и Life is Strange.

Язык разработки: C++. Кого-то это может отпугнуть, но есть решение — блюпринты. С их помощью теоретически можно разработать игру, не написав ни строчки кода. На практике — это очень полезно для быстрой разработки прототипов. Также есть магазин ассетов Unreal Engine Marketplace, где можно скачать готовые модели, звуки и полноценные проекты.

Злые языки говорят, что Unreal Engine превосходит Unity по графике. На самом деле это просто разные движки. Хотя частицы и пост-эффекты в Unreal Engine по умолчанию всё же красивее.

Стоимость движка: 5% роялти, если разработчик зарабатывает на игре больше $3000 за квартал.

CryEngine

Стал известным после выхода Crysis — прорывной для своего времени игры. На нём вышло очень много крутых больших игр: первый Far Cry, MechWarrior Online, Sniper: Ghost Warrior 3, Armored Warfare, Homefront: The Revolution, Prey 2020-го года.

Платформы: ПК, консоли и VR. Официальной поддержки мобильных устройств нет, но по слухам разрабатывать можно.

Код движка можно модифицировать, что приносит как радость, так и боль. Я сам работал с CryEngine 2 — много модифицировали движок, исправляли баги, а когда попытались перейти на CryEngine 3 — потратили месяц и в итоге вернулись на предыдущую версию, так и не справившись с некоторыми проблемами.

Язык разработки: C++. Совсем недавно появился Marketplace с ассетами.

Стоимость движка: начиная с пятой версии — 5% роялти с при доходе с игры более $5000, а ведь помню времена, когда он стоил миллион евро.

Lumberyard

Молодой и бесплатный движок с открытым исходным кодом от Amazon на основе CryEngine для разработки игр AAA-класса. Главная особенность — встроенная поддержка сервисов от Amazon, например, AWS и Twitch.

Платформы: Windows, PlayStation 4, Xbox One, iOS, Android, VR (Oculus Rift, HTC Vive).

Серьезных проектов на Lumberyard в разработке пока можно пересчитать по пальцам, а выпущенных проектов нет вообще.

Язык разработки: C++.

Стоимость движка: бесплатный, но за поддержку сервисов Amazon придётся заплатить.

Другие движки

В последнее время среди разработчиков игр для Web набирают популярность HTML5-движки. В их основе лежит WebGL, WebAudio и JavaScript. Самые популярные движки: Phaser и Turbulenz.

Phaser

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

Лучше всего подходит для простеньких браузерных 2D-игр (match-3, hidden object, гонки).

Платформы: ПК, iOS, Android.

Turbulenz

Этот движок уже поддерживает 3D-графику с динамическим освещением, физику, обрабатываемую в реальном времени и мультиплеер с присоединением к игре в один клик по ссылке и интеграции с соцсетями. Но игр на Turbulenz пока немного.

Платформы: Web, ПК и PlayStation 4.

Есть и нишевые движки для визуальных новелл, головоломок, RPG старой школы и других 2D-игр. Например, Corona SDK, GameSalad, Cocos2d, Game Maker. В Википедии есть большой список игровых движков, но перечисленных выше должно быть достаточно.

Мы в компании считаем, что для новичков лучше всего подходит Unity. По нему очень много подробных обучающих материалов, простейшую игру можно сделать за день (умелец запилит Flappy Bird за пару часов), легко деплоить на девайсы. Мы сами используем Unity для разработки игр и прототипов, поэтому в следующих материалах цикла «Разработка» будем больше акцентировать внимание именно на этом движке.

Домашнее задание

  1. Выберите платформу, для которой вы будете делать игру в первую очередь, учитывая все особенности своего проекта.
  2. Выберите и установите движок, который вам подходит (для начала мы рекомендуем Unity).

В следующей статье рассмотрим источники обучающих материалов для разработки 2D-игр.

Какую платформу выбрать для создания мобильной игры

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

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

Что такое игровой движок? Если коротко, это набор систем, которые упрощают наиболее часто используемые функции игры. Можно, конечно, написать движок с нуля самому, но это займёт неоправданно много времени. В этой статье мы рассмотрим популярные игровые движки для разработки игр под мобильные устройства. Сравнив их возможности, вы сможете выбрать для себя наиболее подходящий и создать следующий большой хит.

Давайте взглянем на список!

Corona SDK

Corona SDK представляет собой кросс-платформенный движок для создания игр под iOS и Android. API позволяет делать 2D-игры, а также поможет вам создавать сложные функции, используя API на основе Lua. Кроме того, вы можете монетизировать Corona SDK с помощью Corona Ads. Разработка с Corona достаточно проста благодаря тестированию в режиме реального времени.

Corona включает в себя такие интересные фичи, как Corona Editor, Sublime Text plugin и многие другие. Composer GUI, доступный на OS X, предоставит вам графическую среду, в которой вы сможете создавать уровни для игр и видеть, как объекты взаимодействуют друг с другом, используя Corona’s physics engine.

Unreal Engine

UE4 позволяет создавать проекты высокого качества силами небольшой группы разработчиков за счёт мощного инструментария (в частности, визуального скриптования посредством Blueprint), открытого исходного кода и постоянного роста комьюнити.

Есть бесплатная версия Unreal Engine, переход на Pro-версию обойдётся в кругленькую сумму.

Unreal Engine использует С++, на нём вы можете разрабатывать игры для iOS и Android. В движке есть мощный редактор, заключающий в себе несколько узкоспециальных редакторов. Их освоение очень поможет вам в разработке. Некоторые редакторы даже могут заменить определённые программы. Взаимодействие всех этих подсистем — просто шедевр.

Визуализация в редакторе великолепна. Просто глаза разбегаются от изобилия опций рендеринга (связанных, например, с освещением или со сложностью шейдеров). Здесь вы найдёте массу ультрасовременных шейдеров, которые также поставляются вместе с движком. В принципе, Unreal предлагает наилучший механизм рендеринга на рынке. Можно создавать удивительно красивые сцены.

Unity

Unity считается одним из лучших игровых движков в отрасли. Есть бесплатная версия, которая может быть использована для создания 2D- и 3D-игр. Она охватывает 24 платформы: мобильные устройства, VR, десктоп, консоли и веб-платформы.

Движок поддерживает три сценарных языка: C#, JavaScript (модификация), Boo (диалект Python). Unity имеет простой Drag&Drop-интерфейс, который легко настраивать. Он состоит из различных окон, благодаря чему можно проводить отладку игры прямо в редакторе. Проект в Unity делится на сцены (уровни) — отдельные файлы, содержащие свои игровые миры с набором объектов, сценариев и настроек.

Phaser

Phaser — это фреймворк для разработки десктопных и мобильных HTML5-игр, базирующийся на библиотеке PIXI.js. Поддерживает рендеринг в Canvas и WebGL, анимированные спрайты, частицы, аудио, разные способы ввода и физику объектов. Phaser распространяется с открытым исходным кодом по лицензии MIT. Это означает, что вы можете использовать код без ограничений, но с сохранением уведомлений об авторском праве в копиях ПО, то есть в тексте вашей лицензии необходимо будет добавить указание авторских прав на этот фреймворк. Он хорошо поддерживается Ричардом Дэви и появившимся вокруг него сообществом.


Cocos2d-x

Cocos2d-x, появившийся в 2010 году, — это проект с открытым исходным кодом, распространяющийся по лицензии MIT. Разработка игр в Cocos2d-x строится на использовании спрайтов. С помощью этих контейнеров создаются всевозможные сцены, например игровые локации, или меню. Управление спрайтами происходит при помощи анимации или программного кода на языках C++, JavaScript или Lua. Благодаря современному визуальному интерфейсу спрайты можно легко изменять, перемещать, масштабировать и проводить с ними прочие манипуляции.

Большие ребята, такие как Zynga, Wooga, Glu, Big Fish Games, Konami, используют Cocos2d-x для разработки игр.

Cocos2D

Cocos2d — это open-source-фреймворк, совместимый с Swift и Objective-C. Он имеет поддержку iOS и OS X, а также Android через плагин SpriteBuilder Android (при условии, что ваш код написан на Objective-C). Поддержка Swift для Android находится в стадии разработки.

Проекты в Cocos2d создаются через SpriteBuilder — графическую среду разработки, которую можно использовать для быстрого создания прототипов и игр.

Управление сценой осуществляется через класс CCDirector, который может использовать многочисленные переходы с классом CCTransition. Он предлагает анимацию с помощью класса и действий, таких как перемещать, масштабировать и вращать CCAnimation с его CCAction-класса. Cocos2d имеет поддержку систем частиц с классом CCParticleSystem и карт плитки с классом CCTiledMap.

SpriteKit

2D-движок, оптимизированный под создание игр для Apple-устройств. В его основе лежит популярный физический движок Box 2D. Поскольку разработчики создавали его заточенным специально для устройств Apple, он существенно выигрывает в скорости у остальных движков. Предоставляет все основные функции для создания графики в играх: поддержку OpenGL-ES-шейдеров, эффектов освещения, анимации, проверки столкновений, отрисовку текста, видео и так далее.

CreateJS

CreateJS — это сборник различных библиотек для создания игр с открытым исходным кодом:

EaselJS — это библиотека, которая основана на Canvas API. TweenJS — это анимация в Canvas. И она отлично справляется со своей задачей, делая за вас и упрощая многие вещи. SoundJS, как вы уже догадались, предназначена для работы с аудио. PreloadJS помогает управлять и координировать загрузку данных.

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

AndEngine

AndEngine является одним из наиболее известных бесплатных движков с открытым исходным кодом для написания 2D-игр под Android. AndEngine, как и многие другие платформы, использует OpenGL для рендеринга и Box2D для физики через расширение.

libGDX

libGDX — это кросс-платформенный фреймворк, который написан на Java и работает с OpenGL. Предлагает поддержку нескольких платформ для публикации игры. Ingress (предшественник Pokémon GO) был разработан с использованием libGDX. Поддержка сообщества также великолепна, благодаря этому вы можете получить отличную документацию для работы.

Заключение

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

5 бесплатных open source движков для игр на JavaScript

Список движков известных форуму!
И так, подводим итоги самых популярных движков для игр на платформе Android !

Остальные менее популярные движки известные нашему форуму:

  • Defold — бесплатный
  • Buildbox — бесплатный \ платный 2675$
  • INSTEAD — бесплатный
  • Corona SDK -бесплатный / платный 550$
  • Cocos2D — бесплатный
  • LIBgdx — бесплатный
  • ORX — бесплатный
  • jPCT 3D engine — бесплатный
  • Tululoo Game Maker — бесплатный
  • Game Maker Studio — платный 99$
  • Construct 2 — бесплатный \ платный 79$
  • Stencyl — бесплатный, но поддержка Android только в платной версии
  • G > — платный 149$
  • Marmalade — платный 150$ в год
  • Ardor3D — бесплатный
  • jMonkeyEngine — бесплатный
  • MOMINIS — бесплатный
  • IRM — бесплатный
  • Linderdaum Engine SDK — бесплатный
  • Moai SDK — бесплатный \ платный 99$
  • Esenthel Engine — платный 150$
  • IwGame Engine — бесплатный
  • DX Studio — бесплатный
  • BatteryTech Engine — бесплатный \ платный 249$
  • Unreal Engine 4 бесплатный, если суммарный доход за квартал не превышает 3000$ . Если доход превышает 3000$, то Вы платите разработчикам 5% от суммарного дохода от продукта за квартал.
  • e3ro > — бесплатный
  • Antiryad Gx 3 — бесплатный
  • gameQuery — бесплатный
  • Ethanon Engine — бесплатный
  • PGS4A — бесплатный
  • Crystal Space 3D — бесплатный
  • Godot Game Engine — бесплатный
  • Multimedia Fusion 2 -бесплатный 30 дней / платный
  • Monkey -платный 99$
  • Ignifuga -бесплатный

ТУТ НАЗВАНИЕ ДВИЖКА

Жанровая направленность: .
Мультиплеер: .
Лицензия: .
Открытость исходного кода: .
Язык программирования: .
Движок написан на: .
Платформа: . (пример iOS, Android, Bada. )
Достоинства: .
Недостатки: .

Официальные ссылки:
Официальная страница (тут ссылка на оф. страницу)

В теме нет куратора. Если в теме есть пользователь, желающий стать Куратором и соответствующий Требованиям для кандидатов, он может подать заявку в теме Хочу стать Куратором (предварительно изучив шапку темы и все материалы для кураторов).
До назначения куратора, по вопросам наполнения шапки, обращайтесь к модераторам раздела через кнопку под сообщениями, на которые необходимо добавить ссылки.

Сообщение отредактировал derak1129 — 03.07.19, 20:26

Тема регулярно будет пополняться.

Сообщение отредактировал -=Toni=- — 10.06.13, 02:08

Сообщение отредактировал lihach77 — 10.08.14, 02:39

Сообщение отредактировал lihach77 — 03.03.12, 18:55

Open source 3d-движок Gamekit
Описание:
Кросс-платформеныый(Win, Linux, IOS, Android) движок основаный на игровом редакторе в blender, для вывода графики использует Ogre(также можно использовать irichlight или др. библиотеки)
Оффициальный сайт, Cтраница проекта на Google Code
Примеры игр на движке:
Zombie in Love
Видео игр на движке:
Zombie in love
Пример работы с акселерометром

Сообщение отредактировал lihach77 — 10.03.12, 22:11

Сообщение отредактировал lihach77 — 09.03.12, 22:14

Сообщение отредактировал lihach77 — 27.03.12, 21:07

Tululoo — продвинутая среда разработки, которая позволяет пользователю с легкостью создавать браузерные игры.
Программа генерирует JavaScript код, который может быть выполнен во всех браузерах, использующих HTML5.

Программа включает в себя редактор, позволяющий манипулировать ресурсами игры и создавать объекты.
Редактор кода обладает развитой подсветкой синтаксиса и подсказки имен функций.

Программа предоставляет необходимый набор функций для создания игр; недостающая функциональность легко реализуется дополнениями с JavaScript кодом.
Вместе с программой поставляется определенное количество стандартных игр-примеров. Дополнительный контент можно найти на официальном форуме программы.

Cразу отвечу на вопрос зачем оно тут. Ответ:PhoneGap

Сообщение отредактировал vitese200 — 13.05.12, 16:36

Game Maker Studio

Жанровая направленность:Любые 2Д игры ( + разные движки для 3Д игр (Gmogre и другие))
Платформы:Windows,Android,IOS,Mac OS,HTML 5,
Лицензия: Платная
Базовая стоить $99 и позволит создавать игры для Windows и Mac
+ экспортёры IOS, Android, HTML5, каждый $200
Языки программирования: Game Maker Language (Для создание простейших игр он не понадобиться )
Язык: Английский (Будит русик :happy: не беспокойтесь)
Сайт:http://www.yoyogames.com/gamemaker/studio
Мультиплеер:возможен при наличии нужных библиотек dll

+ +
Те, кто купил Game Maker
HTML5, автоматически получат доступ к Game Maker Studio с возможностью экспорта на Windows, Mac и HTML5.
Game Maker HTML5 в настоящее время можно приобрести за $99, что дает возможность
сэкономить $200 на стоимости покупки Game Maker Studio
такого же уровня сразу, как только он станет доступен
($299 = $99 основная
программа + $200 экспорт в HTML5).

+++
Те кто знаком с Game Maker будут тав как дома.

Это движок-конструктор
Он прост в обучении и в создании игр.
Так же вы можете в игры встраивать разные библиотеки DLL

p.s. крякнутая версия давно по нэту плавает :happy:
p.s.s по поводу создания игр на нём можете обращаться ко мне

Сообщение отредактировал xotta6bl4 — 18.07.12, 13:38

Stencyl
Платформа: Windows, Linux, Mac OS X, iOS, Flash, Android;
Жанровая направленность: 2D игры любого жанра;
Лицензия: Freeware;
Открытый исходный код: не предоставляется;
Достоинства: Бесплатность, удобный интерфейс, хорошая поддержка сообщества;
Недостатки: Достаточно простые игры;
Языки программирования: Drag-and-Drop (визуальный) + поддержка AS3 (для профессионалов);
Официальный сайт: http://www.stencyl.com/
Описание: Stencyl — достаточно мощный и гибкий инструментарий для создания двумерных флеш игрушек, позволяющий быстро и эффективно создавать и делиться ими с другими людьми. Ранее конструктор назывался StencylWorks, но после введения ряда обновлений и объединения разных его ветвей, разработчики приняли решение урезать названием просто до Stencyl.

Сообщение отредактировал GlebSTaR — 26.01.13, 11:50

Простой игровой движок

Надо «нарисовать» 2D площадку, которую можно зумировать мышкой и клавишами. Большую, но ограниченную.
Внутри площадки двигаются векторные фигуры. Что-то вроде блок-схемы! Пока рисую линиями и прямоугольниками прямо на канвасе.
Надо учитывать столкновения. (прямоугольники могут сталкиваться, но не «входить» один в другой! без «наложения»)
Или хотябы получать факт того что фигуры пересеклись.
Растровых картинок пока не предвидится!
Просто понимаю что МНОГО кода надо написать для вещей, которые есть в любой стратегической игре.
Посоветуйте движок для подобного! пли-и-из!

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

15.09.2020, 13:33

Помогите написать простой 2D движок прямоугольников
Прошу извинения что Javascript code в С++ разделе, но тут я думаю все самые умные. Да и языки.

Ищу простой 3D игровой движок на С++ и DirectX
Доброго времени суток. Мне необходимо найти исходник простой 3D игры для демонстрации ее, пусть.

Игровой движок на с++
Учу с++, и хотелось бы попрактиковаться на разработке простеньких 2Д игр к примеру для андроид.

C++ 3D игровой движок
Добрый день. Подскажите пожалуйста трёхмерный игровой движок, который можно подключить к Visual.

Игровой движок!
Подскажите пожалуйста с чего начать писать движок? И еще несколько книг которые мне помогут его.

15.09.2020, 18:41 2

Добавлено через 6 минут
могу посоветовать phaser, в частности решение вашей задачи пересечения: http://phaser.io/examples/v2/p2-physics/collision-groups. Решена пересечением прямоугольников.

16.09.2020, 16:44 3

Tester64, у меня такие же цели, как у вас. Я параллельно изучаю WebGL+JavaScript и движок Unity+C# (который собирает под HTML5/WebGL)

Вам на выбор:
— либо взять движок/конструктор Unity
— либо three.js, babylon.js и т.д.
— либо делать без движка на чистом WebGL и JavaScript -> вот отличная книга на русском
— либо писать свой движок на WebGL и JavaScript. Например, на основе примера движка описанного в книге: Build your own 2D Game Engine and Create Great Web Games Using HTML5, JavaScript, and WebGL

16.09.2020, 18:35 [ТС] 4
16.09.2020, 18:35
16.09.2020, 21:13 5
17.09.2020, 09:15 [ТС] 6

Я помню как радовался простоте jqury на фоне чистого js. Всего за пару часов упростил себе жизнь в несколько раз. А недавно познакомился с Ангуляром. уже в десятки-сотни раз.

Сейчас у меня сложная система (уже криво-косо написана) для контроля за мышкой, клавишами и роликом. Обработка драга мышки за пределы браузера, работа с канвасом, понятие «рабочее поле» и обьекты. А теперь надо еще и научиться зумировать поле, вместе с обьектами.
Подозреваю что в любой «стратегии» подобное есть «из коробки». Любая «ферма» или «танчики» позволяют зумировать поле мышью и командами.

Движки (согласен потратить 2-4 дня на изучение) позволят мне повторить все что у меня есть, но дадут «заготовки» для работы и с растром (маркеры, логотипы, фигурные рамки), так и «смягчить» анимацию.
. но пока что все движки начинают «с другой стороны». у меня еще логика движений не продумана! пока нужна статика с МЕДЛЕННОЙ отладкой.

21.09.2020, 10:42 7

Tester64, если вы когда-нибудь вдруг захотите добавить какой-нибудь 3D объект на веб-страницу и чтобы с этим объектом можно было взаимодействовать (например, вращать пальцем на мобильном), то посмотрите, как это можно легко сделать с помощью babylon.js: Работа с WebGL с использованием библиотеки Babylon.js

На three.js это делать не менее легко.

21.09.2020, 12:50 [ТС] 8

Пока отказался от движков! Пишу (между работой) вручную на канвасе. Готов был день-два потратить на движок, если он даст мне прирост скорости написания МОЕГО проекта — не похоже что движки мне помогут.

Мне надо нарисовать (нечто сильно напоминающее) «редактор блок-схем», а не 3Д игру! Просто то что я рисую («доска которую можно зумировать и двигать», «квадратики/фигурки с текстом которые нельзя накладывать один на другой») очень напоминает 2Д игру. Вращать в 3Д мне не надо, как и «обьем» будет лишь мешать.

21.09.2020, 17:25 9

Я написал, потому что вы писали в этом сообщении в другой теме, что вам нужно на сайт кубик из 3DS Max, а BabylonJS позволит очень быстро загрузить кубик из 3Ds Max на сайт с возможностью вращения. Вот я вам сделал пример, это очень быстро делается и изучил я как это делать за 10 минут, а сделал за минуту, пока код набирал: https://8observer8.github.io/BabylonJS/Cube/

BabylonJS — это просто легковесная библиотека, которая позволяет создавать 2D / 3D интерактивные приложения (не только игры) Вы так могли бы убить двух зайцев и 2D блок схема на сайт и стеклянный кубик на сайт.

21.09.2020, 17:39 [ТС] 10

Не. мне то нужно (пока на стадии «побаловаться» и «изучить основы для общего развития») для простого логотипа в мои программы (в окно About). Было бы круто, если бы они были бы не рисованными, а в 3Д плавно вращались. В андроиде можно было бы заставить крутиться пальцем. Но можно и в GIF. Есть готовый логотип в 2Д с «имитацией 3Д» — типа одни фигуры слегка накрывают другие. Хочу попробовать нарисовать его в 3Д и положить в «стеклянный кубик». Как продаются в сувенирных (со знаком зодиака) или дарятся фирмам-компаньенам. Но мне его ДОЛГО рисовать предстоит (да и не обязательно) — просто хотел НАЧАТЬ изузать 3Д редакторы «по приколу».

К проекту с «рабочей доской» это не имеет отношение.

21.09.2020, 19:24 11
21.09.2020, 20:52 [ТС] 12

Какой 2й задачи? Задача ОДНА — «доска с обьектами». А второе (с другой ветки) — это просто начать изучать РЕДАКТОРЫ 3Д, и обьектом рисования своей первой «картинки» я выбрал логотип. ТУ тему (там) я открыл потому что для новичка 3DMax это слишком тяжелый редактор, а профи по рисованию 3Д я не собираюсь становиться. (я программист, а не художник) Просто логотип хочу попробовать нарисовать. Позднее его можно будет конвертнуть в gif, отправить на 3Д принтер, вырезать в стекле (или даже в металле/дереве на электронных станках) или сделать заготовкой для вставки в АНДРОИД! В сайт вставлять 3д обьект в виде логотипа — это издевательство над пользователем! Движок BabylonJS «весит» почти пол мегабайта! Это кощунство делать такую «тяжелую» страницу ради маленького крутящегося кубика в логотипе страницы. Но это не скоро! Я трачу на «рисование» не больше часа-два в неделю. это не горящий проект! да и не особо получается. кучу видео пересмотрел только чтобы начать понимать как делать ПРОСТЕЙШИЕ манипуляции в 3D. Просто полезно иметь заготовку логотипа в 3Д в коллекции. мало ли когда понадобится.

А на js(графике) я работаю ТОЛЬКО над «доской». Вернее даже — сейчас надо сделать простой фротэнд-прототип для личных целей (зумируемая доска за записями, кручение прямоугольников внутри без пересечения мышкой и клавишами) и если окажется удобно для работы, то проще будет сделать заказ у профи на целую систему с бэкэндом и многопользовательской базой (на руби/питоне/ноде). Просто надеялся что движок упростит разработку. Пока «застрял» на общем зумировании «доски» ВМЕСТЕ с обьектами, и просчитываю какие обьекты не видны при текущем зуме (за пределами видимости или слишком маленькие). На сегодня я ВООБЩЕ даже растра не использую. Не думаю что мне понадобится WebGL в ближайшее время.

2D игра на чистом JavaScript

На этой странице

К каждому шагу предлагаются редактируемые опубликованные примеры, с которыми можно поиграть, чтобы вы видели, как должна выглядеть игра на промежуточных этапах. Вы изучите основы использования элемента Элемент может быть использован для отрисовки графики через скрипты (обычно используется JavaScript). На пример, его можно использовать для отрисовки графиков, делать композиции фото или даже выполнять анимации. Вы можете (и должны) дать альтернативное содержание внури блока . Этот контент будет рендерится в обоих браузерах, в старых которые не поддерживают canvas и в браузерах с отключённым JavaScript.»> для реализации таких фундаментальных игровых механик, как рендеринг и перемещение изображений, обнаружение столкновений, механизмы управления, а также состояния выигрыша и проигрыша.

Для извлечения максимальной пользы из этой серии статей необходимо иметь средние (или хотя бы базовые) знания языка JavaScript. После прохождения этого урока вы сможете создавать собственные простые браузерные игры.

Детали к урокам

Все уроки и версии игры MDN Breakout доступны в GitHub:

Лучший способ получить надежные знания в области разработки браузерных игр — это начать с чистого JavaScript. Затем можно выбрать любой фреймворк для использования в своих проектах. Фреймворки — это инструменты, созданные на языке JavaScript; поэтому, даже если вы планируете работать с ними, не лишним будет сначала изучить сам язык, чтобы понимать, что именно происходит внутри. Фреймворки ускоряют разработку и помогают справиться со скучными частями игры, но если что-то работает не так, как ожидалось, всегда можно попытаться отладить код или написать собственное решение на чистом JavaScript.

Примечание. Если вам интересно узнать о разработке двухмерных игр с помощью игровой библиотеки, ознакомьтесь с альтернативной серией статей 2D игра Breakout с использованием Phaser.

Примечание. Эту серию статей можно использовать как материал для практических занятий по разработке игр. Также можно воспользоваться набором инструментов Gamedev Canvas Content Kit, основанным на этом уроке, если нужно сделать доклад о разработке игр в целом.

Следующий шаг

Ладно, давайте начнем! Перейдите к первой главе — Создание Canvas и рисование на нем.

Цукерберг рекомендует:  Как настроить CICD с помощью Bitrise, fastlane, Diawi и Telegram
Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих