일정계획서
- 사례연구 4.1에서는 실시간 전략 게임인 코푸스 Corpus 의 일정계획을 보여준다. 코푸스 (다른 이름으로 출시되었다)는 1990년대 후반에 개발된 게임이다. 요즘의 게임은 좀 더 긴 개발기간이 걸리곤 한다

1. 아이디어 내기
- 기간 : 1개월
- 진행 : 초기 아이디어를 내고 실험가능성에 대한 의견을 나누기. 그 결과를 개요서로 이끌어내기
- 인원 : 리드 디자이너. 떄때로 아키텍트와 기술진의 도움을 받는다
- 결과물 : 유통사가 프로젝트를 진행할지 결정을 내림

2. 컨셉짜기
- 기간 : 3개월
- 진행 : 세부 기획서 쓰기
- 인원 : 리드 디자이너 (2~4개월)
- 결과물 : 2가지의 문서. 게임기획서와 기획자 노트

3. 청사진
- 기간 : 2개월
- 진행 : 개발의 매 단계를 작은 문서들로 나눈 개발단계별 세부사양서를 기획하기. 각 문서들은 각 개발단계에서 해 내야 할 목표와 최선의 결과를 제시한다.
- 인원 : 리드 디자이너와 소프트웨어 기획
- 결과물 : 몇몇의 개발단계별 세부사양서

4. 기술적인 설계
- 기간 : 2개월
- 진행 : 아키텍쳐 그룹이 개발단계뿐 세부사양서에 기초해서 필요한 개발툴들과 프로그램 사양서를 준비한다. 리드 디자이너는 사람들에게 컨셉을 설명하고 프로젝트 리더의 손에 주 업무를 넘긴다. 코푸스의 프로젝트 매니저는 아키텍처 그룹의 맴버이고 프로젝트를 마지막까지 관리했다.
- 인원 : 프로젝트 리더. 미드 디자이너. 소프트웨어 기획
- 결과물 : 게임을 만들기 위한 기술적인 내용들이 정리된 프로그램 사양서와 개발단계별 세부사양서 이 문서와 기획서가 프로젝트 계획이 된다. 개발단계별 세부사양서는 유통사측과 협의한 마일스톤에 맞추어 설계된다 (이경우에는 4단계씩으로 나누어진다)

5. 개발 툴 만들기
- 기간 : 4개월
- 진행 : 게임 개발에 필요한 툴과 구성요소를 구축한다. 목표는 게임 아키텍처를 일정한 완성도에 도달하도록 함으로써 잘 이해되도록 하며 전체를 재 작업할 필요가 없도록 만드는것이다.
- 인원 : 프로젝트 리더와 4명의 툴개발 및 프로그래밍 그룹원
- 결과물 : 게임제작에 필요한 개발툴과 기능적으로는 완성되어 있지만 모든 요소가 다 들어가 있지는 않은 게임구성요소 코푸스의 경우 게임구성요소는 3D그래픽엔진. 화면 구성빌더. 유닛과 빌딩을 만들기위한 게임배경에디터가 그것이다.

6. 제작
- 기간 : 12개월
- 과정 : 프로젝트 리더와 개발툴 프로그래머 한명이 팀을 맞는다 (예를 들어 4명의 프로그래머와 네명의 아티스트) 프로젝트 리더는 게임플레이를 정교하게 마무리 짓는다. 툴 프로그래머는 개발툴을 지원하여 개발툴 및 프로그래밍 그룹이 요청할경우 개발툴을 수리한다 (이론적으로 리드 디자이너는 모든 계층이 마지막 단계의 테스트와 테스트레벨에 대한 고문을 맞는다. 언제나 함꼐 일할 필요는 없고 다음 게임의 디자인을 해도 괜찮다)
- 인원 : 프로젝트 매니져 12개월. 툴 프로그래머 9개월. 12달 동안 9명의 프로그래머. 마지막으로 8~9달 동안 네명의 아티스트
- 결과물 : 다음단계를 프로그래머 없이 조정할 수 있기에 충분한 게임과 완성된 툴

7. 레벨 디자인
- 기간 : 4개월
- 과정 : 프로젝트 리더의 지시하에 게임의 레벨을 제작한다 (경험적으로 프로젝트 리더는 과로로 앓아 누웠을 것이므로 그의 짐을 덜어줄, 유능하고 창조적인 리드 레벨디자이너가 꼭 필요해진다. 그래서 프로젝트 리더는 리드 레벨 디자이너와 레벨 디자인 기간동안에 역할을 나눠가지게 된다)
- 인원 : 프로젝트 리더와 3명의 레벨 디자이너
- 결과물 : 모든 장면들과 게임안에서의 도움말이 들어간 완성된 게임.매뉴얼에 들어갈 글과 그림도 이 시점에서 완성된다

8. 리뷰
- 기간 : 3개월 (레벨 디자인동안에 같이 진행될수도 있다)
- 과정 : 일반적으로 레벨을 만드는 것과 평행하게 진행된다. 외주를 주기로 한다. 또는 일반적으로는 (코푸스의 예에서도 보이듯이) 유통사가 제품의 버그테스트 팀을 발족시킨다.
- 인원 : 테스터 4명
- 결과 : 버그를 찾아 고친다. 게임플레이를 할떄에 기본적인 문제가 발생되었다면 (그런일이 생겨서는 안되지만) 게임은 수정을 위해 개발자들에게 돌려보내지지만 아무튼 이 단계는 생산직전 마지막 단계다



*비효율적인 과정에서는 모든 팀이 첫날부터 함께 프로젝트에 투입된다. 게임 디자이너가 게임을 기획하는 작업을 끝내면 개발팀이 일을 시작한다. 마무리단계에서 디자이너는 팀 멤버 중의 몇 명만을 데리고 막판 수정을 한다. 이런 식으로는 팀원들이 할 일이 없어 빈둥대는 동안에도 시간과 돈이 계속 들어간다.
*컨셉부터 완성까지의 시간 대 결과의 비율이 중요하다. 코푸스의 일정계획서를 들여다보면 어떻게 전체 비용을 낮추었는지 알 수 있을 것이다. 처음 6개월간은 프로젝트에 소수의 사람만이 투입되었다. 이 팀의 실제 제작팀의 규모는 12개월동안만 유지되었다.



Posted by 생선날개




4. 세부기획
- 이번 Chapter.4 에서는 세부기획을 어떻게 나아가는지에 대해 알아본다.
- 세부 기획에 끝날 즈음에는 '게임기획서'와 '기획자노트' 두 개의 문서가 완성될 것이다.
- 게임기획서는 만들어질 게임에 대해 설명하고 모든 사람들이 해야 하는 목표를 설명하여 비전을 제시하는 역할을 하는 글이다.
- 기획자노트는 게임 기획서와 같이 읽는 문서인데, 기획자의 생각을 설명하고 다른 사람들이 기획자가 제안한 게임에 함께 도전하도록 이끄는 역할을 한다.

1) 디자이너의 역할
- 팀원이 함께 브레인스토밍하는 두 시간이 한 사람이 평생 생각할 수 있는 것보다 좋은 아이디어들을 쏟아낼 수 있다.

2) 기획 문서
 1. 게임 기획서
 - 게임에 대해 자세히 설명한 문서로, 잘 읽고 이해하기만 한다면 읽는 사람이 완성된 제품의 모든 것을 눈앞에 그려낼 수 있을 정도로 쓰여 있어야 한다.
 2. 기획자 노트
 - 기획자 노트는 기획서를 구상하는 동안 머리에서 굴러다닌 많은 생각들에 대해서 써내려간 문서이다.
 - 기획자 노트는 2가지 이유에서 쓸모가 있다. 첫 번째로 제작팀에게는 모든 문서들은 가치가 있다. 그리고 프로그래밍 코드에 대한 도큐멘트 비슷한 방식으로 유용하게 쓰인다.

3) 기획 문서 이용하기
- 2가지를 기억하라
>게임 기획서는 프로그래머들이 읽을 수 있도록 준비되어 있어야 한다
>프로그래머들은 게임 기획서를 읽지 않을 것이다
그러나 프로그래머들은 몇 가지 이유에서 기획문서들을 읽을 필요가 있다. 첫 번째 이유는 목표도 모르고 일을 맡아서 하면 사기도 저하되고 능률이 오르지 않기 때문이다. 두번째 이유는 일을 진행하면서 질문이 생길 때마다 디자이너가 대답하기 위해 묶여있는 것보다 이쪽이 더 효율적이라는 것이다. 세 번째 경제적인 이유 때문에 몇 명 안 되는 사람들이 기획서를 쓰기는 하지만 여전히 모든 사람들의 좋은 아이디어를 모아 발전시키는 것이 완벽을 기하기에 더 좋은 방법이기 때문이다. 마지막으로 프로젝트의 비전을 그룹에서 함께 나누는 것은 전체적인 단결력을 강화하고 사기를 올리는 결과를 가져오게 된다.

4) 기획을 개발에 맞추기
 1. 개발단계 Tier와 테스트베드 Testbeds
 - 개발단계에 대한 세부사양서는 다음 사항들을 제시한다.
 > 목표 - 이 단계에서 기획자가 바라는 요소들의 목롱
 > 철학 - 이 단계는 무엇을 테스트하는 것인가
 > 기대하는 결과 - 테스트를 하고 변화시킨 후에 얻고자 하는 것
 > 대안 - 이 아이디어나 컨세빙 변해야 한다면 다른 좋은 대안




'게임아키텍처디자인' 103p~119p



Posted by 생선날개
gamE/C2010. 1. 19. 16:36





프로그램이란?
-컴퓨터가 처리할 일련의 작업 처리 절차의 집합체

프로그래밍이란?
-프로그램을 만드는 행위를 말한다.

프로그래밍 언어란?
-사람과 컴파일러가 이해할 수 있는 약속된 언어를 의미한다. C언어도 이러한 프로그래밍 언어 중 하나.

컴파일러가 하는 역할
-프로그래밍 언어로 작성한 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역해 주는 역할. 더불어 이렇게 번역하는 일 자체를 컴파일이라 한다.

코딩
-프로그램을 작성하는 과정

소스 코드
-컴파일되지 않은 코드

소스 파일
-소스 코드가 저장되어 있는 파일

오브젝트 파일
-소스 파일을 컴파일하면 새로운 파일이 하나 생성되는 것

C언어의 특징
-프로그램의 이식성이 높다
-저급 언어와 고급 언어의 구조를 모두 갖추고 있다
-예약어를 사용하여 표현이 간결하다
-함수의 집합이다
-프로그램의 모듈화가 가능하고, 분할 프로그래밍과 분할 컴파일 할 수 있다
-구조화 프로그래밍이 용이하다
-연산자가 풍부하며, 비트 연산, 쉬프트 연산, 번지 및 포인터 연산 등으로 시스템 프로그래밍을 하기 쉽게 한다
-Preprocessor의 매크로 기능이 있다
-포인터를 데이터로 사용할 수 있다
-모든 함수의 순환이 허용된다




'C 프로그래밍' ~34P



'gamE > C' 카테고리의 다른 글

C - Chapter 3. 변수와 연산자  (0) 2010.01.22
C - Chapter 2. 프로그램의 기본 구성  (0) 2010.01.20
Posted by 생선날개