목차

  1. 게임 역기획
  2. 게임 디자인 도구 개발
  3. 게임 프로그래밍


게임 역기획

모든 역기획서 저장소


마비노기 영웅전 강화 시스템

역기획서의 전체 내용 :

시스템 기획 의도

시스템 진행 플로우차트

시스템 구성

시스템 클래스 설계

UI 구성

VBA로 작성한 강화 시뮬레이션 (파일 : 소스코드 : )

검은사막M 토벌 시스템

역기획서의 전체 내용 :

Black dessert entrance fee
시스템 구성 1

Black dessert entrace fee
시스템 구성 2

Black dessert entrace fee
시스템 구성 3

Black dessert entrance ratio multiplication
UI 구성 1

Black dessert ui ready
UI 구성 2

게임 디자인 도구 개발


전체 프로젝트 저장소 :


Gdengine, 게임 기획 엔진

Gdengine demo image
Gdengine 데모: 좌측의 위키 페이지와 우측의 pdf 슬라이드는 하나의 파일에서 자동으로 생성됨

Gdengine(지디엔진)은 게임 기획 문서 생성 도구 및 엔진 지디엔진은 전용 파일인 gddt를 컴파일하여 다양한 게임 기획 문서 포맷으로 렌더링.

Gdengine은 텍스트 기반의 문서 작성이기 때문에 git 등의 VCS에 쉽게 적용 가능하며 매크로 기반의 전처리를 거치기 때문에 프로젝트와 그룹의 필요에 의하여 완전히 맞춤 설계가 가능


Gdengine flow
Gdengine의 렌더 타입

Gcalc 게임 확률 계산기

Rif flow logic
Gcalc 플롯 데모

Gcalc는 시뮬레이터가 아닌 순수한 확률 계산기. 일반적인 등비수열합만으로는 복잡한 게임의 확률을 계산하기 어려운 부분을 gcalc가 해결

Gcalc는 시행 횟수별 보너스 확률이나, 비용의 변경, 확률 자체의 변경들을 모두 계산에 포함할 수 있고 해당 데이터 차트를 csv 형태로 인식하여 자동화된 계산에 특화되어 있음.



게임 프로그래밍



리들러: 온라인 카드 게임

게임 설명 영상

Card game demo
Unity와 내장된 네트워크 모듈인 Unet으로 개발한 카드 게임

리들러는 Heroes of Might and Magic VII라는 상용 게임 리소스를 사용하여 만든 팬 게임으로서 Unet을 통한 매칭 메이킹을 통해서 온라인 플레이가 가능한 멀티 플레이어 게임.

리들러의 핵심 메카닉은 텍사스 홀덤 포커 기반의 카드 플레이로서 다음의 논리 구조를 가지고 있음.




테트리스 게임

Tetris demo
Rust 언어와 데이터 지향 게임 엔진으로 개발한 테트리스 게임

유명한 고전 게임 테트리스를 Rust 프로그래밍 언어와 Amethyst라는 데이터 지향 프로그래밍 기반의 게임 엔진으로 개발한 게임

데이터 지향 엔진으로 개발되었기 때문에 모든 시스템이 독립적으로 작동함. 그 결과 시스템 버그의 원인을 추적하기 용이하고 게임 오브젝트의 예측 불가능성이 감소함.

모든 시스템이 독립적이기 때문에 자연스럽게 멀티 코어 활용이 자연스러움

Tetris demo
테트리스 게임의 기본적인 로직 구조

안드로이드 포팅 버전

래틀쉽, Lua 웹 게임

Lattleship 게임

Lattleship demo image
Lua 배틀쉽 웹 게임

Lattleship(래틀쉽)은 Lua 웹 서버로 구현된 웹 게임.


Lattleship logic
Lattleship의 작동 구조

게임 서버 개발


데모 영상

Game server demo image
게임 서버 데모: 방 ID를 키로 사용하는 서버

서버의 구조는 한 클라이언트가 서버 역할을 하는 p2p가 아닌 모든 로직을 계산하는 독립적인 서버로서 구성됨(dedicated)

서버는 동일한 방 ID를 가지고 있는 2개의 클라이언트를 하나의 커넥션으로 연결하고 각각의 신호를 중개하여 게임을 진행시키는 stateful 구조를 가지고 있음.


Game server txrx image
서버의 통신 인터페이스 구조