고닷으로 만드는 섯다 게임, 첫 프로토타입

·
Taesang Noh Taesang Noh
#godot #seotda #devlog

고닷으로 만드는 섯다 게임, 첫 프로토타입

섯다 게임 프로토타입

초기 프로토타입 화면

나는 타일 턴제 게임을 만들고 싶었다. 어떤 언어와 툴을 쓸지 고민하다가 Godot을 선택했다. 한 번도 써본 적이 없어서, 작은 게임을 하나 끝까지 만들며 배우기로 했다. 어떤 게임이 좋을까 고민하다가, 스킬이 있는 섯다를 만들기로 했다. NPC와 1:1로 붙고, 나는 스킬로 상황을 유리하게 만드는 구조다.

게임 기획

AI가 패를 읽고 판단하는 게임은 내 취향이 아니다. 결국 정해진 기준대로 비슷한 결과가 반복될 거라고 봤다. 섯다는 서로 심리전이 중요한데, 컴퓨터와 심리전을 하는 건 재미가 덜하다. 그래서 규칙을 단순화했다. 컴퓨터는 돈이 무한대이고, 내가 베팅하면 항상 콜한다. 대신 나는 스킬을 쓴다. 영화 ‘타짜’처럼 밑장 빼기, 상대 패 한 장 숨기기, 상대 패 한 장 보기, 내 패와 상대 패 한 장 교환 같은 스킬을 다양하게 넣어볼 생각이다.

Godot 시작하기

먼저 Godot을 설치하고 기본 개념을 GPT에 물었다. 바로 이해되진 않았지만, 게임 기획을 최대한 구체화해 단계별로 만들어보자고 요청했다. 노드와 씬, 스크립트 붙이기, 씬을 프리팹처럼 재사용하기, 좌표계(월드/화면), 시그널(signal), 애니메이션이 끝날 때까지 await로 대기하기 같은 기본기를 익혔다. 그걸로 아래 영상처럼 간단한 프로토타입을 만들었다.

프로토타입 데모

프로토타입 플레이 영상

프로토타입에서는 나와 상대에게 카드를 딜링하고, 카드 범위는 1~10으로 제한해 일단 ‘끗’ 싸움만 구현했다. 스킬은 “상대 패 한 장 보기”와 “상대 패와 교환하기”를 넣었다. 처음에는 무조건 올인하는 게임으로 시작했는데, 만들다 보니 베팅 흐름이 있는 편이 낫겠다 싶어 베팅 단계를 넣었다.

구조 설계 방식

이번 작업으로 Godot에서 설계하는 법을 조금 감 잡았다. 나는 한 번에 복잡하게 가는 것보다, 작은 단위를 끝내며 결합해 구조를 단순하게 유지하는 방식을 선호한다. Godot은 이런 방식과 잘 맞는다. 이 게임 기준으로는 가장 작은 단위인 card부터 만든다. 그다음 나와 적이 카드를 들 수 있게 hand를 만든다. 이어서 deck을 구현하고, 마지막으로 deck과 두 개의 hand를 엮는 테이블을 만들어 카드를 나눠주는 단계로 확장하면 된다.

개발 순서

  1. Card - 가장 작은 단위의 카드 구현
  2. Hand - 플레이어와 NPC의 패 관리
  3. Deck - 카드 덱 구현
  4. Table - 전체 게임 흐름 관리 이 흐름으로 차근차근 완성해볼 생각이다.

이 프로젝트를 통해 Godot을 제대로 배우고, 작은 게임이라도 끝까지 완성하는 경험을 쌓고 싶다.

Taesang Noh

Taesang Noh

godot noob

GitHub