[UE5 TIL] Day 39 - Chpt 3. 게임 기획 강의

JungHoon Eum·2026년 4월 20일

[코드카타] 약수의 개수와 덧셈

문제 링크

문제 요약

  • left부터 right까지의 모든 정수에 대해 약수의 개수를 구한다.
  • 약수의 개수가 짝수이면 더하고, 홀수이면 뺀 값을 반환한다.

내가 제출한 코드

#include <string>
#include <vector>
#include <cmath>

using namespace std;

bool bIsSquare(int n)
{
    long long root = static_cast<long long>(sqrt(n));
    return root * root == n;
}

int solution(int left, int right) {
    int answer = 0;
    for (int i = left; i <= right; i++)
    {
        bIsSquare(i) ? answer -= i : answer += i;
    }
    return answer;
}

피드백

  • bIsSquare()로 로직을 분리하기
  • 사용하지 않는 <string>, <vector> 헤더는 제거해도 된다.
  • 삼항 연산자 대신 if/else를 쓰면 조금 더 읽기 쉬운 코드가 될 수 있다.

배운 점

  • #include <cmath> - sqrt(n)

게임기획 라이브 세션

  • 기획서는 소통 도구다.

    아이디어를 갖고 있는 것과, 팀 전체가 같은 아이디어를 공유하는 것은 완전히 다른 일이다 - 오노 요시노리, SF4 프로듀서

기획 문서 - 왜 필요한가

말로만 개발하면 어떻게 되는가

  • 수치, 타이밍, 패턴 수 등등...정의되지 않은 부분들이 너무 많다.

기획 문서 종류

종류역할주요 독자핵심 질문
콘셉트 문서게임 방향성, 코어 판타지, 타겟전체 팀, 경영진"우리가 무엇을 만드는가?"
시스템 기획서특정 시스템의 규칙과 수치개발자, 기획자"이 시스템은 어떻게 동작하는가?"
레벨 기획서특정 레벨/스테이지의 구성레벨 디자이너, 아티스트"플레이어가 이 공간에서 무엇을 경험하는가?"
UI 기획서화면 흐름, 와이어프레임개발자, UI 아티스트"플레이어가 어떤 화면을 보는가?"
수치 기획서스탯, 성장 곡선, 데미지 공식개발자, 밸런서"숫자들이 어떤 경험을 만드는가?"
내러티브 문서스토리, 대화 스크립트, 세계관스토리 라이터, 연출"이 세계는 어떤 이야기를 담고 있는가?"
  • 수치 기획서 - 왜 이 숫자지? 게임에 처음 떨어져서 첫 몹 때렸을 때 데미지가 얼마가 떠야 하는가?

문서에는 절대적인 양식이 없다

  • 인디팀은 Notion 한페이지, 대형 개발사는 Jira 연동한 100페이지 이상의 상세문서, 모바일게임은 슬랙+스프레드시트...
  • 읽는 사람이 구현할 수 있게

시스템 기획서

  • 게임의 특정 규칙 집합이 어떻게 작동하는지 정의하는 문서

코드에 빗대어 - IPOF

def 함수이름(입력값):
	#처리 로직
    결과 = 계산(입력값)
    return 결과

시스템 기획서는?

Input ←→ 함수의 매개변수(parameter)
Process ←→ 
Output ←→ 게임 상태가 어떻게 변하는가
Feedback ←→ 함수 실행 후 콘솔 출력 또는 UI 업데이트

구성 요소 - 시스템을 이루는 변수 선언

  • 시스템이 다루는 개념 용어 먼저 정의

  • 강화 대상, 강화 재료, 강화 비용, 강화 단계, 확률, 결과 상태, 보호 아이템 등등등... 모든 "이름들" 정의하기

  • 시스템명 - 목적 - 기획 의도 - 구성 요소 - IPOF 구조 - 예외 케이스

레벨 기획서

  • 밸런스, 게임플레이 목적, 플레이어 동선 등등...
항목내용왜 필요한가
레벨 개요이름, 번호, 테마, 예상 시간팀이 이 레벨의 위치와 규모를 파악하기 위해
학습 목표이 레벨에서 플레이어가 배워야 할 것Teach-Test 구조 설계의 기준이 되기 위해
클리어 조건메인+서브 목표QA의 버그 판정 기준이 되기 위해
평면도구역 구분, 동선, 오브젝트 위치아티스트·개발자 제작 기준이 되기 위해
비트 차트구간별 긴장도 흐름페이스 조절, 연출 기준이 되기 위해
적 배치종류, 위치, 수량, 패턴전투 밸런스 기준이 되기 위해
보상 배치확정/탐험/히든 보상 위치탐험 동기 부여 설계를 위해
공간 연출조명, 사운드, 분위기 키워드아티스트 방향 제시를 위해

레벨 설계 원칙 - "말하지 않고 가르치는" 방법

  • 텍스트 튜토리얼 최소화, 자연스럽게 플레이어를 유도하기

수치 기획서

  • 게임 내 모든 수치, 공식, 성장 곡선을 정의하는 문서
  • 공격 속도 1.0초 - 2.5초 -> 엄청난 경험의 차이
  • 숫자만으로도 재미를 느낄 수 있다 -> 인플레이션 RPG 장르, 쿠키클리커 등등
  • 수치만 적는 게 아니라, 어떤 경험을 위해 이 수치를 선택했는가 근거 넣기

수치 기획서의 3가지 구성

  • 기초 값
  • 공식 정의

TTK 분석

  • 표준 장비로 일반 적 1마리를 처치하는데 걸리는 시간
  • 게임 전투 페이스를 결정하는 핵심 지표
  • 게임 내 공식들로 TTK 측정해 보고 판단 - 플레이어 경험에 핵심적 영향

수치 기획서와 스프레드시트

  • 반드시 Google Sheets 연동 권장
  • 수치 변경 시 영향 범위 즉시 시각화 가능
  • 레벨별 성장 그래프로 곡선 이상 감지 가능
  • 개발자가 DataTable로 바로 변환 가능한 형식

내러티브 기획서 - 세계관을 문서화하는 방법

종류내용규모
세계관 설정집 (World Bible)세계의 역사, 지리, 종족, 규칙수십~수백 페이지
캐릭터 시트캐릭터의 성격, 배경, 동기, 말투캐릭터당 1~3페이지
퀘스트 기획서발단-전개-결말 구조, 분기 조건퀘스트당 1~2페이지
대화 스크립트NPC 대화 전문 + 조건 명세라인 단위
환경 스토리텔링 문서레벨 오브젝트로 전달할 이야기레벨 기획서와 통합
  • 게임 내러티브에서 필요한 건 "백과사전" 혹은 위키피디아. 작품이 아니다.

  • 기획서 상태 라이프사이클
    Draft - In Review - Locked - Deprecated

게임기획 과제 WIP

  • https://velog.io/@opalian/%EA%B2%8C%EC%9E%84%EA%B8%B0%ED%9A%8D-%EA%B3%BC%EC%A0%9C-01
  • 마이크로-메조-매크로 코어 루프
  • 양의 피드백 루프/ 음의 피드백 루프
  • 싱글 플레이어만 생각하면 음의 피드백 루프의 존재 이유가 잘 드러나지 않지만, 다양한 유저층을 만족시켜야 하는 멀티플레이어 경험에선 음의 피드백 루프의 존재가 필수적
    • 싱글 플레이어의 "난이도 설정" 역할을 음의 피드백 루프가 해 주는 경우가 많다.
profile
개발지망생

0개의 댓글