mir.pe (일반/밝은 화면)
최근 수정 시각 : 2024-10-27 01:13:43

Godot Engine

고도 엔진에서 넘어옴
||<tablebordercolor=#000,#fff><tablewidth=100%><tablebgcolor=#fff,#1c1d1f><bgcolor=#000,#fff> 게임 엔진 ||
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px);"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px;"
메이저 상용 게임 엔진
파일:언리얼 엔진 로고.svg 파일:언리얼 엔진 로고 화이트.svg 파일:유니티 로고.svg 파일:유니티 로고 화이트.svg
언리얼 엔진 유니티
관련 문서: 언리얼 엔진 vs 유니티 엔진
기타 엔진 목록 }}}}}}}}}
Godot Engine
고도 엔진
파일:Godot Engine logo.svg 파일:Godot Engine logo white.svg
<colcolor=#000,#fff><colbgcolor=#fff,#1f2023>개발사 <colbgcolor=#ffffff,#1f2023>OKAM
출시일 2014년 12월 15일
최신 버전 4.3 ( 2024/ 8/15)
유형 게임 엔진
기반 언어 <colcolor=#000,#fff><colbgcolor=#fff,#1f2023>런타임 C++
스크립트 GDScript, C++, C#[1]
타겟 플랫폼[2] PC Windows | macOS | Linux
모바일 iOS | Android
라이선스[3] MIT 라이선스
요금 없음
파일:홈페이지 아이콘.svg | 파일:GitHub 아이콘.svg 파일:GitHub 아이콘 화이트.svg | | 파일:레딧 아이콘.svg | 파일:스팀 아이콘.svg

1. 개요2. 특징
2.1. 완전 무료2.2. 아담한 엔진2.3. 지원 언어2.4. 씬과 노드와 리소스2.5. 지원 플랫폼
3. 공식 배포 버전
3.1. 3.0
3.1.1. 3.5 LTS (2022년 8월 5일 출시)
3.2. 4.0
3.2.1. 4.0 (2023년 3월 1일 출시)3.2.2. 4.1 (2023년 7월 6일 출시)3.2.3. 4.2 (2023년 11월 30일 출시)3.2.4. 4.3 (2024년 8월 15일 출시)
4. 논란
4.1. 정치적 올바름 지지 논란
5. 이름의 유래6. 고데트7. 사용된 프로그램
7.1. Game7.2. Apps & Tools
8. 관련 사이트

[clearfix]

1. 개요

width=100%
Godot Engine 3.X 버전의 작업 공간

아르헨티나의 개발자인 후안 리니에츠키(Juan Linietsky)와 아리엘 만수르(Ariel Manzur)가 개발한 게임 엔진이다. 두 사람은 아르헨티나의 상황이 나빠져서 2021년 말에 아르헨티나를 떠나 스페인으로 이주했다.

본래 인하우스 툴로 사용하던 게임 엔진 MIT 라이선스하에 오픈소스로 배포하는 엔진이 현재의 고도 엔진(Godot Engine)이다.

공식 디스코드 커뮤니티가 사용자 규모 3위에 이를 정도로 메이저 엔진이지만 대한민국에선 워낙 마이너한 엔진이다 보니 대한민국에서 이 엔진의 존재를 아는 사람은 아직 소수이다.

2024년부터 한국에도 드디어 고도 엔진 4 입문서들이 나오기 시작했다. 아직은 국내 저자의 책이 아니라 미국이나 일본 원서를 번역한 책들이긴 하지만 고도 엔진 한국 사용자가 많아질 거라는 긍정적인 신호이다.

2. 특징

3D 작업물은 COLLADA(*.dae) 형식으로 가져온다. Blender 2.7x에서 작업한 파일을 가져오려면 공식 홈페이지에서 제공하는 애드온을 사용하는 편이 좋다. ( 밑의 Better Collada Exporter 참고) Blender 2.8 이후로는 Better Collada 애드온이 업데이트 되지 않고 있으며 블렌더 기본 Collada로 임포트 하면 애니메이션 축이 제대로 넘어 오지 않는다.[4] Blender 2.8x 이후로는 glTF 2.0 포멧으로 3D 작업물을 가져오는게 대세가 되어서 Better Collada 에드온의 버전업은 아마 없을 것이라고 한다. NLA로 애니메이션 관리만 잘하면 다중 애니메이션도 잘 넘어 온다.

2.1 버전부터 다국어 환경을 지원하고 한국어 UI가 추가 되었다. 3.4 이전까지는 용어상 상용 엔진의 한국어 번역과 다른 부분이 있을 수도 있었으나 한 번역가에 의해 Godot 엔진의 주요 용어가 언리얼 엔진의 용어를 바탕으로 변경되었다.[5] 고해상도 작업 환경을 위해 UI를 백터로 만들었으며 이를 위해 국내 오픈소스 프로젝트인 ThorVG 엔진을 탑재하였다. 자체 한글 글꼴도 지원해서 이제 한글이 안 보이거나 하는 문제는 없다. UI 작업처럼 글꼴를 지정해줘야 하는 작업은 여전히 글꼴을 해당 언어를 지원하는 글꼴이 있어야 한다. 비트맵 글꼴 이외에도 벡터 타입의 글꼴도 사용 가능하다.

자금
특이하게 테슬라에서 Web UI쪽으로 Godot Engine 경험자를 찾았었다. 재미있게도 게임 엔진이 GUI 개발하는데 있어서 사용하기 좋은 모양이다.

Lorien은 GDScript로 개발한 드로잉 프로그램이다.

유니티 엔진이 정액제 정책을 정량제 정책으로 바꾼다는 발표 이후로 대체 엔진 중 하나로 급부상했다. 오픈소스를 지향하고 있으며 이용료도 완전 무료기 때문이다. 이에 개발자는 원래 유니티와 척을 둘 이유가 없어 딱히 마이그레이션을 지원하지 않았으나 상황이 바뀌었다고 이 사태에 대해서 입장을 표명했다. #

C#으로 프로그래밍을 할 경우 .NET Native 지원한다.

2.1. 완전 무료

구성적으로 오픈소스를 취하고 있음에도 불구하고 세부적인 계약조건으로 수익을 제한하는 언리얼 엔진 같은 다른 엔진과는 다르게 코드와 엔진 자체가 통째로 MIT 허가서에 기반해서 무료로 제공되기 때문에 사용자는 수익을 빼앗길 염려를 전혀 하지 않아도 되며 엔진 개발비용은 전부 Patreon 등의 후원을 통해서 충당한다.

2.2. 아담한 엔진

IDE를 포함한 대부분의 요소가 아무리 커도 150MB정도로 매우 컴팩트하며 별도의 설치도 필요 없을정도로 가볍다. 또한 추가적인 설치를 필요로 하는 요소 또한 없기 때문에[6] 엔진을 설치하고 준비하는 과정이 그렇게 길지 않다는 것 또한 장점이다.[7]

에디터에서 실행 시에는 불필요하나, 내보내기(export)를 할 때 필요한 export 템플릿(70~757 MB 가량)을 추가로 설치해야 한다.

2.3. 지원 언어

자체 내장 스크립트 언어는 GDScript이고 그 외로 C#이랑 C++을 공식 지원하고 있다.
GDScript는 고도에 내장된 편집기에서 작성할 수 있는 반면 C#과 C++은 별도의 IDE에서 작업을 해야 한다.

GDScript는 파이썬에서 대부분의 문법을 따온 자체 스크립트 언어다.[8]

GDScript 문법 치트시트

내장 에디터에서 함수나 변수를 Ctrl클릭하면 정의된 곳이나 문서 도움말로 갈 수 있다.

Atom Visual Studio Code에도 GDScript 관련 확장 기능이 있다.
자체 에디터에서 편집하는게 힘들다면 Code를 쓰는 것이 좋다.[9]

VisualScript는 언리얼 엔진 4의 블루프린트처럼 코딩 대신 '블럭과 연결'이란 방식으로 이루어진 언어로, 비프로그래머에게도 쉽게 다가갈 수 있을지도 모른다. 하지만 4.0에서 지원 중단되었다. Godot 4.0 will discontinue VisualScript

4.2 버전부터 VisualScript 대신에 Godot Ochestrator 라는 플러그인이 나왔다. https://github.com/Vahera/godot-orchestrator

3.0 버전부터 C#을 사용할 수 있는 Mono 버전이 따로 배포된다.[10][11]

4.0 버전 이후로 Mono 런타임은 더 이상 사용되지 않으며, .NET으로 전환되었다. 이에 따라 Mono를 통한 안드로이드와 iOS 앱 빌드가 막혔지만, 대신 .NET Native를 사용해 빌드하는 것이 가능해졌다. Current state of C# platform support in Godot 4.2

한편 GDNative라는 이름으로 C++을 비롯한 컴파일 언어들을 지원하기 시작했다. Godot 자체가 C++로 만들어진 엔진이다보니 호환성도 좋다.

하지만 C++ 인터페이스는 공식적인 지원은 없다고 한다. C++ 이외에도 Rust처럼 다이나믹 라이브러리로 컴파일 할 수 있는 언어라면 모두 사용할 수 있다.

추가적으로 셰이딩 언어도 지원하므로 알아두는 편이 좋다.

2.4. 씬과 노드와 리소스

엔진 내에서 대부분의 게임 요소는 트리 구조의 씬(Scene)으로 만들어진다. 장면, 게임오브젝트, 캐릭터 등이 하나 혹은 여러개의 씬으로 작동한다.

이 씬은 노드(Node)의 집합으로 이루어지며, 노드는 리소스(Resource)의 집합으로 이루어진다.[12]

게임에 필요한 기능 대부분은 이 노드에서 찾을 수 있다. 예를 들어 버튼을 만들기 위한 'Button' 노드가 있고, 타일맵을 만들기 위한 'TileSet'과 이를 사용하는 'TileMap' 노드가 있다. 그렇기에 많은 노드가 있고 이를 구성하는 리소스는 더 많다.

씬도 인스턴스를 통해 다른 씬의 노드의 형태로 들어갈 수 있다. 이렇게 여러 노드와 씬이 중첩되어서 캐릭터가 되고, 아이템이 되고 노드끼리 시그널을 주고 받으면서 게임을 만드는 것이 Godot의 핵심이다.( #)

Player
+------------------+
|            Scene |
| +------+         |
| | Node |         |
| +------+         |
|     |            |
|     |  +------+  |
|     +--| Node |  |
|     |  +------+  |
|     |  +------+  |
|     +--| Node |  |
|        +------+  |
+------------------+


씬의 트리구조는 위에서 아래로 처리되는 방식으로 포토샵 레이어처럼 밑에서 위로 쌓는 방식과 반대이다. 가령 Viewport[13] 노드로 3D 오브젝트를 렌더링해서 Sprite 노드에 텍스처를 연결해줄 때 Sprite가 Viewport보다 선행되면 실행에는 문제가 없지만 약간의 오류가 생긴다.

2.5. 지원 플랫폼

2.5.1. Official Support

공식으로는 Windows, macOS, Linux에서 작업이 가능하고, 비공식적으로 FreeBSD, OpenBSD, Haiku로 포팅을 하는 모양이다.

당연히 Windows, macOS, Linux로 게임을 출시할 수 있으며[14], 모바일로는 Android와 iOS, 웹으로는 WebAssembly를 통해 게임을 출시할 수 있다.

2.5.2. 콘솔 미지원

아쉽게도 현재 공식적인 콘솔 지원은 없다.

고도 엔진이 자유-오픈 소스 소프트웨어 프로젝트이다 보니, 독점 소프트웨어인 콘솔별 개발 툴 혹은 라이브러리를 포함하여 공개할 수 없다.

현재 콘솔 포팅을 위한 가장 쉬운 방법은 고도 엔진을 콘솔로 포팅하는 퍼블리셔와 협력(계약)하는 것이다.[15]
2.5.2.1. Third-party
여기 여기를 참고.

Third-party support
2.5.2.2. W4 Consoles
W4 Games는 고도 엔진의 베테랑인 후안 리니에트스키, 레미 베르셸데, 파비오 알레산드렐리, 베테랑 사업가 니콜라 파로나토가 설립한 회사로 관련 제품으로 W4 Consoles이라는 기술 레이어 역할을 하는 미들웨어 소프트웨어로, 여러 대상 플랫폼(Nintendo Switch™, Xbox Series X|S™, PlayStation®5)에서 게임을 원활하게 이식할 수 있도록 지원하며, 효율적인 게임 포팅을 위한 표준화된 프레임워크를 제공한다고 한다.

W4 Games Announces Pricing Model for Console Ports

3. 공식 배포 버전

공식 버전은 3.X 버전과 4.X 버전으로 나뉜다. 고도 엔진 3.X 버전과 4.X 버전의 프로젝트가 호환이 되지 않는다.

3.1. 3.0

3.1.1. 3.5 LTS (2022년 8월 5일 출시)

2023년 9월 26일, 현재 최신 버전은 3.5.3로 장기 지원(LTS:Long Term Support) 버전이다. 기존의 Standard 버전(혹은 Classic 버전)과 C#을 지원하는 Mono 버전으로 나뉜다. 컴퓨터가 OpenGL 2.1과 OpenGL ES 2.0을 호환해야 한다.

Mono 버전의 경우, Visual Studio 2019용 Build Tools 또는 MonoSDK를 통해 MSBuild가 설치되어 있어야 한다.

3.2. 4.0

3.2.1. 4.0 (2023년 3월 1일 출시)

2023년 8월 3일: Godot 4.0.4 업데이트

Godot 4.0 sets sail: All aboard for new horizons

2023년 3월 1일 정식 릴리즈 버전이 공개되었다.

4.X 버전은 3.X 버전의 프로젝트 파일과 호환이 되지 않는다고 한다. 참고해두자.

또, 클래스 명칭과 GDScript의 문법이 3.X와 다르고 Tilemap 시스템이 새로 개편되었다.

Vulkan을 지원하기 시작했다.

3.2.2. 4.1 (2023년 7월 6일 출시)

Release Management Post Godot 4.0
2023년 4월 20일 공식 사이트에 게시된 뉴스에 의하면 릴리스 주기를 단축하여, 3, 4, 5월 병합 단계를 거쳐(3개월의 기능 통합과 1개월의 버그 수정 단계), 6월 말 Godot 4.1를 출시할 예정으로 변경됐다.

2023년 7월 6일: Godot 4.1 출시
이후 한 달 늦어진 2023년 7월 6일, 고도 4.1 정식 버전이 출시되었다.
2023년 7월 17일: Godot 4.1.1 업데이트

2023년 10월 4일: Godot 4.1.2 업데이트

3.2.3. 4.2 (2023년 11월 30일 출시)

2023년 11월 30일: Godot 4.2 출시
2023년 12월 12일: Godot 4.2.1 유지 관리 릴리즈

3.2.4. 4.3 (2024년 8월 15일 출시)

dev 1에서 새로운 Direct3D 12 렌더링 드라이버가 포함되었다. 하지만 사유 소프트웨어를 배포하는 것이 Godot 프로젝트의 사명에 어긋난다고 주장하며, 이 때문에 별도로 컴파일을 하여야 사용 가능하다.

dev 3에서는 Direct3D 12 드라이버의 지원이 공식 빌드에 포함되었다. 단 DirectX 셰이더 컴파일러를 통해 현재 실행 중인 아키텍처에 맞게 dxil.dll을 에디터나 내보낸 프로젝트에 복사하여야 D3D12 백엔드가 활성화가 가능하다.

RC 1에서는 Microsoft가 DXIL 검증기 해시를 오픈 소스로 공개함으로써 별도의 라이브러리 없이 Direct3D 12를 Godot 에디터와 게임과 함께 지원하게 되었다.( GH-94203) 또한 퀄컴의 엔지니어의 테스트를 마친 Windows ARM64용 빌드를 지원한다.

Godot 4.3, a shared effort

주요 기능은 다음과 같다:

4. 논란

2024년 고도 엔진의 前 메인테이너가 쓴 내부 고발에 따르면 기여자들의 의견을 묵살하거나 집단 괴롭힘, 극단적 친러 발언에 대한 반발에도 도리어 가해자를 감싸주고 피해자를 밴하는 사례가 있다고 한다. 커뮤니티가 마치 종교처럼 리드 개발자를 추종하고 약속한 것들을 제대로 이행하지도 않아 아예 오픈소스계의 거대한 스캠이 아니냐는 비난을 하고 있다. #

다만 위의 Andrii라는 메인테이너 또한 위의 책에서 인종차별적인 언사를 보이거나, 구체적인 내용으로 비판하는 대신 인신공격을 하는 등 신뢰성이 떨어지는 것도 사실이니, 자세하게 알아본 다음에 선택을 하도록 하자. 실제로 Andrii는 우크라이나 전쟁즈음 해서 포럼의 러시아인 기여자와 심한 갈등 끝에 고도를 나온 것으로 추정된다.

4.1. 정치적 올바름 지지 논란

Know Your meme의 정리글
루리웹의 정리글 #2

2024년 9월 27일, 정치적 올바름을 추종하는 개발자들이 개발력이 떨어져 언리얼 엔진 5같은 만들어진 엔진을 사다 쓴다는 한 X 게시글에 고도 엔진이 반응해 정치적 올바름 지지자 개발자들을 지지한다며 고도 엔진 사용을 종용하면서 # 논란이 시작되었다.

고도 엔진 측은 이에 부정적인 반응을 보인 인원들을 X 와 Github 에서 모조리 차단해버렸다. 그중에 티타늄급 후원자[16]도 있다는 사실은 물론, 이 과정에서 고도 엔진의 커뮤니티 관리자가 비판자들에게 인신공격을 하기 까지 했다는 것이 밝혀지면서 사태는 겉잡을 수 없이 확산되었다.

이후 고도엔진 이사회가 공식 X 계정을 통해서 성명문을 발표했는데 직원 측의 인신 공격과 무단 차단을 규탄했으며 억울하게 차단을 당했다면 이의 제기를 해줄 것을 부탁했다. # 문제는 이러한 정치적 올바름 지지에 대한 언급이나 조치는 없었으며 왜 차단된 사람이 직접 이의제기를 해야하는지 모르겠다는 의문이 제기되면서 Godot 측에서 지지 선언 당시 사용했던 해시태그인 Wokot[17]는 Godot 엔진이 정치적 올바름 지지를 유지한다 판단한 유저들에 의해 멸칭이 되고 말았다.

안그래도 점점 느려지는 개선과 버그 방치 등으로 인해서 개발자들 사이에서 말이 많았던 것에 이어 이런 부정적 이슈까지 더해지면서 이주 운동이 벌어졌고 리도 엔진이라는 포크판도 등장했다.[18] 거기다 고도 엔진이 주목 받게된 이유인 런타임 요금제 신설 발표로 논란을 야기했던 유니티 논란의 런타임 요금제을 공식적으로 폐지한지 얼마 되지 않았기 때문에 다시 고도 엔진을 버리고 유니티 엔진으로 돌아가는 길을 택하는 경우가 늘어났다.

5. 이름의 유래

사뮈엘 베케트의 연극 고도를 기다리며의 'Godot'를 따와 만든 이름이다.

고돗 혹은 고닷 엔진이라고 부르기도 하지만 굳이 말하면 '고도'가 맞는 표현이다. 프랑스어는 마지막 자음[19]을 발음을 하지 않는 경향이 있다.[20] 그러나 'Godot'이라고 검색하면 고도 검사[21]가 나오고, '고도'라고 검색하면 고도의 1번 문서가 먼저 검색된다.

현재는 이름이 유명해져서인지 고도 검사는 나오지는 않는다.


해외에서도 생각하는 것은 똑같다. 실제 '고도를 기다리며' 연극의 '고도'를 발음하는 방법도 크게 Go-dot[고닷]과 Guh-dough[고도]로 나뉘었다. 때문에 몇몇 사람들은 엔진 이름을 바꿔야 한다고 주장하기도 한다.

6. 고데트

파일:godette engine.png

2021년 4월 1일 현 엔진 이름을 고데트로 바꾼다는 드립을 올린적 있었는데[22] 이게 큰 반향을 가져와서 3D 모델링이 만들어지는 등 유니티쨩과 비슷한 위치를 가져가게 되었는데, 별개로 해당 만우절 농담은 고도가 비전문적인 엔진이라는 선입견에 맞춰 장난기를 더한 농담이었는데 이 농담에서 "비전문적"이라는 부분을 진지하게 받아들이는 유저들이 나와서 이에 대해 사과하는 사과문이 같이 올라오게 되었다.

7. 사용된 프로그램

Godot Official Showcase

7.1. Game





Unofficial list of games that are made with Godot Engine
스팀에 출시된 고도엔진으로 만든 게임 리스트[23]

7.2. Apps & Tools


8. 관련 사이트


[1] .NET 버전, .NET SDK 필요 [2] 출처 [3] 출처 [4] 블렌더와 고도 엔진의 3차원 축이 다르기 때문이다. *.fbx 임포트도 지원하지만 정상적으로 데이터가 넘어 오지 않기 때문에 논외 [5] 단, 가져오기(Import), 내보내기(Export), 매개변수(Parameter), 목록(List), 물리(Physics), 방출기(Emitter), 변형(Transform), 속성(Property), 실시간(Live): 언리얼 엔진에서도 실시간이라는 용어를 사용하기도 한다. 요소(Element), 이름 바꾸기(Rename): 언리얼 엔진에서는 이름 변경으로 번역되었다, 재설정(Reset), 조명(Lighting), 참조(Reference)라는 용어는 한국어로 번역되었다. [6] 만약 모노 버전을 사용한다면 모노/닷넷 SDK를 깔 필요가 있지만 Windows 환경이라면 닷넷 SDK는 일반적으로 컴퓨터에 기본 포함되어 있는 경우가 많다. [7] 플랫폼 별로 실행 파일 1~2개가 포함된 압축 파일로 제공된다. [8] 파이썬에 익숙하다면 쉽게 익힐 수 있다. 추가되거나 바뀐 키워드(var, func)와 Qt의 signal과 같은 몇 가지 차이점만 고려하면 된다. [9] 시그널 연결 상태는 확인할 수 없다. [10] 게임 개발에서 C#의 범용성을 생각하면 GDScript는 메인 스크립트 언어에서 밀려나 2군으로 전락할 가능성이 있다. [11] 추가 기능이 GDScript로 우선 제공되므로, C#에 대한 우선도가 밀린다. [12] 씬은 유니티(게임 엔진)에 있는 Prefab나 언리얼 엔진에 있는 블루프린트와 비슷하다. 그런데, 씬 별로 별개의 탭을 열어 편집하는 방식은 언리얼 엔진에 블루프린트 편집 방식에 가깝다. [13] 3D 오브젝트를 렌더링해서 실시간 텍스처로 출력한다. 게임 내의 모든 Viewport는 하나의 씬으로 취급하므로 카메라 레이어로 구분해주지 않으면 보이는 모든 오브젝트를 출력한다. [14] Linux 기반 스팀덱도 공식적으로 지원한다. [15] Steam 등으로 PC 게임 시장에 우선 출시하여 히트하면, 콘솔 대상 퍼블리셔가 연락할 듯 하다. [16] 매달 100유로를 고도 엔진 측에 후원한다. 한화 약 15만원 정도한다. [17] Dogot + Woke의 합성어. [18] 고도 엔진이 했던 커뮤니티와의 약속을 지키기 위해서 라던가 그 어떤 정치적, 종교적 이념를 위한 것이 아니라는 글을 X에 게시하는등 # 고도 엔진을 대놓고 저격하고 있다. [19] C, F, L, R, B, K, Q 제외. 또한 BKQ로 끝나는 단어는 드물기에 보통 CRFL정도만 생각하면 된다. [20] 가끔 예외가 아닌데도 발음하는 경우가 있는데 대부분 다른 언어에서 온 표현이거나 고유명사인 경우다. 하지만 절대적인건 아니라 각 단어별, 이름별로 확인해보는게 제일 정확하다. [21] 이쪽도 이름의 기원이 똑같은 고도를 기다리며기도 하다. [22] 이미지에 나온 고데트 이미지는 현 Godot 엔진의 로고 제작자가 3.0 버전 출시를 기념으로 만든 캐릭터로 원래는 만우절 농담을 위해 만들어진게 아닌 별개의 창작물이었다. [23] 실제 3000 개 정도 된다고 한다 [24] Godot 3.2 버전으로 제작 [25] 정확히는 이식한 업체가 Godot Engine 3를 기반으로 자체 개량한 엔진인 Blind Squirrel Engine을 통해 리마스터 및 이식했다.