forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   JavaScript / HTML (http://forum.boolean.name/forumdisplay.php?f=136)
-   -   j2Ds (http://forum.boolean.name/showthread.php?t=19970)

Skaner 31.08.2015 13:23

j2Ds
 
Может кому будет интересно или даже полезно =)
Ведем разработку игрового 2D движка на HTML5 основе.
Сейчас пока возможностей не так много...

Исходники движка: https://github.com/SkanerSoft/J2ds

Характеристики
- Жанровая направленность: 2D игры любого жанра и типа;
- Платформа: HTML5;
- Лицензия: абсолютно бесплатно и без ограничений;
- Языки программирования: JavaScript;
- Открытый исходный код: предоставляется;
- Достоинства: понятен для новичков, открыт, развивается;
- Разработчики движка: SkanerSoft

Особенности
- Поддержка ограничения FPS
- ООП архитектура
-Работа с примитивами
- Прозрачности, цветовые эффекты
- Спрайты, сложные линии
- Анимация изображений, работа со спрайт-картами, скорость анимации, фрейм-движок
- Работа со сценой, как с объектом
- Работа с игровыми состояниями, меню, паузы, уровни
- Поддержка мыши/клавиатуры/тачскрина
- Обнаружение столкновений, создание собственных объектов на основе имеющихся
- Работа с камерами, вращение, перемещение, поддержка viewports
- Постобработка, motionBlur, alphaBlur, Сепия, инверс цветом и т.д.

Целевая платформа для готовой игры может быть совершенно любой, на данный момент протестированы следующие платформы:

WEB (Chrome, FireFox, Web-browser Ubuntu, Safari, Opera)
Android (начиная с 4.4.2, ниже не тестили)
iOS
Социальная сеть ВКонтакте (по сути тот же веб)

Примеров игр пока мало... поиграть в них можно тут
Посмотреть еще пример

Nerd 31.08.2015 14:12

Ответ: j2Ds
 
Слишком сыро.
Пример с бегущим кубиком тормозит (или это фича?), ибо хотя бы пост-эффекты надо рисовать через 3д-контекст.
Цитата:

a= createRect(vec2df(50, 50), vec2df(30, 30), 'black');
Ппц. В javascript такой подход не годится.

Skaner 31.08.2015 15:12

Ответ: j2Ds
 
В каком плане тормозит? Сыро - это не то слово)) В разработке ведь еще) Про кубик... при частых прыжках "время" в игре замедляется, чем реже прыжки - тем быстрее движется кубик и тем быстрее набираются очки.

Skaner 31.08.2015 15:15

Ответ: j2Ds
 
Про подход, можно использовать след. варианты:
a= addRectNode(vec2df(10, 50), vec2df(20, 20), 'red');
или
a= addRectNode({x:10, y:30},{x:20, y:20}, 'red');
или
a= new RectNode(10, 30, 20, 20, 'red')

Skaner 20.09.2015 20:29

Ответ: j2Ds
 

Движок обновился, сделал адекватную справку на гите, и пару рабочих демок в архиве с двигом. Растем)))

Randomize 20.09.2015 21:44

Ответ: j2Ds
 
Цитата:

Сообщение от Skaner (Сообщение 299130)
Про подход, можно использовать след. варианты:
a= addRectNode(vec2df(10, 50), vec2df(20, 20), 'red');
или
a= addRectNode({x:10, y:30},{x:20, y:20}, 'red');

Это создаёт новые сущности (Object со всеми его многообразными свойствами), которые накапливаются в памяти пока ни придёт Garbage Collector, он это дело найдёт и будет чистить. Во время чистки будет ощутимый "пролаг".
В js нужно очень бережно аллоцировать память.

Nikich 20.09.2015 21:50

Ответ: j2Ds
 
Почему не WebGL? Почему не используется паттерн object pool?

moka 21.09.2015 14:05

Ответ: j2Ds
 
Исходники открыты, а можно ссылку на гит в первом посте?
И какие у вас преимущества против например pixi.js?

Skaner 23.09.2015 14:24

Ответ: j2Ds
 
Цитата:

Сообщение от moka (Сообщение 299776)
Исходники открыты, а можно ссылку на гит в первом посте?

Нет возможности редактировать первый пост, видимо время истекло...

По поводу преимуществ перед Pixi сказать ничего не могу, так как с Pixi не знаком.

На гите описаны возможности и лежит подробная справка.

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

Из коробки уже есть работа с примитивами, спрайтами, устройствами ввода, слоями. Есть возможность определять игровые состояния (аналогично activity в Android), поддержка клавиатуры, мыши, сенсоров... много всего есть.

Ссылка на гит: https://github.com/SkanerSoft/J2ds

В первый пост, увы, добавить не могу =(

Nikich 23.09.2015 14:41

Ответ: j2Ds
 
Цитата:

Движок имеет очень низкий порог вхождения и не требует каких-то сверх знаний в области проектирования ООП в целом.
Это же не означает, что код движка должен быть плохо спроектирован. Object pool даст существенный прирост в скорости, особенно в JS.

moka 23.09.2015 15:32

Ответ: j2Ds
 
Цитата:

Сообщение от Skaner (Сообщение 299826)
Нет возможности редактировать первый пост, видимо время истекло...

В первый пост, увы, добавить не могу =(

Добавил.

Цитата:

Сообщение от Skaner (Сообщение 299826)
По поводу преимуществ перед Pixi сказать ничего не могу, так как с Pixi не знаком.

Очень рекомендую ознакомится детально с рынком 2д движков сперва. Понять суть их проблем и приемуществ.

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

Skaner 25.10.2015 10:58

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

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

moka 26.10.2015 01:09

Ответ: j2Ds
 
0.0.5? А какую нотацию версий вы используете?

Skaner 26.10.2015 14:18

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

moka 26.10.2015 15:43

Ответ: j2Ds
 
Если ты используешь семантическую версию нотаций, то твой 0.0.5 должен быть 0.1.0, т.к. ты реализовал новые фичи, а не только баг фиксы, и это minor (второе число) обновление.


Часовой пояс GMT +4, время: 23:27.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot