그록 ai와 Godot엔진으로 2D게임 프로젝트 생성하기

이전 글에서 얘기했듯이 그록 ai와 Godot엔진을 이용해 간단한 게임을 만들어 보려고 한다.

이전 글

그록 ai에게 가장 먼저 해야할 일을 알려달라고 하니 첫 단계로 엔진 설치부터 프로젝트 생성, 프로젝트의 기본 설정과 기본 장면(Scene) 구성 등을 안내한다. 

프로젝트 생성

Godot 엔진 프로젝트에서 생성
Godot 엔진 프로젝트에서 생성

Godot 엔진은 이전에 4.4.1 버전을 설치해두어서 바로 새 프로젝트를 만들었다. 프로젝트 이름은 게임 이름으로 생각해 두었던 'Life'로 지었다.

렌더링 설정은  기본적으로 Vulkan을 사용하나, 웹 배포를 고려해 HTML5 호환성이 좋은 OpenGL ES 3.0으로 설정할 수 있다고 한다.


프로젝트 기본 설정

해상도 설정

  • Project > Project Settings > Display > Window로 이동.
  • 기본 해상도를 1280x720으로 설정(웹에서 적당한 크기).
  • Stretch Modecanvas_items, Aspectkeep으로 설정해 다양한 화면 크기에 대응.

입력 매핑

  • Project > Project Settings > Input Map에서 커스텀 입력 추가
    • move_left: Left Arrow
    • move_right: Right Arrow
    • jump: Alt
    • place_block: Ctrl
    • mine_resource: Shift


Godot 엔진 해상도 설정
Godot 엔진 해상도 설정

Godot 엔진 입력 매핑
Godot 엔진 입력 매핑

알려준 대로 해상도를 설정하고 입력 매핑에서 커스텀 입력을 추가했다. 커스텀 입력을 추가하는 방법을 모르겠어서 구체적인 방법을 물어보니 입력 이름을 정해 액션을 추가하고 '+' 버튼을 눌러 키를 할당하라고 구체적으로 알려주었다.


기본 장면(Scene) 구성

  • 새 장면 생성: File > New Scene에서 2D Scene 선택.
  • 루트 노드를 Node2D로 설정하고 저장(main.tscn).
  • 테스트용 노드 추가:
    • Node2D 아래에 ColorRect 노드 추가, 크기를 100x100으로 설정, 색상을 검정으로 지정(임시 지형 테스트용).
    • CanvasLayer 노드 추가, 그 아래 Label 추가(디버깅용 텍스트 표시, 예: 플레이어 상태).


Godot 엔진에서 테스트용 노드 추가
Godot 엔진에서 테스트용 노드 추가


Godot 엔진 ColorRect 설정
Godot 엔진 ColorRect 설정

Godot 엔진 Label 설정
Godot 엔진 Label 설정

라벨에 대해 구체적으로 알려달라고 부탁하니 어느 노드의 하위 구조로 추가해야 하는지, 설정할 만한 크기나 색상, 위치 등의 요소, 그리고 디버깅 텍스트를 업데이트하는 방법까지 추가로 알려주었다.


디버깅 텍스트 동적 업데이트

  • 디버깅용으로 플레이어 상태(예: 위치, 자원 수)를 실시간으로 표시하려면 스크립트를 추가해야 합니다.
  • 스크립트 추가:
    1. 루트 노드(Node2D)를 선택하고 인스펙터에서 Node > Script > New Script를 클릭.
    2. 언어는 GDScript, 이름은 main.gd로 설정하고 Create를 클릭.
    3. 아래 코드를 추가해 Label 텍스트를 업데이트
extends Node2D

# Label 노드 참조
@onready var debug_label = $CanvasLayer/Label

func _process(delta):
    # 임시 디버깅 텍스트 (나중에 플레이어 위치 등으로 대체)
    debug_label.text = "Debug Info\nTime: " + str(Engine.get_frames_per_second()) + " FPS"


테스트 플레이 화면
테스트 플레이 화면

main.gd 파일에 스크립트를 작성하고 F5를 눌러 게임을 실행해보니 초당 프레임이 출력되는 모습을 확인할 수 있었다.


필수 플러그인 확인
  • 멀티플레이와 웹 배포를 위해 기본적으로 Godot의 네트워킹 모듈(ENet)과 HTML5 익스포트 기능이 포함되어 있으므로 추가 플러그인은 아직 필요 없음.
  • (참고) 나중에 서버 설정 시 WebSocket 모듈을 활성화할 수 있음.

테스트 실행
  • F5를 눌러 프로젝트 실행, 기본 장면이 제대로 표시되는지 확인.
  • 오류가 없으면 다음 단계로 넘어갈 준비 완료.


일단 그록 ai가 안내해준 첫 단계를 완료했다. 다음 단계로 넘어가자고 얘기하니 게임 매커니즘을 구현할 차례라고 한다. 다음 글을 통해 이후 과정을 기록하겠다.


댓글

이 블로그의 인기 게시물

전체 화면으로 현재 시간 보여주는 웹 시계 사이트 Bonfire Clock

블렌더 3D 카툰 렌더링으로 웹툰 배경 만들기

블렌더 3D에서 침대 모델링하는 방법