Описание движка: j2Ds - игровой HTML5 2D движок, распространяющийся на условиях лицензии zlib для HTML5 и Android / iOS разработки.
Для отрисовки 2D графики используется технология HTML5 canvas.
Характеристики: Жанровая направленность: 2D игры любого жанра и типа; Платформа: HTML5 (Web, PC, Android, iOS); Лицензия: абсолютно бесплатно и без ограничений; Языки программирования: JavaScript;
Для мобильной разработки какой-либо SDK - отсутствует, можно использовать в Android Studio, Intel XDK. Для web проектов - любой удобный редактор.
Открытый исходный код: предоставляется; Достоинства: понятен для новичков, открыт, развивается, быстрый старт; Разработчик движка: SkanerSoft
Особенности: - Поддержка ограничения FPS - ООП архитектура - Работа с примитивами - Прозрачности, цветовые эффекты - Спрайты, сложные линии, текст - Анимация изображений, работа со спрайт-картами, скорость анимации, кадр-движок - Работа со сценой, как с объектом - Работа с музыкой и звуками - Работа со слоями, послойная отрисовка, перемещение слоев, невидимости, enabled-слои - Работа с игровыми состояниями, меню, паузы, уровни - Поддержка мыши/клавиатуры/тачскрина - Обнаружение столкновений, создание собственных объектов на основе имеющихся - Работа с камерами, вращение, перемещение, поддержка viewports - Постобработка, motionBlur, alphaBlur, Сепия, инверс цветов и т.д. - Полноценный набор базовых возможностей - Бесплатность и открытость кода (GitHub)
Целевая платформа для готовой игры может быть совершенно любой, на данный момент протестированы следующие платформы:
- WEB. Независимо от операционной системы - Android - iOS (не полностью) - Социальная сеть ВКонтакте (ВК API идет отдельно)
Движок очень прост в изучении, есть примеры приложений. Нет каких-либо ограничений на расширяемость, любой класс можно переписать либо создать свой аналог.
По движку имеются видеоуроки и видеокурсы. На данный момент полностью завершен видеокурс о создании HTML5 платформера на j2Ds и размещение игры на сайте. Посмотреть уроки и курсы можно бесплатно на YouTube
Немного скриншотов:
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Сообщение отредактировал SkanerSoft - Понедельник, 14 Декабря 2015, 10:54
Думаю, да =) SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Хорошее начало, SkanerSoft, как видно, уже кое-что реализовано,например, физика (я про столкновения). И очень хорошо, что есть демки игр. WorldSim3D: сделай 3D игру на С++/FreeBasic/D для PC Windows/Linux. Программируй в удовольствие, а не "в тягость"! Make your project with pleasure, not with strain! Ознакомиться
// Создаем белый квадрат b= createRect(vec2df(300, 200), vec2df(50, 50), 'white');
// Описываем игровое состояние Game function Game() {
// Выводим текст scene.drawText(vec2df(5,5), 'Demo J2ds. Rotations');
// Управляем черным квадратом клавиатурой со скоростью 3 пикселя за одну игровую итерацию Game a.keyControl(3);
// Если с устройства ввода была нажата клавиша Пробел, вращаем саму камеру if (input.keyDown[key.SPACE]) scene.vTurn(-2);
// Вращаем черный квадрат со скоростью 1 a.turn(1);
// Вращаем белый квадрат в обратную сторону, но быстрее b.turn(-3);
// Вращаем спрайт, рассчитывая скорость на основе дистанции между объектами // чем ближе черный квадрат к спрайту, тем он медленнее вращается s.turn(a.getDistance(s)*0.1);
// Отрисовываем объекты a.draw(scene); b.draw(scene);
// Тут рисуем всю анимацию с замедлением в 10 итераций s.drawAnimate(scene, 10); }
// Стартуем игру с игровым состоянием Game и FPS 25 startGame(Game, 25); </script>
</body> </html>
Добавлено (20 августа 2015, 18:41) --------------------------------------------- В движок добавлены новые визуальные эффекты постобработки:
- Сепия - Инвертирование цветов - Затемнить или осветить сцену - Вращение сцены - Размывать при движении
- Создание обертки для игры в Android Studio - Создание 2D игры на J2ds - Компиляция и подпись APK файла
Для новичков =)
Не знаю, есть ли тут возможность публиквать подобные статьи, если есть, скажите как?
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Сообщение отредактировал SkanerSoft - Четверг, 20 Августа 2015, 00:51
А хватит ли умений и знаний для создания чего-то, что будет конкурентоспособно с другими подобными движками, дабы был резон пользоваться? Дао, выраженное словами, не есть истинное Дао.
SkanerSoft, узнал о движке на хабре, вы автор статьи? Движок понравился, давно искал что-то подобное, с базовым функционалом, но чтоб не слишком, даже сам пытался писать но далеко это не зашло) Успехов в разработке!
Сообщение отредактировал hero564 - Пятница, 21 Августа 2015, 23:35
TLT, я никнейм ваш (TLT) уже где-то встречал... определенно. Не помню, где, только, увы. Вы знаете, знания - это такой ресурс, он и резиновый, и обновляемый, и прогрессирующий, и саморазвивающийся. Если знаний не хватает, на помощь приходит изучение. Поглядим, что будет впереди, в любом случае, загадывать рано.
hero564, спасибо! Автор статьи я, скоро еще будут, с развитием движка появляются новые возможности. Сейчас можно "за 5 минут" создать простенькую игрушку и запустить ее хоть на чем, что бы поддерживало HTML5. SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Скачать игру: BezaBead для Android: Скачать Скачать игру FlappyR для Android: Скачать
Геймплей FlappyR
Гкймплей BezaBead
Добавлено (24 августа 2015, 15:47) --------------------------------------------- Для удобства разместил проект на GitHub
Добавлено (26 августа 2015, 08:55) --------------------------------------------- Записал видеоурок о том, как можно создать игру для социальной сети ВКонтакте на J2ds.
Добавлено (27 августа 2015, 20:02) --------------------------------------------- Появилась примитивная физика окружностей, столкновения и "отскоки". Демонстрация: Пример физики J2ds Это только самые зачатки физики, нельзя даже полноценно назвать это физикой, скорее, демо того, как можно организовать проверку столкновений на основе базовых функций движка.
Добавлено (29 августа 2015, 13:15) --------------------------------------------- Версия доросла до 0.2 alpha 1 Новые функции: - Зеркалирование сцены - Окружности (с полной обработкой) Оптимизация старых функций, теперь игры можно встраивать в web страницы через iframe, корректная обработка мыши и клавиатуры внутри фреймов. Оптимизация функций постобработки. Улучшенная обработка анимации изобржений, возможность управлять скоростью анимации в рантайме.
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
знания - это такой ресурс, он и резиновый, и обновляемый, и прогрессирующий, и саморазвивающийся. Если знаний не хватает, на помощь приходит изучение. Поглядим, что будет впереди, в любом случае, загадывать рано.
Дело в том, что закладка движка и его развитие требуют не просто базовых знаний, а обширных знаний в архитектуре. Если начать делать общий движок с недостаточной базой знаний, то в процессе разработки придётся не раз переписывать основу, понимая, что фундамент заложен неверно, что нет смысла дальше строить на нём, ибо всё посыплется. Таким образом, придётся испортить репутацию движку и подвести всех, кто его изучал и использовал вместе с вами. И в итоге движок будет заброшен, а потенциальные пользователи разочарованы в ещё одном проекте. Собственно, поэтому сейчас многие бросают такие движки, переходят на то, что гарантировано: Unity, UE4 и пр. Дао, выраженное словами, не есть истинное Дао.
Тут я с вами полностью согласен! Однако бросать работу я ни в коем случае не собираюсь, ибо у движка набирается сообщество очень активно, так как постоянно улучшаются показатели. Сам же движок поделен на секторы, независимые друг от друга по реализации. А вот насчет того, что бросают - это верно. Я сам изучал Irrlicht Engine, но понял, что ничего толкового не выйдет, после чего и забросил его вовсе. Хотя потенциал был... развития не было. А по своему движку записывается видеокурс небольшой, в качестве примера небольшой 2D платформер. j2Ds не претендует на звание мега игрового движка. Просто небольшой фреймворк, обертка для API canvas, упрощаюий работу с ним. И упрощает довольно сильно.
Добавлено (17 сентября 2015, 17:42) --------------------------------------------- Вышла новая версия движка, с поддержкой слоев и большой оптимизацией! Довел справку до ума, которая теперь доступна в главном репозитории проекта: https://github.com/SkanerSoft/J2ds Там же можно скачать обновление и проверить в работе!
Добавлено (20 сентября 2015, 18:19) --------------------------------------------- Очередное обновление вышло и уже доступно для использования! Основным упором было переписать и сделать более адекватную справку, что теперь находится на гите в корне репы. Кроме всего прочего движок пополнился множеством функций! Кому интересно, милости просим!
Добавлено (23 октября 2015, 22:57) --------------------------------------------- Движок обновился до версии 0.0.5, получил кучу обновлений и нововведений, среди который большая оптимизация отрисовки примитивов, динамическая генерация спрайт-карт, низкоуровневый доступ к контекстам всех слоев, а так же шаблонизатор для генератора текстур.
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Сообщение отредактировал SkanerSoft - Воскресенье, 25 Октября 2015, 19:06
hero564, движок ничего не искажает и представляет в том виде, в котором вы все делаете, и в сам DOM он не лезет никак, если вы о соответсвии шаблонам, то да, полностью позволяет реализовать все под ваши предпочтения.
Добавлено (25 октября 2015, 09:45) --------------------------------------------- Если вы об изменении размеров сцены с сохранением пропорций и дистаций - это да, несомненно умеет.
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
Размываются, если их размер вывода на сцену при задании размера нецелый.
Например, размытие сработает если размер спрайта - 50,50, но размер объекта, который использует его как текстуру - 50.0, 50.0
В движке два типа веторов - вещественные и целочисленные, при использовании целочисленного - размытие не происходит.
Однако в Хроме размывается в любом случае.
Добавлено (01 ноября 2015, 22:18) --------------------------------------------- j2Ds обновился до версии 0.1.0. Из нововведений: - Корректная обработка FPS в играх, если установлено ограничение FPS. При исправлении этого бага FPS в целом возросло примерно на 20%. - Добавлены новые обработчики событий и состояний (см. справку) - Все объекты, наследующие базовую ноду получили много новых методов и обработок. - Для отрисовки текста появилась возможность задать линию обводки, если требуется. - Небольшие исправления и добавление новых методов, описывать которые тут нет смысла, читайте справку.
Версия осталась полностью совместимой, единственное, что много названий методов изменилось, и если после обновления у вас появились ошибки, просто посмотрите на реализацию вашего метода в справке.
Кроме того, теперь, чтобы получить доступ к управляющим объектам, есть соответствующие команды: - getScene() - getLayers() - getIO() - getTextureManager() - getDOM()
Некоторые методы были удалены вовсе, на замену им пришли другие. Опять же - справка все описывает.
SkanerSoft - канал о разработке игр для всех платформ [HTML5, C++, Lazarus, Irrlicht, SoftPixel, Qt, Code::Blocks, JavaScript, PHP, NodeJS, Ubuntu, Windows]
На данный момент разбираемся с вашим движком и интегрируем с RAPTOR Game Engine. Скажите, у вас можно привязать игру к одному канвасу? А то не получается вставить его нормально, занимает всю страницу по умолчанию