2009년 10월 8일 목요일

게임 개발

◈ 게임 개발 이란?

 

 Game Itself

 Game Platform

 영역

 게임 그자체를 개발  여러 게임에서 공통적으로 사용되는 부분 개발

 Client 개발자

 실제 게임 화면을 작성  공통 화면이나 Renderer를 개발

 Sever 개발자

 게임 로직을 작성  공용서버, 네트워크 라이브러리 등을 개발

 


◈ 게임 개발

▶ Game Itself

   → Game#1, Game#2, Game#3

▶ Game Platform

   → Client Framwork, Server Framwork, C/S Networking

   → Rendering Engine / Network Library / DB Accessor

 

• 국가에 대한 유지보수

→ 손쉽게 새로운 나라에서 게임 서비스 제공

    가정 - 각 국가는 자신만의 버전을 가져갈수 있음

• 프로그램 스킬

→ 언어, 패턴, Tool사용

• 종속성 제거

    버전 - 다양한 버전의 플랫폼 존재. 일관성 유지

• 게임플레이 Test Tool 구현

• (가능한 모든) 기술적 문제점의 해결

   → 제작에 필요한 방법론 완성

   → 제작에 필요한 엔진 구현

   → 제작에 필요한 툴의 구현

 

★ 가장큰 적은? <변경!!! 이다~ 변경의 최소화가 중요하다.>

 

• 개발자의 테스트 책임

   - 테스트 계획 검토

   - 단위 수준 테스트 (Unit level testing)

   - 시스템 통합 예비 테스트

   - 내부 테스트를 통해 찾아낸 모든 버그의 수정

 

◈ 생산의 샘플 - 리니지 개발자 -

• Ready - 팀구성, 엔진 선정, 프로젝트 승인

• Proto Type

   → 그래픽 리소스 제작

      - 케릭터*3 모델링 / 텍스쳐 / 애니메이션

      - 주요 몬스터 종족

      - 1개 케릭터의 시작 지역 (마을*1, 던전*1, 지역*1)

   → 기본 게임 시스템 개발

      - 기본 전투

      - 기본 시스템 (Item, Quest, Inventory, Costume Change)

   → 게임 컨셉 정의

      - Full 3D + Follow VIew (보기에 따라) + Mouse Control

      - 쉬운 게임

   → 생산 (Production)

      - 그래픽 리소스의 대량 생산 (케릭터*1 추가, 몬스터, NPC, Field...)

      - MMORPG 게임 기능 개발 (파티, 길드, 포위 전쟁, PvP...)

   → Closed Beta

      - 전투 시스템 확장

      - 케릭터*1 추가

   → 잘한것

      - 스케줄 관리

      - 시간 안의 최대 품질 (quality)

   → 못한것

      - Production 기간중에 그래픽 대규모 충원

      - 개발 후반에 전투 시스템 확장

      - Production 종료 되지 않은 시점에 CB/OB

 

◈ production에 성공하기 위해서

• 게임성에 대한 고민은 미리한다.
   – prototype때 core팀을구성하고, 게임에대해서충분히고민하라.
   – 게임의 메인컨셉을 prototype이나 preproduction때 정의하고 이후 근본적인수정은피한다.
• Risk를 피하라.
   – 기술
• 게임엔진은 –Unreal3 일지라도- 비싸지않다.
• 검정되지 않은 기술에 project의 생명을 걸지마라.
• 기술issue는 prototype 기간에고민을끝내라.
• 게임을 만들어라 (기술을개발하지마라).
   – 조직
• 누가 project의 리더 인지 분명히한다. (게임 개발은 집단창작이나 민주주의로 운영되지 않는다)
• 팀과 의사결정 process는 project초반에 확립한다.
• 낙하산팀장은 보는 즉시 사살한다.
   – 회사정책/경영
• 경영과는 최대한 거리를 두기를 권고
• 빈번한 조직개편반대
• 많은 인센티브보다는 예측가능한 인센티브제도가 차라리 낫다.

• 많은 개발비는 독 (우리는 시간을 생각하자 많은 시간도 독이다)
• 개발비 줄이기 = 개발기간 줄이기
– 실제 생산이 늦어서 project가 지연되는 경우는 없다.
– Project 지연의 근본적인 이유(1)는 유일하다.
– 생길것같은 사고는 반드시일어난다. 후퇴전을 잘하자.
• 고정비용
• 개발팀의 비용 개념확립

 

(1)근본적인 이유

EA에서 생각하는 가장큰죄악(sin)은 게임을 정시에 출시하지 못하는 것이다.
예측가능성은 경영의핵심적미덕이며, 프로세스의통제는매우중요하다. “이회사가 다른 비디오게임회사들에 대하여 가지는비교우위는 무엇입니까?" 라고필자가물었을때, 가장 일반적인 대답은 “우리는 경쟁사들보다 더나은 경영을하고 있습니다” 라는것이었다. 비디오게임산업은 시기에 대단히민감하다. 많은타이틀은 크리스마스판매에 맞추어출시되도록 일정을 잡고, 스포츠타이틀은 스포츠시즌 개막시기에 맞추며, 영화타이틀은 영화개봉과 비슷한시기에 출시된다. 우수한게임을 만들었지만 때를놓쳐출시하는것은 제시간에 맞추어 쓸만한품질의 게임을 만들어내는것 만큼 수익을 올리지못한다. EA 관계자들은 “적시의 최고품질(maximum on-time quality)” 이라는 말을 많이한다. 그들은 “게임이늦는것은 일반적으로 개발팀이 무엇을 만들지 모르기때문” 이라고한다. 다시말해, 게임이 제시간에 출시되지 못하는 주요한이유는 디자인비전에 있어 포커스의결여 때문이라고한다.
“Electronic Arts에 대한 현장가이드”에서…
Randy Pausch
카네기멜론대학
Entertainment Technology Center의Co-Director
Computer Science, HCI, and Design 교수
etc.cmu.edupausch@cmu.edu

 

★ 개발 프로세스 예제 ★

 

◈ Preproduction
● proposal : 게임의 컨셉과 기본기획을 제안

• 목표

- proto type을 만들기 위한 컨셉기획서를 만들고 제안
• 인원
- 1명 또는2~3명 또는 수십명.
- 제안자가 게임디자이너가 아니어도 된다.
• 기간&조직
- 하루 또는 몇달. 제안자들이 같은조직에 있지 않아도된다.
• 검증
- 자신이 속한조직의 장의허락을 받은후 다음단계를 넘어가기 위해서는 검증을 받아야함
• 중요
- 개발기간중 가장 비용이 싼 기간이다. 게임에 대한 아이디어를 최대한 자유롭게 제안
● proto type : 게임의 초기형태와 스타일을 검증

• 목표
- 게임의 주요 아이디어와 컨셉을 구체화한 게임클라이언트나 동영상
• 인원
- 1명 또는 수명 또는 수십명
• 기간&조직
- 몇개월 또는 몇년
• 검증
- production 단계로 가기위해서는 주요매니저의 확인 필요
• 중요
- production 기간은 비싸다.
- 다음단계로 넘어가기 위해서는 확신이 생길때까지 완성도를 올리거나 여러번만드는것을 권장.
- 게임의 퀄리티가 아니라 게임의 아이디어와 컨셉을 만드는과정

 

◈ Production
● production : 본격적인 생산.

• 목표
- 실패없이 게임을 생산.
- 상세기획서를 만들고 alpha version에 사용될코드와 그래픽리소스를 제작한다.
• 인원
- 수명 또는 수십명 또는 수백명
• 기간&조직
- 몇개월 또는 몇년
• 검증
- 주요 mile stone 단위로 주요 매니저 검증.
- 분기 또는 반년단위의 주요이사들의 검증이 필요
• 중요
- 개발기간을 지키지않는 퀄리티올리기는 무의미하다.
- 완성이 불가능하다고 판단될경우 개발기간을 늘이는것보다 core 맴버를 proposal이나 prototype 단계로 되돌리는것이 현명하다.
● alpha version : production 단계의 마지막버전. QA와 fun test에 사용

• 목표
- 테크니컬QA와 fun QA를 한다.
- CBT/OBT와 같은 외부테스트를 할수있는 버전을 만든다.
• 인원
- 수명 또는 수십명 또는 수백명
• 기간&조직
- 수주 또는 몇개월 또는 몇년
• 검증
- 주요매니저와 QA조직이 CBT단계로 진행할수있는 수준의 게임인지 검증
• 중요
- 마지막 production 단계.
- 퀄리티올리기보다는 완성도에 집중

 

◈ Test
● Close beta test : 제한된 외부테스터대상의 테스트
● Open beta test : 모든 사용자들을 대상으로한 무제한테스트

• 목표
- 게임을 외부테스터들을 대상으로 테스트한다.
- production보다는 게임의 튜닝(기술적인문제,재미,안정성등)이 목적
• 인원
- 수명 또는 수십명 또는 수백명
• 기간&조직
- 수주 또는 몇개월 또는 몇년
• 검증
- 주요매니저와 QA조직 그리고 사업조직의 판단이 중요
• 중요
- production이 밀릴경우 production 기간을 늘려야한다.
- CBT/OBT와 production이 겹칠경우 개발효율을 떨어트려 test의목적(튜닝,안정화)를 달성하기

힘들게된다.

 

 

- 서울대 외부강사 강의자료(PPT) 총정리 -

댓글 없음:

댓글 쓰기