LÖVE

LÖVE는 Lua 스크립트를 이용해 2차원 게임을 제작하는 무료·오픈 소스 게임 프레임워크다. Love2D라고도 불리며, 프로그래머가 별도 장면 편집기를 사용하지 않고 텍스트 편집기와 Lua 코드를 통해 화면 그리기·입력·사운드와 게임 로직을 구현하도록 설계됐다. 엔진의 하위 수준 코드...

별칭LÖVE 2D, Love2D
분류2D 게임 프레임워크
개발 주체LÖVE 개발 공동체
작성 언어C++, Lua
게임 개발 언어Lua
주요 구성love.graphics, love.audio, love.physics, love.input 등
그래픽스 기술OpenGL 계열 및 버전별 백엔드
오디오 시스템OpenAL 계열
물리 시스템Box2D 연동
개발 플랫폼Windows, Linux, macOS
추가 지원Android, iOS 등 버전별
라이선스zlib License
소스 코드GitHub
공식 웹사이트love2d.org

LÖVE는 Lua 스크립트를 이용해 2차원 게임을 제작하는 무료·오픈 소스 게임 프레임워크다. Love2D라고도 불리며, 프로그래머가 별도 장면 편집기를 사용하지 않고 텍스트 편집기와 Lua 코드를 통해 화면 그리기·입력·사운드와 게임 로직을 구현하도록 설계됐다. 엔진의 하위 수준 코드는 주로 C++로 구현되고 게임 개발에는 Lua API를 사용한다.

LÖVE는 프로젝트에 main.lua 등 Lua 파일과 이미지·사운드 자산을 포함해 실행한다. 프로그램은 love.load, love.update, love.draw와 같은 콜백으로 초기화, 상태 갱신 및 화면 렌더링을 수행하며, 사용자는 자신이 필요한 객체·상태·장면 시스템을 직접 구성할 수 있다. 프레임워크는 장르별 템플릿보다 간결한 실행 API를 제공하는 데 중점을 둔다.

그래픽스 기능은 이미지·스프라이트·텍스트·기본 도형과 셰이더, 렌더 타깃 및 화면 변환을 지원한다. 사운드 재생·입력 장치·파일 시스템 접근과 타이머 등의 기능도 제공하며, love.physics는 Box2D 계열 물리 기능을 Lua API에 연결한다. 화면·오디오·입력 시스템을 공통 API로 제공하여 플랫폼별 저수준 구현을 직접 다루는 부담을 줄인다.

사용자는 Lua 파일과 자산을 패키지로 묶고 LÖVE 런타임과 결합해 게임을 배포할 수 있다. Windows·Linux·macOS를 주요 플랫폼으로 사용하며, 모바일 환경에 대응하는 포트도 존재한다. 운영체제의 하위 그래픽스·오디오 API와 실행 환경은 LÖVE 버전 및 빌드 구성에 따라 달라질 수 있다.

LÖVE의 소스는 zlib 라이선스로 공개되며 상업적 게임에도 사용할 수 있다. MonoGame이나 libGDX처럼 통합 편집기 없이 코드 중심 게임 개발을 제공하지만, Java·C# 대신 Lua 스크립트와 가벼운 C++ 런타임을 사용한다. 자체 렌더링·게임 객체 구조를 만들고 싶은 2D 게임 개발자에게 기초적인 도구와 실행 환경을 제공한다.[1]

역사

엔진과 프레임워크 구조

게임 로직·개발 언어

렌더링과 그래픽스

입력과 오디오

물리·애니메이션

개발·편집 도구

파일·자산 처리

지원 플랫폼

라이선스

활용 및 관련 게임

관련 문서

  1. LÖVE 공식 위키 ↩