온라인강의

[인프런] 게임 시스템 구조 분할 및 규칙 설계

AI강선생 2026. 2. 14. 12:30

오늘은 인프런 게임 시스템 기획 챌린지 2주차 내용을 공부했습니다. 설연휴도 있고 해서 조금 미리 공부했습니다. 

도서는 한빛미디어에서 나온 유리링의 실전 게임 시스템 기획입니다.

공부할 내용은 chapter5 시스템 구조 분할,  chapter6 시스템의 구성,   chapter7 규칙이란 무엇인가?,   chapter8  규칙의 설계,   chapter9 규칙의 도식화 입니다.


 Chapter5  시스템 구조 분할

기획자는 시스템 기획을 시작할 때 반드시 기능 단위로 분해하는 작업부터 선행해야 한다. 기능 단위 분해란, 시스템을 구성하는 각각의 '행위'나 '동작'을 단위별로 나누고, 이 기능들이 어떤 순서와 관계로 동작하는지를 정리하는 과정이다.

 

기능 단위로 분해는 방법

1단계- 눈에 보이는 기능부터 적기

2단계- 자동으로 처리하는 기능 적기

3단계 - 작동에 필요한 정보(재로) 생각하기

4단계 - 예외상황, 실패 상황 적기

 

기능 단위 분해가 '어떤 행동이 가능한가'를 중심으로 시스템을 쪼개는 작업이라면, 속성 단위 분해는 '게임 안의 구성 요소가 어떤 특성을 가지고 있는가'를 중심으로 시스템을 쪼개는 방식이다. 보통 캐릭터, 아이템, 장비, 몬스터처럼 '속성값을 가지는 대상(객체)'이 등장할 때 활용한다. 

스킬 디급 대미지 발생 대상 수 범위 배율의 기준 배율
화염구 있음 1명 지정대상 본인 공격력 1505
칼날 폭풍 없음 3명 자기 주변 본인 공격력 125%

 

많은 신입 기획자가 속성 단위 분해를 할 때 기획자가 설계해야 하는 '속성'과 서버에서 관리하는 '플레이어의 현재 상태'를 자주 혼동하곤 한다.

 

속성 단위 분해가 중요한 이유는, 데이터 테이블을 설계하는 기반이 되기도 하지만 그 속성들이 어떻게 작동해야 하는지를 정의하는 규칙 설계가 기획자의 핵심 역할이기 때문이다. 이것은 단순한 데이터 나열이 아니라 기획자의 관점에서 '이 속성을 시스템이 어떻게 인식하고 작동시켜야 하는가'를 명시하는 과정이다.

 

속성 단위 분해 쉽게 이해하기

속성 단위 분해는 함수 구조로 이해하면 편한다. 예를 들어 'X를 Y번 사냥하기'라는 퀘스트가 있다고 해보자.

예시 퀘스트

X: 몬스터종류(늑대, 맷돼지 등)

Y: 횟수

 

시스템 기획자

- 이 함수가 어떻게 작동해야 하는지 설계

- X와 Y에 무엇을 넣을 수 있어야 하는지 설계(X에는 숫자, Y에는 명사가 들어오면 안됨)

 

콘텐츠 기획자

- X와 Y에 무엇을 넣어야 재미있을지를 구상

- X와 Y에 실질적인 값 넣기

 

 Chapter6  시스템의 구성

게임시스템은 단일 기능이 아니라 여러 개의 하위 시스템과 규칙들이 유기적으로 연결된 구조다. 예를 들어, 전투 시스템만 해도 다음처럼 3가지 독립적인 규칙의 조합으로 이뤄진다.

1)공격규칙, 2)대미지 계산 규칙, 3)사망 판정 규칙

 

시스템 모듈화는 기능 및 속성 단위로 나뉜 시스템 구성 요소들을 재활용 가능하도록 설계하는 방식이다. 겉보기에는 형태나 목적이 다른 것처럼 보여도, 내부 규칙이 동일하다면 동일한 시스템 모듈의 조합니다. 

 

 

모듈화 기획

상점 시스템의 규칙 정의

판매 물품 설정 시스템

- 판매 아이템 목록이나 가격 정보는 어디에서 불러오는가? 기획자가 어떻게 세팅하는가?

구매 제한 시스템

- 구매 제한 단위(일간/주간)를 어떻게 지정할 것인가?

- 횟수는 언제, 어떻게 회복되는가?

랜덤 판매 시스템

- 등장하는 아이템 목록이나 등장 확율릉 어디에서 불러오는가? 기회자가 어떻게 세팅하는가?

- 동일 아이템 중복 등장 가능은 허용 되는가?

 

연습문제

캐릭터 숙소 커스터마이징 시스템 구조화

캐릭터 수집형 RPG '캐릭터 숙소를 꾸밀 수 있는 시스템을'을 개발하려고 한다. 숙소에는 가구를 배치할 수 있고, 배치된 가구의 호감도 상승 수치에 비례해 캐릭터의 호감도가 증가한다. 캐릭터가 좋아하는 가구가 배치되면 효과가 상승한다. 다음 순서에 따라 캐릭터 숙소 커스터마이징 시스템을 구조화해보자.

 

캐릭터 숙소 커스터마이징 시스템 구조화

- 숙소 시스템을 기능 단위로 분해(가구 배치, 저장, 가구 효과 확인 등) 해보자

- 가구가 가지는 속성을 분리하고 정의(예: 호감도 상승 수치, 효과 상승 캐릭터 등) 해보자. 

- 이 시스템에서 일어나는 흐름(가구 배치 -> 호감도 상승)을 규칙 연결 구조로 설명해자.

 


AI답변

1️⃣ 숙소 시스템 기능 단위 분해 (System Functional Decomposition)

숙소 시스템은 크게 배치 → 상태 저장 → 효과 계산 → 결과 반영의 흐름으로 구성된다.

기능 모듈역할세부 설명
가구 배치 시스템 가구 위치 및 상태 관리 플레이어가 가구를 설치, 이동, 제거
숙소 데이터 저장 시스템 배치 정보 저장 가구 위치, 방향, 배치 상태 저장
가구 효과 계산 시스템 효과 산출 배치된 가구의 호감도 상승 수치 계산
캐릭터 선호도 판정 시스템 보너스 여부 판정 캐릭터 선호 가구 여부 확인
호감도 반영 시스템 결과 적용 계산된 수치를 캐릭터 호감도에 반영
UI 갱신 시스템 결과 표시 상승 수치 및 효과 시각화

✅ 핵심은 배치와 효과 계산을 분리하는 것이다.
가구는 단순히 배치되고, 실제 효과는 별도의 계산 모듈에서 처리된다.


2️⃣ 가구 속성 정의 (Furniture Attribute Modeling)

가구는 외형 데이터와 시스템 데이터를 분리하여 정의한다.

가구 기본 속성

속성명설명예시
FurnitureID 가구 고유 식별자 chair_001
가구 타입 분류 정보 침대, 의자, 장식
설치 가능 영역 배치 가능 위치 바닥, 벽
크기(Size) 공간 점유 정보 2x2

가구 효과 속성

속성명설명예시
기본 호감도 상승치 시간당 증가량 +5
선호 캐릭터 목록 효과 증가 대상 캐릭터 A
선호 보너스 배율 효과 증가 수치 1.5배
세트 효과 ID (선택) 특정 조합 효과 royal_set
중첩 가능 여부 동일 효과 누적 가능 true

✅ 여기서 중요한 개념:

  • 속성(Attribute) = 데이터 값
  • 효과(Effect) = 계산 규칙

즉, 가구는 효과를 직접 발생시키지 않고 효과 계산 시스템이 속성을 참조하여 결과를 만든다.


3️⃣ 시스템 흐름 (Rule Connection Structure)

이 시스템의 핵심은 규칙의 연결 구조다.

전체 흐름

 
가구 배치 ↓ 배치 데이터 저장 ↓ 배치된 가구 목록 조회 ↓ 가구 효과 계산 ↓ 캐릭터 선호도 판정 ↓ 최종 호감도 상승량 산출 ↓ 캐릭터 호감도 반영

규칙 단위 분해

규칙 이름입력처리 내용출력
배치 규칙 가구, 위치 설치 가능 여부 검사 배치 완료
효과 계산 규칙 가구 속성 기본 호감도 합산 기본 상승치
선호도 보정 규칙 캐릭터, 가구 선호 여부 확인 보너스 적용
최종 반영 규칙 상승치 캐릭터 데이터 갱신 호감도 증가

4️⃣ 시스템 설계 핵심 포인트 (실무 관점)

모듈화 포인트

  • 가구는 데이터 객체
  • 효과 계산은 별도 시스템
  • 캐릭터는 결과만 받는 구조

이렇게 하면 다음이 가능하다:

  • 신규 가구 추가 시 코드 수정 없음
  • 이벤트 가구 추가 용이
  • 캐릭터 선호 변경 가능

재사용 가능한 모듈

  • 버프 계산 시스템 → 전투 버프 시스템과 동일 구조
  • 세트 효과 → 장비 세트 시스템과 동일 로직

 Chapter7  규칙이란 무엇인가?

하나의 규칙은 단순히 ' 이 해동이 가능하다'는 것만으로 완성되지 않는다. 그 행동이 어떤 상황에서, 어떤 정보를 바탕으로, 어떤 방식으로 성공과 실패를 판단하며, 그 결과로 무엇이 발생하는지까지 구체적으로 설계해야 한다. 

헤드샷 규칙의 구성요소

구성 설명 FPS 게임 예시
상황 어떤 상황에서 이 규칙이 적용되는가? 플레이어가 총기를 사용해 적응 조준하고 사격했을 때
적용범위 규칙이 적용되는 대상은 누구인가? 플레이어, 피격 대상
필요한 정보 규칙 저용에 어떤 정보가 필요한다? 조준 위치(히트박스), 무기 종류, 탄환 특성
행동 플레이어는 어떤 일을 해야 하는가? 조준 후 사격
정보의 활용 필요한 정보가 어떻게 사용되는가? 탄환 궤적과 히트박스를 비교하여 헤드샷 여구 판정
판단 어떤 기준으로 성공/실패를 판단하는가? 탄환이 적의 '헤드' 히트박스를 통과했는가?
결과 성공 또는 실패 시 어떤 결과가 발생하는가? 헤드샷 성공 시 일반 피해의 2배, 실패 시 일반 피해만 적용
예외처리 예외 상황에서는 어떻게 처리해야 하는가? 특수 헬멧, 스킬 효과, 캐릭터 특성 등으로 헤드샷 무효화 가능

 

 Chapter8  규칙의 설계

복잡한 시스템을 작은 단위로 분할

거래소 시스템의 기능 단위 예시

- 아이템 등록

- 아이템 검색 및 열람

- 아이템 구매

- 수수로 처리

- 아이템 및 재화 수령

- 등록 취소

- 시세 검증 및 지연 등록 처리

 

작은 단위로 분할 했다면, 상세 규칙을 설계해야 한다. 

 

 Chapter9  규칙의 도식화

규칙 설계에서 중요한 것은 어떤 상황에서, 어떤 조건으로, 어떤 결과가 나오는지를 팀원 모두가 동일하게 이해하는 것이다. 특히 복잡한 시템일수록 자연어 설명만으로는 오해가 생기기 쉬어 프로그래머, 아티스트, QA 등 각자의 시각으로 다르게 해석할 위험이 있다. 

이런 문제를 막기 위해 사용하는 대표적인 도구가 바로 플로차트다. 플로 차트는 규칙이 어떤 조건에서 어떤 흐름으로 이어지는지를 시각적으로 표현해 규칙의 작동 과정을 누구나 빠르고 직관적으로 이해할 수 있도록 돕는다. 

 

플로차트에 대한 오해

1. 플레이어 심리나 감정선을 포함한다. 

2. 모든 UI와 콘텐츠 흐름을 담는다. (중요한 조건과 분기에만 선택적으로 사용함)

3. 플로 차트를 실제 구현할 로직(코딩 수준으로)과 동일하게 작성한다.

4. 플로 차트만 있으면 설명이 다 될 것이라고 착각한다(왜 그렇게 되어야 하는지, 각 조건 값이 어떤 값인지 등)

5. 모든 규칙을 플로 차트로 옮겨야 한다고 생각한다.

 

연습문제

무기제작 시스템 설계 및 도식화

RPG에서 플레이어가 무기를 제작하는 시스템을 설계하려고 한다. 무기 제작에는 재로가 필요하고, 성공 확률은 30%이다. 제작에 실패하면 소모된 재료는 반환되지 않는 대신 실패 포인트가 1 누적된다. 실패 포인트가 5에 도달하면 다음 제작 시도는 확정 성공으로 처리된다. 확정 성공 시에는 실패 포인트가 0으로 초기화된다. 제작에 성공했을 경우 ㄱ려과는 '대성공'과 '일반 성공'으로 나뉜다. 대성공으로 제작된 무기는 거래소에서 거래할 수있고, 일반 성공으로 제작된 무기는 거래불가(계정 귀속) 상태가 된다. 

이 시스테믜 규칙을 이해하기 쉽게 정리하고, 플로파트로 제작 처리 흐름을 설계해보자.


AI답변

1️⃣ 무기 제작 시스템 기능 단위 분해

무기 제작은 하나의 기능이 아니라 여러 개의 규칙 모듈이 연결된 구조다.

기능 단위역할설명
제작 시도 시스템 제작 시작 처리 재료 보유 여부 확인 후 제작 시도
재료 소모 시스템 자원 처리 제작 시작 시 재료 즉시 차감
성공 판정 시스템 성공/실패 판단 확률 또는 확정 성공 조건 판정
실패 포인트 시스템 실패 누적 관리 실패 시 포인트 증가
결과 등급 판정 시스템 성공 결과 분기 대성공 / 일반 성공 결정
거래 속성 부여 시스템 아이템 상태 설정 거래 가능 / 계정 귀속 설정

✅ 여기서 중요한 구조:

  • 재료 소모는 성공 여부와 독립적으로 먼저 발생
  • 성공 판정과 결과 등급 판정은 서로 다른 규칙

2️⃣ 무기 제작 규칙 정의 (Rule Definition)

① 제작 성공 판정 규칙

구성 요소내용
상황 플레이어가 무기 제작 버튼을 눌렀을 때
적용 범위 플레이어, 제작 대상 무기
필요한 정보 재료 수량, 성공 확률(30%), 실패 포인트
행동 제작 시도
정보 활용 실패 포인트가 5인지 확인 후 확률 계산
판단 기준 확정 성공 또는 확률 성공 여부
결과 성공 또는 실패
예외 처리 실패 포인트 5 이상이면 확률 무시

② 실패 포인트 규칙

구성 요소내용
상황 제작 실패 발생 시
적용 범위 플레이어
필요한 정보 현재 실패 포인트
행동 실패 포인트 증가
정보 활용 누적값 저장
판단 기준 실패 여부
결과 실패 포인트 +1
예외 처리 확정 성공 발생 시 0 초기화

③ 성공 결과 등급 규칙

구성 요소내용
상황 제작 성공 시
적용 범위 생성된 무기
필요한 정보 대성공 확률
행동 결과 등급 결정
정보 활용 확률 비교
판단 기준 대성공 여부
결과 대성공 / 일반 성공
예외 처리 없음

④ 거래 가능 여부 규칙

구성 요소내용
상황 제작 결과 확정 시
적용 범위 제작된 무기
필요한 정보 제작 결과 등급
행동 아이템 속성 설정
정보 활용 등급에 따라 상태 지정
판단 기준 대성공 여부
결과 거래 가능 / 계정 귀속
예외 처리 없음

3️⃣ 규칙 연결 구조 (System Rule Connection)

전체 흐름은 다음과 같이 연결된다.

# 전체 흐름은 다음과 같이 연결된다.

제작 시도
   ↓
재료 보유 확인
   ↓
재료 소모
   ↓
[실패 포인트 = 5 ?]
   ├─ YES → 확정 성공
   └─ NO → 성공 확률 30% 판정
              ↓
        성공 / 실패 분기


# 이후 결과 처리:
성공
 ↓
대성공 여부 판정
 ↓
아이템 거래 속성 결정
 ↓
실패 포인트 초기화


실패
 ↓
실패 포인트 +1
 ↓
제작 종료

4️⃣ 플로차트 설계 (제작 처리 흐름)

플로차트는 감정, UI, 연출이 아니라 조건과 분기만 표현한다.

플로차트 구조 (텍스트 표현)

 
[시작]
   ↓
재료 보유 확인
   ↓
재료 소모
   ↓
실패 포인트 == 5 ?
   ├─ YES → 제작 성공
   │          ↓
   │      대성공 판정
   │          ↓
   │   거래 가능 여부 설정
   │          ↓
   │   실패 포인트 초기화
   │          ↓
   │        종료
   │
   └─ NO → 성공 확률 30% 판정
                ↓
          성공 ? 
          ├─ YES → 대성공 판정 → 거래 속성 설정 → 실패 포인트 초기화 → 종료
          └─ NO → 실패 포인트 +1 → 종료