Löve (игровой движок)

Материал из wikixw
Перейти к навигации Перейти к поиску

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