고도(Godot) 엔진은 누구나 무료로 쓰고 고칠 수 있는 오픈소스 게임 엔진입니다. 설치 파일이 가볍고 2D 게임 제작 기능이 잘 갖춰져 있어 개인 개발자와 게임잼 참가자 사이에서 많이 쓰입니다. 이 글은 고도 엔진을 처음 써 보는 사람이 알아야 할 구조와 시작 순서를 설명합니다.
고도 엔진은 어떤 엔진인가
고도 엔진은 MIT 라이선스로 공개된 오픈소스 엔진입니다. 오픈소스란 프로그램의 설계도인 소스 코드가 공개되어 있어 누구나 보고 고칠 수 있다는 뜻입니다. 엔진 사용료나 로열티가 없고, 만든 게임의 권리는 모두 만든 사람에게 있습니다.
엔진 자체가 가벼워 내려받아 압축을 풀면 바로 실행됩니다. 사양이 높지 않은 노트북에서도 무리 없이 돌아가는 편이라 처음 게임 개발을 해 보는 사람에게 부담이 적습니다. 2D와 3D를 모두 지원하지만, 특히 2D 작업 환경이 편리하다는 평가를 많이 받습니다.
한편 대형 상용 엔진에 비하면 실무 채용 공고에서 요구하는 경우가 아직 적고, 콘솔 게임 출시는 공식 기능이 아닌 별도 업체를 거쳐야 하는 등 제약도 있습니다. 취업이 목표라면 이 점을 함께 고려해야 합니다.
핵심 구조: 노드와 씬
고도 엔진의 모든 것은 노드(Node)로 이루어집니다. 노드는 이미지를 보여 주는 노드, 충돌을 감지하는 노드, 소리를 내는 노드처럼 한 가지 기능을 가진 블록입니다. 이 노드들을 나무 모양으로 묶은 것을 씬(Scene)이라고 합니다.
고도의 씬은 다른 엔진의 씬보다 범위가 넓습니다. 플레이어 캐릭터 하나도 씬이고, 총알 하나도 씬이며, 이것들을 모아 놓은 스테이지도 씬입니다. 작은 씬을 만들어 큰 씬 안에 넣는 방식으로 게임을 조립합니다. 유니티의 프리팹과 씬 개념이 하나로 합쳐졌다고 생각하면 이해가 쉽습니다.
- CharacterBody2D: 직접 조종하는 캐릭터의 몸체
- Sprite2D: 캐릭터 이미지를 보여 줌
- CollisionShape2D: 충돌 범위를 정함
- Camera2D: 캐릭터를 따라다니는 카메라
스크립트 언어: GDScript
고도에서는 주로 GDScript라는 전용 언어로 스크립트를 작성합니다. 문법이 파이썬과 비슷해 들여쓰기로 구조를 나누고, 문장이 짧아 입문자가 읽기 쉽습니다. 엔진과 함께 설계된 언어라 노드를 다루는 코드가 간결합니다.
C#을 쓰고 싶다면 .NET을 지원하는 버전을 따로 내려받으면 됩니다. 유니티에서 C#을 먼저 배운 사람은 이 방법으로 익숙한 언어를 그대로 쓸 수 있습니다.
시그널: 노드끼리 소통하기
시그널(Signal)은 어떤 일이 일어났다고 알리는 신호입니다. 버튼이 눌렸을 때, 적이 범위 안에 들어왔을 때, 타이머가 끝났을 때 노드가 시그널을 보내고, 이를 연결해 둔 다른 노드가 반응합니다. 에디터의 노드 탭에서 시그널을 클릭해 바로 함수와 연결할 수 있습니다.
시그널을 쓰면 보내는 쪽이 누가 받는지 몰라도 되기 때문에 노드끼리 느슨하게 연결됩니다. 나중에 한쪽을 바꾸거나 지워도 다른 쪽이 덜 망가집니다.
첫 프로젝트 만드는 순서
- 공식 홈페이지에서 엔진을 내려받아 실행하고 새 프로젝트를 만듭니다.
- CharacterBody2D를 루트로 하는 플레이어 씬을 만들고 이미지와 충돌 범위를 붙입니다.
- 플레이어에 GDScript를 붙여 방향키로 움직이게 합니다.
- TileMap 노드로 바닥과 벽을 그려 스테이지 씬을 만들고 플레이어 씬을 넣습니다.
- 코인 씬을 만들고 닿으면 사라지며 점수가 오르게 시그널을 연결합니다.
- 내보내기 메뉴에서 PC용 실행 파일을 만들어 봅니다.
공식 문서에는 첫 2D 게임을 처음부터 끝까지 만들어 보는 단계별 안내가 있으니 함께 따라 해 보면 좋습니다.
엔진보다 중요한 기초
고도, 유니티, 언리얼 중 무엇을 쓰든 변수, 조건, 반복, 객체 같은 프로그래밍 기초와 게임 루프에 대한 이해는 똑같이 필요합니다. SBS아카데미게임학원 게임프로그래밍 과정은 고도 엔진을 직접 다루지는 않지만, C·C++ 기초와 WinAPI로 게임이 돌아가는 원리를 익힌 뒤 유니티·언리얼로 넘어가도록 구성되어 있어 어느 엔진에도 쓸 수 있는 기본기를 쌓을 수 있습니다.
자주 묻는 질문
고도 엔진으로 만든 게임을 팔아도 되나요?
됩니다. MIT 라이선스는 상업적 이용을 허용하며 엔진 사용료도 없습니다. 다만 라이선스 고지 같은 기본 조건은 공식 안내를 확인하세요.
고도 엔진만 배워도 취업할 수 있나요?
국내 채용 공고는 유니티나 언리얼을 요구하는 경우가 훨씬 많습니다. 취업이 목표라면 고도는 연습용으로 쓰고 주력 엔진을 하나 더 익히는 것이 현실적입니다.
