Godot Engine - Godot 엔진에 대해서

Godot Engine

무료 2D 및 3D 게임엔진이며 크로스 플랫폼 엔진이다. MIT 라이선스로 배포되는 오픈소스이다.

 

최근에 Unity 요금 정책으로 많은 게임 기업들이 성명을 내면서, 덩달아 대체 엔진으로 이슈가 된 엔진이기도 하다.

 

Godot 커뮤니티 주도 하에 엔진과 문서가 수정되고 발전되고 있다.

 

Forum: https://godotforums.org/

Q&A: https://forum.godotengine.org/

Rocket.Chat: https://chat.godotengine.org/channel/devel

(실시간 채팅으로 질문 등을 올리면 꽤나 빠르게 답변해주는 것 같다.)

Discord: https://discord.gg/4JBkykG

Godot Engine 디스코드 채널

Github: https://github.com/godotengine/godot

Youtube: https://www.youtube.com/@GodotEngineOfficial/videos

 

국내는 네이버 카페와 디시 갤러리 등 있는데, 해외에 비해서는 규모가 작다.

 

네이버 카페: https://cafe.naver.com/godotk

갤러리: https://gall.dcinside.com/mgallery/board/lists?id=godot

 

Godot Docs

https://docs.godotengine.org/en/latest/

 

Godot Docs – master branch

Welcome to the official documentation of Godot Engine, the free and open source community-driven 2D and 3D game engine! If you are new to this documentation, we recommend that you read the introduc...

docs.godotengine.org

 

공식 Godot 문서이다.

기본적인 Godot 엔진 구성 요소와 튜토리얼, 클래스 레퍼런스 등을 살펴볼 수 있다.

왼쪽 아래 항목에서 언어와 버전을 바꿀 수 있다.

Godot Docs
ko를 선택하면 한국어로 나온다.

 

기능

Godot 엔진이 지원하는 기능들은 아래 사진과 같이 나열되어있다.

 

플랫폼(Godot 4.2버전 기준)

에디터 & 빌드시킨 파일 모두 실행 가능

  • Windows 7 이상
  • macOs 10.12 이상
  • Linux
  • Android 6.0 이상

 

빌드시킨 파일 실행 가능

  • iOS 11.0 이상
  • 콘솔

 

스크립팅

  • 노드를 확장하는 스크립트. 객체 지향 디자인 패턴
  • 시그널과 그룹을 통한 스크립트 간 통신
  • 교차 언어 스크립팅 지원

 

GDScript

  • 인터프리터 언어로 파이썬과 비슷하게 들여쓰기 기반 문법을 사용
  • 쓰레드를 사용해 비동기 작업, 멀티프로세싱 등이 가능

 

C#

  • .NET 6 이상 필요
  • Windows, Linux, macOS 에서 가능. Android와 iOS는 4.2버전에서 현재 실험적으로 지원하고 있다.
  • IDE 기능을 사용하기 위해선 Visual Studio Code 와 같은 외부 에디터 사용 권장

 

GDExtension(C, C++, Rust, ...)

  • 고성능, 3rd party 통합 등을 위해 사용해야할 경우
  • 공식적으로는 C와 C++이 있고, 커뮤니티에서 Swift, Rust 등의 언어도 제공한다.

 

이외 그래픽, 물리, 셰이더, 렌더링 등의 기능에 대해선 공식 문서에 자세하게 나와있다.

 

라이센스 준수

MIT 라이센스의 요구 사항은 게임 또는 파생 프로젝트의 어딘가에 라이센스 문구를 포함하는 것이다.

 

라이센스 문구

더보기

This game uses Godot Engine, available under the following license:

Copyright (c) 2014-present Godot Engine contributors. Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

 

Godot 엔진 내에서 라이센스 정보를 가져올 수 있는 함수를 제공한다.

Dictionary get_license_info ( ) const
String get_license_text ( ) const

 

 

get_licenst_text를 출력하면 아래 화면처럼 나온다.

get_licenst_text 출력

 

주로 라이센스 문구는 크레딧 화면에 출력하는 방식으로 나타내면 된다.

 


 

지금까지 Godot 엔진의 대해서 간략하게 알아보았다.

 

엔진이 오픈소스이고 되게 가벼운 느낌이다(엔진이 73MB 밖에 안한다..)

 

차차 기본 화면과 레이아웃, 게임 구조, 스크립팅 등을 알아갈 예정이다.