Главное Свежее Вакансии Образование
0 3 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Важные обновления и нововведения игрового HTML5 движка версии 0.0.4

Много нового прошло с момента последнего обновления j2Ds. Какие-то функции пришли, какие-то ушли. Обо всем подробнее в этой статье, а так же короткие новости проекта.

b_560c393dd68e1.jpg

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

Второе по списку, но не по важности - это абстракция сцены. Теперь сцена - это объект, который не имеет своих функций рисования. Точнее сказать, с появлением поддержки слоев в j2Ds отпала необходимость привязывать объекты к сцене, теперь это совершенно не обязательно и объекты могут рисоваться на любом слое. Пример - лес из демонстрации "2D Platformer".

Ну и теперь по порядку о самом-самом:

1. Введена поддержка слоев и прозрачностей. Движок позволяет использовать слои для отрисовки, что позволяет экономить ресурсы в десятки раз эффективнее, чем при отрисовке всех объектов на одной сцене.

2. Collision-box / Bounding-box. Ранее в движке не было возможности переопределения обрамляющей коробки объекта и изменения его маски для определения столкновений. Теперь можно, причем переопределяется все в одну строчку.

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

4. Низкоуровневый доступ к контекстам рисования. Ранее отрисовка графики производилась через заранее подготовленные шаблоны рисования, теперь же можно использовать доступ к контексту напрямую, что позволяет создавать свои шаблоны такими, какими вы хотите их видеть! Причем это могут быть текстуры совершенно любые. Поддерживаются все стандартные возможности HTML5 Canvas.

5. Измерение FPS. Добавлена опция (подключаемая) для возможности проверки FPS в игре на моменте ее разработки. Соответствующий пример уже добавлен в список официальных демо-примеров.

6. Режим write-mode. Наконец движок позволил корректно обрабатывать вводимый с клавиатуры текст. В режиме write-mode у движка отключаются управляющие клавиши, и задействуется переменная-буффер для хранения вводимого текста. При этом управляющие клавиши можно использовать внутри этого буфера. Пример - контроль ввода.

7. События движка. С появлением игровых состояний были так же введены события движка, позволяющие воспроизводить пользовательские функции при возникновении определенных состояний. Такие как загрузка DOM дерева, получения доступа к input'у, или смена игрового состояния.

8. Поддержка всех событий клавиатуры. Еще одна важная деталь, позволяющая правильно обрабатывать события isKeyPress / isKeyDown / isKeyUp объекта inputController. Ранее доступны были только события isKeyDown.

9. Глобальный delta-time. Как ни странно, но ранее в движке была только возможность ограничить FPS. Теперь наряд с принудительным ограничением FPS есть возможность использовать рассчитываемый движком фактор дельта-тайм, позволяющий стереть разницу между мощностями процессоров.

10. Упрощение движка. Мы снизили количество обязательных команд инициализации, убрали обязательные HTML элементы, чтобы сделать процесс создания игры более творческим и менее техническим, позволив игроделу не заморачиваться над функционалом движка а просто использовать его так, как ему удобно.

11. Работа с курсором. Теперь курсор мыши можно скрывать. назначать на него свое изображение или использовать объект вместо курсора, используя его функционал, уже как игрового объекта.

12. Полная поддержка сенсорных устройств. Добавлены функции обработки жестов сенсоров, манипуляций с экраном.

Ну и напоследок хочется отметить повышение производительности за счет внутренней оптимизации движка, которая увеличила производительность игр на 60%. Вообще, для обновления 0.0.4 было уделено много внимания именно в плане оптимизации, и результат нас весьма порадовал. Надеемся, вас тоже!

Всем спасибо за внимание!

Ссылки:

GitGub + справка

Видеоуроки по работе с движком

Любительский платформер (запускается в браузере)

Описание движка и пара примеров (запуск в браузере)

-1
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Пол Грэм Коммюнити
Площадка для чтения и обсуждения эссе Пола Грэма
Дмитрий Василюк
Приветствую Петр.
Пару маленьких замечаний. Я знаком с некоторыми технологиями из статьи и пожалуйста в следующий раз, если хотите помочь разобраться с движком 5-6 ссылок по теме.
Во вторых лучше так "Важные обновления и нововведения версии игрового движка J2ds 0.0.4"
И еще у вас есть ссылки на демо в боевом применении?
Ответить
RTS Game
Мобильная игра в жанре RTS
Петр Нагель
Я только представитель, ссылки добавил, но не в курсе, много это или мало. Когда разработчики все доделают, будет обновление.
Ответить
Пол Грэм Коммюнити
Площадка для чтения и обсуждения эссе Пола Грэма
Дмитрий Василюк
И еще найди себе бесплатную бету или редактора.
Ответить
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.