Ответ на вопрос
Jake2
Jake2 — порт игрового движка Quake II на язык программирования Java, выпущенный под свободной лицензией GPL[1]. Проект изначально разрабатывался компанией Bytonic Software. Движок поддерживает как одиночный, так и многопользовательский режимы оригинальной игры. Jake2 может работать как самостоятельное приложение или запускаться через Java Web Start.
Общие сведения
| Jake2 | |
|---|---|
| Дополнительные сведения | |
| Сайт | bytonic.de/html/jake2.ht… |
История
Версия Jake2 0.9.1 была представлена командой разработчиков JOGL на конференции JavaOne в 2004 году как пример взаимодействия Java и OpenGL[2][3]. В дальнейшем компания Sun Microsystems использовала движок для демонстрации возможностей технологии Java Web Start при распространении игр через интернет[4].
В августе 2012 года активная разработка велась в ответвлении под названием LWJake2, где библиотеки JOGL и JOAL были заменены на LWJGL.
В октябре 2012 года в Git-репозитории появилась версия, использующая актуальные на тот момент выпуски Java OpenGL и Java OpenAL. Эта модификация позволяла играть прямо в браузере (через апплет или Web Start). Благодаря эмуляции фиксированного конвейера OpenGL через OpenGL ES 2.0 (или напрямую через OpenGL ES 1.0) движок получил поддержку мобильных платформ. Улучшения в интеграции с JOAL также обеспечили вывод звука на мобильных устройствах. В июне 2013 года этот форк был обновлён для совместимости с последней версией JOGL.
Оригинальные разработчики из Bytonic Software выпустили последнее обновление для Jake2 в январе 2015 года.
С 2019 года развитие проекта продолжается в новом форке[5], который адаптирован для современных версий Java и актуальных библиотек.
Альтернативное использование
Благодаря доступности исходного кода на Java движок Jake2 легко поддаётся модификации и неоднократно применялся в исследовательских проектах:
- В 2006 году проект использовался в экспериментах по управлению трёхмерными играми с помощью системы отслеживания взгляда (айтрекинга)[6][7]. При этом результаты опросов показали, что традиционное управление мышью остаётся более удобным.
- В начале 2009 года исследователи из Университета Бейра-Интериор адаптировали Jake2 для работы в среде GridGain — грид-системе, реализующей модель MapReduce. Эта версия распространялась на условиях двойного лицензирования (под GPLv3 и проприетарными лицензиями).
- В 2010 году группа инженеров Google портировала движок на HTML5 для демонстрации возможностей фреймворка Google Web Toolkit[8].
Архитектура
Jake2 полностью написан на Java. В качестве низкоуровневой графической библиотеки движок может использовать Java OpenGL совместно с Java OpenAL либо LWJGL. Проект поддерживает как одиночный, так и многопользовательский режимы Quake II. Игру можно запускать как обычное локальное приложение или через Java Web Start.
Производительность Jake2 сопоставима с оригинальной версией движка на языке C[9], а на некоторых аппаратных конфигурациях даже превосходит её[10].