![]() |
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 Социальная сеть ВКонтакте (по сути тот же веб) Примеров игр пока мало... поиграть в них можно тут Посмотреть еще пример |
Ответ: j2Ds
Слишком сыро.
Пример с бегущим кубиком тормозит (или это фича?), ибо хотя бы пост-эффекты надо рисовать через 3д-контекст. Цитата:
|
Ответ: j2Ds
В каком плане тормозит? Сыро - это не то слово)) В разработке ведь еще) Про кубик... при частых прыжках "время" в игре замедляется, чем реже прыжки - тем быстрее движется кубик и тем быстрее набираются очки.
|
Ответ: 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') |
Ответ: j2Ds
Движок обновился, сделал адекватную справку на гите, и пару рабочих демок в архиве с двигом. Растем))) |
Ответ: j2Ds
Цитата:
В js нужно очень бережно аллоцировать память. |
Ответ: j2Ds
Почему не WebGL? Почему не используется паттерн object pool?
|
Ответ: j2Ds
Исходники открыты, а можно ссылку на гит в первом посте?
И какие у вас преимущества против например pixi.js? |
Ответ: j2Ds
Цитата:
По поводу преимуществ перед Pixi сказать ничего не могу, так как с Pixi не знаком. На гите описаны возможности и лежит подробная справка. Движок имеет очень низкий порог вхождения и не требует каких-то сверх знаний в области проектирования ООП в целом. Из коробки уже есть работа с примитивами, спрайтами, устройствами ввода, слоями. Есть возможность определять игровые состояния (аналогично activity в Android), поддержка клавиатуры, мыши, сенсоров... много всего есть. Ссылка на гит: https://github.com/SkanerSoft/J2ds В первый пост, увы, добавить не могу =( |
Ответ: j2Ds
Цитата:
|
Ответ: j2Ds
Цитата:
Цитата:
Делать репозиторий на русском языке, изначально себя ограничивать от 99% потенциальной аудитории. |
Ответ: j2Ds
Проект делается исключительно для русскоговорящих. Хотя и не отменяет использования другими людьми, кто понимает этот язык, а так же движок подразумевает очень низкий порог вхождения в процесс разработки.
Мы обновились до версии 0.0.5, появилось много нового, например: менеджер состояний, возможность генерировать текстуры программно, создавать шаблоны алгоритмов текстурирования, на основе этого можно делать генерируемые облака, траву, всегда разные. Скоро добавятся деревья, постройки, и персонажи. Так же обновилась система контроллеров, поддерживаются все события клавиатуры а так же есть возможность считывания символа при нажатии, удобно для проверки чит-кода) |
Ответ: j2Ds
0.0.5? А какую нотацию версий вы используете?
|
Ответ: j2Ds
Сейчас я перешел на сем. версионирование, и начиная с этой версии веду проект самостоятельно, раньше он разрабатывался кусочками, и каждый отдельный сегмент кода имел свою версию, версии выходили как попало.
|
Ответ: j2Ds
Если ты используешь семантическую версию нотаций, то твой 0.0.5 должен быть 0.1.0, т.к. ты реализовал новые фичи, а не только баг фиксы, и это minor (второе число) обновление.
|
Ответ: j2Ds
Я в курсе, moka, как это работает =)
|
Ответ: j2Ds
Меня тут упрекнули, что работа встала. Не встала, движок уже дорос до версии 0.3:
Добавлен файл history, отображающий изменений от версии к версии, лишь косвенные. На данный момент движок оборудован следующим функционалом: - Добавлена поддержка колесика мыши - Добавлены возможности позиционировать объекты по отдельным координатам - Изменен подход к организации события мыши, добавлены типы событий: - isMouseDown - удерживание кнопки мыши - isMousePress - однократное нажатие кнопки мыши - isMouseUp - отпускание кнопки мыши - Так же функции принимают в качестве аргумента следующие строки: - LEFT - RIGHT - MIDDLE Немного о грядущих нововведениях: - Добавлен менеджер видов. Теперь можно создавать сколь угодно Видов (ViewPort), управлять ими, переключаться. - Добавлены функции автоматической перерисовки сцены, чтобы не вызывать для каждого объекта метод draw() - Добавлен менеджер игровых состояний. - Изменен механизм работы с устройствами ввода / вывода. - Добавлен менеджер обработки событий тачскрина "getTouchIO()" с поддержкой событий isTap[Down|Press|Up]. - Так же в обработчик мыши добавлены события isMouseMove() а в обработчик сенсорного ввода isTouchMove(). Подробно обо всех событиях будет описано в справке и в history-файле. Обновление выйдет в ближайшую субботу. По всем нововведениям и обновлениям информацию вы всегда можете получить на GitHub проекта и так же на сайтах проекта. Так же справка полностью на русском, с примерами, готова уже для самой актуальной версии движка. По всем вопросам отвечаю либо тут, либо ВК, либо на форуме проекта. Лучше конечно на форуме самого движка, дабы сконцентрировать информацию по движку. К сожалению, описывать полностью всё просто нет времени, по всем возможностям на Гите есть Справка и Вики, выше текст к последней новости с оф. сайта. |
Ответ: j2Ds
Немного изменена архитектура движка. Теперь функционал разделен на Менеджеры.
в j2Ds менеджер - это специальный объект, который отвечает за ту или иную часть движка. Разбивка на менеджеры дает возможность использовать в ваших проектах только тот функционал, который требуется именно вам, при этом совершенно не нужно вникать, как работают остальные части. На текущий момент в движке задействованы следующие менеджеры: - Менеджер сцены: getSceneManager() - Менеджеры управления - - getIO - - getTouchIO - Менеджер игровых состояний: getGameStateManager() - Менеджер слоев: getLayerManager() - Менеджер текстур: getTextureManager() - Менеджер устройства: getDeviceManager() - Менеджер звука: getSoundManager() - Менеджер хранения данных: getMemoryManager() - Менеджер видок (камер): getViewManager() - Менеджер расчетов FPS и оптимизации: getFPSManager() - Менеджер для работы с DOM: getDOMManager() Пока это все менеджеры, доступные в движке, но поверьте, на их основе создать полноценный проект можно уже сейчас. Обновление планируется на субботу. |
Ответ: j2Ds
Глобальное обновление. Полная потеря совместимости. Поддержка звука. Как-то так должна называться эта новость...
Но, название, как всегда - весьма банальное: Обновление j2Ds до версии 0.4.0. Первое, и, наверное, не очень радостное известие - безболезненно обновиться на новую версию будет нельзя. Связано это с тем, что изменениям подверглись все глобальные объекты. В движок введено понятие "Менеджер", которое определяет специальный объект, отвечающий конкретно за свою область работы. Менеджер следит за стеком, за объектами, вверенными ему в наблюдение. Всеми менеджерами можно легко управлять. Для обновления, в принципе, нужно внимательно глядеть в справку, чтобы ваш проект внезапно не начал работать не совсем так, как вы того ожидаете. При обновлении так же очень рекомендуется поглядывать в веб-консоль, и следить, какие методы вызывают ошибки, чтобы устранить их, посмотрев в справку. Ну, думаю, справиться будет не сложно. Благо это касается лишь самих менеджеров, методы не тронуты, только расширенны. Второе, не менее важное, список менеджеров: - Менеджер сцены: getSceneManager() - Менеджеры управления - - getIO - - getTouchIO - Менеджер игровых состояний: getGameStateManager() - Менеджер слоев: getLayerManager() - Менеджер текстур: getTextureManager() - Менеджер устройства: getDeviceManager() - Менеджер звука: getSoundManager() - Менеджер хранения данных: getMemoryManager() - Менеджер видок (камер): getViewManager() - Менеджер расчетов FPS и оптимизации: getFpsManager() - Менеджер для работы с DOM: getDOMManager() - Менеджер векторов и математики: getMathManager() - Менеджер рисования (кисть): getPaintManager() Подробно обо всем написано в справке. Третье, в движок заехал звук. Менеджер звука полностью рабочий, базируется на HTML5 Audio, и позволяет следующее: - загрузка звука из файла - Воспроизведение - - Одиночное - - Зацикленное - Управление воспроизведением - Управление громкостью - Все возможности плеера - Глобальные методы - Блокировка воспроизведения О глобальных методах чуть подробнее. При возникновении какой-нибудь ситуации, например, при переходе на новый уровень, вам не нужно останавливать каждый звуковой файл по отдельности, вы можете вызвать глобальную команду для остановки сразу всех звуков. То же касается и воспроизведения, паузы. Четвертым пунктом идет оптимизация. Хоть она и не такая серьезная, но все равно движок немного оптимизировал, теперь некоторые менеджеры по умолчанию не включены, чтобы не отнимать ресурсов устройства. Ну и на этом, пока что, все. Вчера не выложил ничего, каюсь, но не жалею! День прошел очень позитивно, с друзьями. Желаю всем хорошего окончания года! |
Ответ: j2Ds
|
Ответ: j2Ds
И сразу за обновлением готовится обновление 0.5.0, в котором добавлен новый менеджер для работы с триггерами.
На текущий момент поддерживаются три типа событий: - Циклическое выполнение команд каждый N секунд. - Разовый запуск команд с задержкой - Циклическое выполнение с зарержкой. Пока это лишь прототип, проверить можно будет чуть позже на j2ds.ru, там уже, кстати, доступны примеры программ с использованием звуков. BezaBead тоже модифицирован согласно вововведениям. |
Часовой пояс GMT +4, время: 07:16. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot