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]