GDScript 는 게임엔진 Godot 의 스크립트 언어이다. 파이썬과 매우 닮아 있다고 한다.

 

GDScript 를 사용하기 위해서는 우선 아래 사이트에서 Godot Engine을 다운로드 받는다.

 

MIT 라이센스에 오픈소스이다. 용량은 유니티같은 엔진에 비하면 믿기 힘들 정도로 작다.

 

윈도우즈 용이 압축풀기 전에 30메가 정도에 압축을 풀면 60메가 정도 된다.

 

고도엔진(Godot 이라 쓰고 고도오 라고 발음한다)

 

Godot Engine - Free and open source 2D and 3D game engine

Code If you know how to code, and enjoy fun and challenging problems, you can help by fixing bugs or creating cool new features. Learn more Document Documentation quality is essential in a game engine; help make it better by updating the API reference, wri

godotengine.org

64비트를 다운 받는다

 

* 다운로드 받은 후에 압축파일만 풀면 된다. 설치과정이 필요없어서 빠르게 실행가능하다.

 

 

문서화가 매우 잘되어있다.

문서화가 잘 되어 있어서 스텝바이스텝으로 하나씩 읽어나가면 된다.

 

첫실행

처음 실행한 모습이다.

 

게임툴을 조작하기 전에 GDScript 를 배우는 것이 목적이므로 스크립트 실행을 위한 기초적인 설정을 한다.

 

스크립트 만들기

왼쪽에 파일시스템에 새스크립트를 추가한다.

스크립트창

스크립트 창이 나온다. extends Node 와 func _ready() 사이에 변수들이 들어간다.

 

func _ready는 일반 프로그램의 메인 함수 같은 것 같다. 플레이어에 붙이면 실행이 된다.

 

extends Node

var number = 5
var message = "Hello GODOT! from Tom"
var alive = false

func _ready():
	# print the string hello world to the output window
	# print(message)
	add(number,10)
	subtract(10,5)
	
func add(a,b):
	var result = a + b
	print(result)
	
func subtract(a,b):
	var result = a - b
	print(result)

연습용 스크립트를 써본다. 몇개의 변수와 사용자 정의 함수를 작성했다.

 

스크립트 에디터의 테마가 상당히 마음에 든다. 역시 게임 엔진이라서 그런가 감성이 높다.

 

결과창

스크립트 결과가 제대로 출력된다. 파이썬의 문법과 흡사하다. indentation 을 지키는 것에 주의해야 한다.

 

 

* 아래와 같이 함수를 만들어서 호출해본다. 곱셈,나눗셈, 나머지 연산자이다.

func _ready():
	# print the string hello world to the output window

	operator1(10,3)
	operator2(10,3)
	operator3(10,3)
	
func operator1 (a,b):
	var result = a * b
	print (result)
	
func operator2 (a,b):
	var result = a / b
	print (result)
	
func operator3 (a,b):
	var result = a % b
	print (result)

결과값

 

*문자열 형변환과 조건문 사용법

 - 거의 파이썬의 문법 그대로를 따르고 있어서 어렵지 않다.

func _ready():

	operator1(15)
	condition(15)

func operator1 (a):
	var result = "Main character is %d years old"%a
	print (result)
	
func condition(num1):
	if num1 > 20:
		print("greater than 20")
	elif num1 > 10:
		print("greater than 10")
	else:
		print("is not greater than 10")

 

* 이 포스트의 마지막 예제는 if 조건문과 자료형이다. if 문은 파이썬과 같다. 중첩도 가능하고 복잡한 연산도 가능하다. 

 

자료형의 경우는 기본적으로 동적인 var 형식을 사용하지만 아래와 같이 : 콜론 뒤에 형태를 명시해줄 수가 있다. 

 

int float String bool 이 네가지가 기본인 것으로 알고 있다. 

extends Node

var number : int = 5
var message : String = "Hello GODOT! from Tom"
var alive : bool = false

func _ready():
	condition(false,5)

func condition(alive,health):
	if alive and health == 0:
		print("You died")
	else:
		print("still alive")

키보드 단축키 Godot

 

Default editor shortcuts — Godot Engine (stable) 문서 (한국어)

Many of Godot Editor functions can be executed with keyboard shortcuts. This page lists functions which have associated shortcuts by default, but many others are available for customization in editor settings as well. To change keys associated with these a

docs.godotengine.org

문서화가 잘 되어 있는 만큼 좀 더 조사해 보고 추가 포스팅을 작성할 것이다.

공유하기

facebook twitter kakaoTalk kakaostory naver band