Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

게임 기획과 Oop

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio

Eche un vistazo a continuación

1 de 17 Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

A los espectadores también les gustó (20)

Anuncio

Similares a 게임 기획과 Oop (20)

Anuncio

Más reciente (20)

게임 기획과 Oop

  1. 1. 게임 기획과 OOD 소프트웨어 공학로서의 게임 기획론
  2. 2. 목차  게임 기획이란 ?  게임 기획 직무의 구성
  3. 3. 게임 기획이란 ?  게임 기획 무용론  게임 개발하는 데 기획자 필요 없다  게임 기획이란 ?  “ 프로그래밍과 그래픽을 제외한 모든 것” ( 김형진 , NCsoft, 개발 7 실 실장 )  “ 게임 플레이의 감각 요소들을 수치로 환원시키는 모든 작 업” ( 신영택 , 대학생 )  모든 제작 개별 요소들을 통합하여 게임이라는 형태로 최종 완성시키는 일련의 작업들 .  뉴미디어 언어의 특징 ( 레프 마노비치 2003)  수적 재현 – Numeric Representation  모듈성  자동화 , 가변성 , 부호 변환
  4. 4. 게임 개발 직무의 영역 •서버 •클라이언트 •PD •PM •디렉터 •시스템 디자인 •전투 •정치 / 경제 •커뮤니티 •성장 •PvP •시나리오 라이터 •밸런서 •퀘스트 기획 •레벨 디자이너 •아이템 컨덴츠 기획 •UI 기획 •제작 진행 •외주 관리 •아트 디렉터 •애니메이터 •컨셉 아티스트 •캐릭터 •배경 •터레인 빌더 •3D 모델러 •캐릭터 •배경 •이펙터 최 적 화 구 현 검 토 설정 주도권 템포 vs 동작미 구성 주도권 기능 vs 장식 일정
  5. 5. 소프트웨어 설계와 게임 디자인 : 유사성  게임 디자인 -> 소프트웨어 디자인 -> 소프 트웨어 설계  소프트웨어 설계의 단계  요구사항 분석  시스템 디자인  세부 디자인  구현  통합  필드 테스트  사후 지원 => 기획의 영역 => 프로그래머의 영역 => QA 의 영역
  6. 6. 소프트웨어 설계와 게임 디자인 : 차이점  요구 사항 분석  “ 재미”라는 Spec  규정하기 난해함  유동적  주관적  시스템 디자인  복잡도가 높은 소프트웨어  유기적인 통합 필수  실시간 반응의 총합  경우의 수 측정 난해함
  7. 7. 나쁜 프로세스  모호한 기획 – 자연어 , 희망사항 , 스펙 없음  나쁜 기획서의 예  문제 분석에 시간 낭비하는 프로그램 팀  프로그램팀에 종속되는 기획  하드 코딩  구현 후 드러나는 비일치  잦은 병목 현상 – 작업량의 몰리는 현상  기획 방향 수정 – 프로그램팀 휴업 상태  다시 수정 – 하드 코딩  늘어지는 일정 – 떨어지는 사기
  8. 8. 좋은 프로세스 구축을 위한 해결책  보다 명확한 문제 분석을 기반으로 시스템 디자인 문 서 작성  자연어가 아닌 Object Oriented Design 에 근거한 기획 문서 사용 .  기획의 전문 영역 확보  기획자가 프로그래머에 종속되지 않고 파트너의 위치로 격 상시킬 것  Game Design Environment (GDE) 구축  프로그래머를 게임 컨덴츠와 분리시킬 것  완벽한 기획 보다는 유연한 컨덴츠 변경을 중시  재미를 위한 테스트 기간을 충분히 확보  고기 ( 컨덴츠 ) 를 확보하지 말고 낚시대 ( 도구 ) 를 확보해라 !
  9. 9. Object Oriented Design (OOD)  객체란 ?  추상 ( 抽象 ) 화 와 추상화 과정  컴퓨터에서의 추상화  OOD, OOP 의 용어  캡슐화 Encapsulation  객체는 인터페이스를 가진다 .  Class Hierarchy / 상속
  10. 10. 객체란 ?  무형 , 유형의 인간이 인지하는 모든 것  사람 , 자동차 , 전화 , 꿈  객체의 특징  객체는 내면과 내면을 감싸는 외피를 가진다 .  내면은 외피 내부로 숨겨지며 이를 추상이라고 한다 .  객체는 외피를 가짐으로써 주변사물과 독립적으로 구분될 수 있 다 .  객체는 외피를 가짐으로써 관찰대상이 될 수 있다 .  구체적인 형태를 가지지 않는 것들 - 경제 , 국가 - 도 객체가 될 수 있다 .  객체에 대한 정의는 상대적이다 .  객체는 객체를 포함할 수 있다 .  객체는 속성과 행동으로 표현 할 수 있다 .  속성 : 색 , 길이 , 속도와 같이 객체의 성질을 나타내며 프로그 램에서는 변수로 표현 된다 . – attribute , member field  행동 (behavior) : 객체의 쓰임을 나타내며 프로그램에서는 함수 ( 메소드 ) 로 표현 된다 . - method
  11. 11. 추상 ( 抽象 ) 화 와 추상화 과정  개가 바로 치아와 삽살개 셰퍼드등 이 세계에 존재하는 여러가지 개의 성질을 가지는 것들의 유일한 원본  멍멍 소리를 내고 , 꼬리를 흔들며 , 다리가 4 개고 , 코가 뾰족한 특징을 가지는 동물들을 개라고 정의  추상화 과정이란 어떤 구체적인 사물로 부터 공통적인 속성을 찾아내어서 그것들을 포괄할 수 있는 상위의 포괄적 개념
  12. 12. 수적 추상화 예 : 자동차 원자의 레벨 원자 단위의 시뮬레이션 ? 부품의 레벨 부품 외양의 충돌 시뮬레이션 전자 회로 시뮬레이션 공기 저항 유체 역학 ? 지면의 요철과의 충돌 시뮬레이션 운전자 근육 시뮬레이션 기능적 레벨 속도 위치 가속도 감속도 지면마찰력 공기저항력 색깔 이름 자동차 명 액셀레이터 브레이크 핸들 회전
  13. 13. OOD, OOP 의 용어  Class  하드 디스크에 정적으로 존재하는 class 파일 , 추상 데이타 타입 (Abstract Data Type) 이다 . method 과 member variable 로 이루어진다 .  Object  메모리에 동적으로 존재하는 클래스의 모습이다 .  Instance  object 가 어떤 속성이 부여되어 있는 상태 .  프로그램에서 object 가 불리어지는 이름이다 .  Member variable  class 에서 변수 또는 상수로 정의한다 . 객체의 값 ( 속성 ) 이 저장된다 .  Method  class 에서 함수처럼 정의한다 . 객체의 행동을 표현할 때 쓰인다 .
  14. 14. 캡슐화 Encapsulation  추상화 시킨 자료를 클 래스라는 개념으로 포 함 시키는 것을 의미  클래스란 객체의 속성 과 기능을 정의하는 문 장이다 .  높은 모듈성 (modularity) 과 정보의 은닉성 (information hiding) 을 제공 한다 .  은닉성이란 객체의 외부 접근에 대한 통제를 의 미 public class Ex001Car { int intSpeed; int intColor; String strCarName; public void speedUp() { intSpeed ++; } public void speedDown() { intSpeed --; } }
  15. 15. 객체는 인터페이스를 가진다 .  객체는 일반적으로 유일하며 , 각 객체는 고유의 특징과 행동특징 을 가지는 것으로 정의할 수 있다 . 클래스란 이러한 객체의 고유 특성과 행동특징을 함께 묶어놓은 개념이다  문제영역은 빛의 조절이며 이 문제를 해결하기 위해서 켜기 , 끄 기 , 밝게하기 , 어둡게 하기라는 인터페이스 들이 필요하다  클래스의 이름은 Light 라고 했다 . 자 이제 여러분이 전구를 하 나 샀다고 하면 이로서 It 이라는 새로운 객체가 생성되는 것이다 .
  16. 16. Class Hierarchy / 상속
  17. 17. Game Design Environment (GDE)  컨덴츠를 기획하지 말고 컨덴츠를 생산할 수 있는 도 구 (Tool) 을 기획하는 것  Script 의 Spec 을 디자인할 수 있는 능력  GDE 의 도구  Script Language : Lua  유연한 데이터 입력 형식 : XML GDE 프로그래머 기획자 구현 / 개선 / 유지 컨덴츠 양산 Spec 정의

×