Löve (игровой движок)
LÖVE (или Love2D) - кроссплатформенный движок с открытым исходным кодом для разработки 2D видеоигр. Движок написан на C++ и использует Lua в качестве языка сценариев. Издается под лицензией zlib.
API, предоставляемый движком, дает доступ к видео- и звуковым функциям хост-машины через библиотеки SDL и OpenGL, а начиная с версии 0.10 также OpenGL ES 2 и 3. Шрифты могут быть отрисованы движком FreeType. Версия движка под названием piLöve была специально портирована на Raspberry Pi.
Он также обеспечивает базовое управление файлами в "песочнице", чтобы избежать предоставления доступа ко всему диску для выполняемых игр.
LÖVE до сих пор поддерживается оригинальными разработчиками.
Этот движок часто встречается в композициях конкурсов по разработке видеоигр, таких как международный конкурс Ludum Dare[6].
В июле 2018 года это был 10-й игровой движок, наиболее используемый независимыми пользователями на сайте itch.io , владеющий 1,97% акций.
История[править]
Характеристики[править]
Эти функции поставляются с игровым движком:
- поддержка OpenGL пиксельных шейдеров GLSL,
- поддержка сенсорного экрана,
- поддержка UTF-8,
- поддерживает форматы изображений PNG, JPEG, GIF, TGA и BMP,[10]
- возможность использования 2D физического движка Box2D (можно отключить, чтобы облегчить библиотеку),
- библиотека luasocket для сетевых коммуникаций TCP/UDP,
- lua-библиотека enet, еще одна сетевая библиотека, реализующая Enet, надежный протокол на основе UDP
Переносимость и использование[править]
LÖVE является кроссплатформенным.
Совместимость приложений между различными версиями LÖVE не обеспечивается.
Дополнительные библиотеки и реализации[править]
Существуют различные библиотеки и форки LÖVE для улучшения базовых функций, таких как объектно-ориентированное программирование с наследованием и перегрузкой, интерполяции, управление камерой, сетевое многопользовательское управление, управление состоянием игры, конфигурация и т. Д.
- Библиотека реализации Simple Tiled позволяет пользователям загружать уровни в виде плиток, редактировать их с помощью Tiled[11] и отображать в играх. Он работает совместно с Box2D для управления столкновениями с этим декором[12].
- Библиотека anim8 позволяет пользователям загружать анимации, например, персонажей, из сетки изображений в растровый файл (PNG или JPEG).
- Существует также бесплатная платформа (GPLv3) под названием LIKO-12, вдохновленная фэнтезийной консолью PICO-8 и использующая LÖVE, позволяющая разрабатывать приложения в ограниченном разрешении, создавать резервные копии / восстанавливать в модифицированном формате PNG, точно так же, как видеоигровые картриджи игровых консолей или некоторые из них.первые микрокомпьютеры и экспорт их в HTML5 или в системы, поддерживаемые LÖVE.
- Lutro - игровой фреймворк Lua для libretro, частичный порт API LÖVE[16]. ChaiLove следует аналогичному пути, предлагая реализацию в ChaiScript, встроенном и кроссплатформенном языке сценариев для C ++ (C ++ 14).
- love.js это порт LÖVE, который призван сделать возможным запуск игр LÖVE в Интернете через HTML5, WebGL и Emscripten.
См.также[править]
Пруф[править]
gamedevelopment.tutsplus.com/articles/how-to-learn-love-love2d--gamedev-4331