#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;
}
<string>, <vector> 헤더는 제거해도 된다.#include <cmath> - sqrt(n)아이디어를 갖고 있는 것과, 팀 전체가 같은 아이디어를 공유하는 것은 완전히 다른 일이다 - 오노 요시노리, SF4 프로듀서
| 종류 | 역할 | 주요 독자 | 핵심 질문 |
|---|---|---|---|
| 콘셉트 문서 | 게임 방향성, 코어 판타지, 타겟 | 전체 팀, 경영진 | "우리가 무엇을 만드는가?" |
| 시스템 기획서 | 특정 시스템의 규칙과 수치 | 개발자, 기획자 | "이 시스템은 어떻게 동작하는가?" |
| 레벨 기획서 | 특정 레벨/스테이지의 구성 | 레벨 디자이너, 아티스트 | "플레이어가 이 공간에서 무엇을 경험하는가?" |
| UI 기획서 | 화면 흐름, 와이어프레임 | 개발자, UI 아티스트 | "플레이어가 어떤 화면을 보는가?" |
| 수치 기획서 | 스탯, 성장 곡선, 데미지 공식 | 개발자, 밸런서 | "숫자들이 어떤 경험을 만드는가?" |
| 내러티브 문서 | 스토리, 대화 스크립트, 세계관 | 스토리 라이터, 연출 | "이 세계는 어떤 이야기를 담고 있는가?" |
def 함수이름(입력값):
#처리 로직
결과 = 계산(입력값)
return 결과
시스템 기획서는?
Input ←→ 함수의 매개변수(parameter)
Process ←→
Output ←→ 게임 상태가 어떻게 변하는가
Feedback ←→ 함수 실행 후 콘솔 출력 또는 UI 업데이트
시스템이 다루는 개념 용어 먼저 정의
강화 대상, 강화 재료, 강화 비용, 강화 단계, 확률, 결과 상태, 보호 아이템 등등등... 모든 "이름들" 정의하기
시스템명 - 목적 - 기획 의도 - 구성 요소 - IPOF 구조 - 예외 케이스
| 항목 | 내용 | 왜 필요한가 |
|---|---|---|
| 레벨 개요 | 이름, 번호, 테마, 예상 시간 | 팀이 이 레벨의 위치와 규모를 파악하기 위해 |
| 학습 목표 | 이 레벨에서 플레이어가 배워야 할 것 | Teach-Test 구조 설계의 기준이 되기 위해 |
| 클리어 조건 | 메인+서브 목표 | QA의 버그 판정 기준이 되기 위해 |
| 평면도 | 구역 구분, 동선, 오브젝트 위치 | 아티스트·개발자 제작 기준이 되기 위해 |
| 비트 차트 | 구간별 긴장도 흐름 | 페이스 조절, 연출 기준이 되기 위해 |
| 적 배치 | 종류, 위치, 수량, 패턴 | 전투 밸런스 기준이 되기 위해 |
| 보상 배치 | 확정/탐험/히든 보상 위치 | 탐험 동기 부여 설계를 위해 |
| 공간 연출 | 조명, 사운드, 분위기 키워드 | 아티스트 방향 제시를 위해 |
| 종류 | 내용 | 규모 |
|---|---|---|
| 세계관 설정집 (World Bible) | 세계의 역사, 지리, 종족, 규칙 | 수십~수백 페이지 |
| 캐릭터 시트 | 캐릭터의 성격, 배경, 동기, 말투 | 캐릭터당 1~3페이지 |
| 퀘스트 기획서 | 발단-전개-결말 구조, 분기 조건 | 퀘스트당 1~2페이지 |
| 대화 스크립트 | NPC 대화 전문 + 조건 명세 | 라인 단위 |
| 환경 스토리텔링 문서 | 레벨 오브젝트로 전달할 이야기 | 레벨 기획서와 통합 |
게임 내러티브에서 필요한 건 "백과사전" 혹은 위키피디아. 작품이 아니다.
기획서 상태 라이프사이클
Draft - In Review - Locked - Deprecated