지금 이 순간에도 수만 개의 게임이 쏟아져 나오고 있다. 그만큼 게임계에 뛰어든 사람이 많다는 뜻이다. 이제 게임 개발은 마이너가 아닌 메이저가 된 세상이 찾아왔다,라고 믿을 예정이다. 그리고 이런 게임들을 만들기 위해 필요한 건 바로 게임엔진이다.
게임엔진하면 무엇부터 떠오르는가? 대다수의 사람들은 Unity나 Unreal Engine부터 떠올릴 것이다. 이미 게임 회사에서도 적극적으로 사용하고 있는 메이저 게임엔진의 양대산맥이고, 관련하여 정보가 정말 많아서 누구나 쉽게 입문할 수 있기 때문일 것이다. 그 외에는 알만툴, 고도 엔진, 게임메이커 등 비주류긴 하지만 인디판에선 자주 사용되는 엔진들도 떠올리는 이들이 있을 것이다. 이들도 나름대로 정보는 많아서 입문하기 그다지 어렵지는 않아 보인다. 하지만, 여기 국내에서 거의 자료를 찾아보기 힘든 엔진이 있었으니...
LÖVE(이하 Love2D)
Love2D는 lua언어를 이용하여 2d게임을 개발할 수 있는 *멋진* 프레임워크다. 무료에 오픈소스 기반이며, 윈도우, 맥, 리눅스, 안드로이드, 그리고 iOS에서 작업할 수 있는 매력적인 프레임워크다. 여기서 프레임워크라 하면, 어떤 SW적 목적 달성을 위해 구조화되어 있는 하나의 거대한 틀이라고 말할 수 있겠다. 때문에 이 엔진은 여타 다른 통상적인 게임엔진이 가지는 GUI가 따로 없다. 모든 기능을 프로그래밍으로 해결해야 한다는 말씀.
이렇게 말하면 조금 난이도가 있어 보일 수도 있다. GUI가 있음에도 게임개발은 이토록 어려운데, GUI도 없이 게임을 만들라는 건 눈을 검은 천으로 가리고 게임을 하나부터 열까지 만들라는 것처럼 느껴지기 때문이다. 하지만 오히려 난 이 점이 마음에 들었다. 게임 개발에 있어 툴에 제한을 받지 않고 내가 원하는 대로 기능을 구현해서 만들 수 있다는 것 아닌가? 그래서 이번 시리즈는 강좌의 느낌보다는 나 스스로 개인적으로 정리하는 내용 위주로 다뤄질 예정이다. 독자는 나로 설정하고, love2d를 이용해 플랫포머 액션게임을 만들면서 필요한 내용들을 정리해보고자 한다. 언젠가 버려질 수도 있겠지만, 최대한 포기하지 않을 예정이다.
설치
설치는 아래 사이트에서 진행할 수 있다.
LÖVE - Free 2D Game Engine
Hi there! LÖVE is an *awesome* framework you can use to make 2D games in Lua. It's free, open-source, and works on Windows, macOS, Linux, Android and iOS.
love2d.org
다양한 설치 링크가 존재하는데, 필자는 윈도우 64비트 인스톨러를 통해 설치할 계획이다. 각자 본인 사양과 환경에 맞게 설치해 주면 된다.
설치 과정은 어려울 게 없다. 인스톨러는 한글화가 되어있으니 하라는 대로 하면 끝이다.
설치를 완료하고 시작메뉴에서 바로가기 생성을 허용했다면 이렇게 잘 생성이 됐을 것이다. 물론 여기서 LOVE를 실행해 봐야 귀여운 병아리 풍선이 당신을 반기는 것 말고는 별다른 창이 나오진 않을 것이다. 우린 이제부터 vscode에서 구동 환경을 갖출 것이다.
개발 환경 구축
솔직히 개발환경 구축이라 거창하게 말했지만, 사실 별거 없다. 그냥 익스텐션 하나 설치하고 끝낼 예정이기 때문이다.
love2d는 vscode에서 여러 가지 다양한 익스텐션을 제공한다. 프레임워크인 만큼 자동으로 컴파일해서 테스트를 할 수 있는 실행기부터 자잘한 스니핏 등 love2d개발에 큰 도움을 주는 익스텐션을 제공해 준다. 이들 중 필자가 설치할 익스텐션은 아래 3개다.
"Love2d Made Easy"는 Love2d의 빌드를 도와준다. 현재 개발 진행 중인 프로젝트를 폴더째로 열어두면, 우상단에 생기는 실행 버튼을 누르기만 해도 게임을 자동으로 빌드한 뒤 테스트환경을 구축해 준다.
"Love2d Snippets"는 Love2d의 스니핏을 지원한다. 자동완성이 생각보다 영향이 큰 법.
"Lua"는 Lua언어를 기반으로 개발하기 때문에 설치한다.
각 익스텐션은 설치한 이후 크게 건드릴 설정은 없는데, 만약 Love2d를 압축파일의 형태로 설치했거나 설치 경로를 바꿨다면 Love2d Made Easy에서 설정을 살짝 건드려줘야 한다.
Love2d Made Easy의 설정 최하단에 love.exe의 경로를 설정해줘야 한다. 이뿐이다.
프로젝트 생성 및 실행
추후에 게임을 완성했을 때 다시 설명하겠지만, love2d의 게임 빌드 및 배포는 압축파일과 비슷한 형태로 이루어진다. 폴더를 zip로 압축한 뒤, 이를 .love로 확장자를 바꿔주면 실행 가능한 게임파일이 완성되는 식이다. 그렇기에, 원하는 폴더를 생성해 주고 그 안에 main.lua파일까지 생성해줘야 한다. 게임 실행의 핵심은 main.lua에서 이루어진다고 보면 될 듯.
이후 프로젝트 폴더를 vscode에서 열어준 뒤, main.lua를 준비해 주면 된다. 이제 남은 건 코딩. 일단 오늘은 프로젝트 실행 방법에 대해 연습할 것이기에 국룰의 hello world를 출력해보고자 한다.
love2d에서 print문을 출력하는 코드는 아래와 같다.
-- main.lua
function love.draw()
--화면상에 텍스트 출력
--love.graphics.print("출력할 텍스트", x좌표, y좌표)
love.graphics.print("Hello World", 400, 300)
end
코드를 잘 작성했다면, 우상단의 저 알록달록한 하트 버튼을 눌러보자. 그럼 아래 이미지와 같은 화면이 출력될 것이다.
이런 창을 나오게 하는 데 성공했다면, 오늘의 정리글은 잘 따라온 것이다. 참고로 이 익스텐션의 힘을 빌려 실행하는 방법 외에도 다른 방법으로도 실행이 가능하다.
첫 번째 방법은 폴더 자체를 드래그하는 것이다. love.exe를 실행하고, 해당 창에 main.lua를 포함하는 폴더를 드래그해 주면 알아서 프로젝트가 실행된다.
두 번째 방법은 cmd에서 명령어를 입력해 주는 것이다. 아래 명령어를 입력해서 프로젝트를 실행해 볼 수도 있다.
"C:\Program Files\LOVE\love.exe" "C:\games\mygame"
"C:\Program Files\LOVE\love.exe" "C:\games\packagedgame.love"
첫 번째 줄은 love.exe에 프로젝트 폴더를 끌어놓는 것과 같은 처리고, 두 번째 줄은 프로젝트를 .love확장자로 압축시켜 놓은 것을 실행시키는 코드다. 사실 이 같은 방법이 매번 테스트하기 번거로워서 앞서 언급한 익스텐션을 설치한 것도 있다. 이렇게 번거롭게 개발해도 되지만, 좀 더 쉬운 길로 가도 좋을 것이다.
이걸로 첫 번째 정리는 마무리하도록 하겠다. 이제 이다음부터가 본격적으로 순수 코딩이 이루어지는 부분일 텐데, 주말마다 틈틈이 개발 및 포스팅할 예정이라 솔직히 기간은 오래 잡고 있다. 중간에 그만두지 않고 온전히 완주만 할 수 있으면 좋겠다.
아, 그리고 공식 위키에 튜토리얼 관련해서 정리가 잘 되어있으니 이를 한번 둘러보아도 도움이 많이 될 것 같다.
LOVE
love2d.org
'프로그래밍 > Love2D' 카테고리의 다른 글
Love2D(LÖVE)로 플랫포머 게임 개발해보자! (4) 이미지 불러오기, 이동 (0) | 2025.01.12 |
---|---|
Love2D(LÖVE)로 플랫포머 게임 개발해보자! (3) 클래스 (1) | 2024.12.24 |
Love2D(LÖVE)로 플랫포머 게임 개발해보자! (2) 콘솔 로그, 코드 분리 (0) | 2024.12.01 |
Love2D(LÖVE)로 플랫포머 게임 개발해보자! (1) 기초 문법 정리 (1) | 2024.11.24 |