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

Mais conteúdo relacionado

Mais procurados

게임 기획자의 생존 전략
게임 기획자의 생존 전략게임 기획자의 생존 전략
게임 기획자의 생존 전략태성 이
 
게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)Lee Sangkyoon (Kay)
 
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?강 민우
 
게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스Seungmo Koo
 
쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다Jinho Jung
 
모바일 게임기획 따라하며 배우기
모바일 게임기획 따라하며 배우기모바일 게임기획 따라하며 배우기
모바일 게임기획 따라하며 배우기Sunnyrider
 
게임 시스템 디자인 시작하기
게임 시스템 디자인 시작하기게임 시스템 디자인 시작하기
게임 시스템 디자인 시작하기ByungChun2
 
[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들
[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들
[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들강 민우
 
어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?Lee Sangkyoon (Kay)
 
NHN NEXT 게임 전공 소개
NHN NEXT 게임 전공 소개NHN NEXT 게임 전공 소개
NHN NEXT 게임 전공 소개Seungmo Koo
 
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정강 민우
 
게임제작개론 : #0 과목소개
게임제작개론 : #0 과목소개게임제작개론 : #0 과목소개
게임제작개론 : #0 과목소개Seungmo Koo
 
게임제작개론 9
게임제작개론 9게임제작개론 9
게임제작개론 9Seokmin No
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법Lee Sangkyoon (Kay)
 
게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱Seungmo Koo
 
국내인디게임개발자의현실
국내인디게임개발자의현실국내인디게임개발자의현실
국내인디게임개발자의현실Mingu Heo
 
02. 게임 전투 공식
02. 게임 전투 공식02. 게임 전투 공식
02. 게임 전투 공식Chanman Jo
 
전투 시스템 기획(Canvas 스터디 1차)
전투 시스템 기획(Canvas 스터디 1차)전투 시스템 기획(Canvas 스터디 1차)
전투 시스템 기획(Canvas 스터디 1차)Chanman Jo
 
게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #3 간접통제와 게임 커뮤니티게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #3 간접통제와 게임 커뮤니티Seungmo Koo
 

Mais procurados (20)

게임 기획자의 생존 전략
게임 기획자의 생존 전략게임 기획자의 생존 전략
게임 기획자의 생존 전략
 
게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)게임 기획 튜토리얼 (2015 개정판)
게임 기획 튜토리얼 (2015 개정판)
 
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
 
게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스
 
게임 디렉팅 튜토리얼
게임 디렉팅 튜토리얼게임 디렉팅 튜토리얼
게임 디렉팅 튜토리얼
 
쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다
 
모바일 게임기획 따라하며 배우기
모바일 게임기획 따라하며 배우기모바일 게임기획 따라하며 배우기
모바일 게임기획 따라하며 배우기
 
게임 시스템 디자인 시작하기
게임 시스템 디자인 시작하기게임 시스템 디자인 시작하기
게임 시스템 디자인 시작하기
 
[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들
[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들
[IGC2015] 엔씨소프트 김주용-내가 사랑한 MMO들
 
어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?
 
NHN NEXT 게임 전공 소개
NHN NEXT 게임 전공 소개NHN NEXT 게임 전공 소개
NHN NEXT 게임 전공 소개
 
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
 
게임제작개론 : #0 과목소개
게임제작개론 : #0 과목소개게임제작개론 : #0 과목소개
게임제작개론 : #0 과목소개
 
게임제작개론 9
게임제작개론 9게임제작개론 9
게임제작개론 9
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
 
게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱
 
국내인디게임개발자의현실
국내인디게임개발자의현실국내인디게임개발자의현실
국내인디게임개발자의현실
 
02. 게임 전투 공식
02. 게임 전투 공식02. 게임 전투 공식
02. 게임 전투 공식
 
전투 시스템 기획(Canvas 스터디 1차)
전투 시스템 기획(Canvas 스터디 1차)전투 시스템 기획(Canvas 스터디 1차)
전투 시스템 기획(Canvas 스터디 1차)
 
게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #3 간접통제와 게임 커뮤니티게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #3 간접통제와 게임 커뮤니티
 

Destaque

슈팅 게임에서 레벨 디자인 하기
슈팅 게임에서 레벨 디자인 하기슈팅 게임에서 레벨 디자인 하기
슈팅 게임에서 레벨 디자인 하기용태 이
 
객체지향 철학 그리고 5대 개념
객체지향 철학 그리고 5대 개념객체지향 철학 그리고 5대 개념
객체지향 철학 그리고 5대 개념중선 곽
 
과제3 dropbox 분석
과제3 dropbox 분석과제3 dropbox 분석
과제3 dropbox 분석Minsu Lee
 
작은 레벨 디자인 가이드 03
작은 레벨 디자인 가이드 03작은 레벨 디자인 가이드 03
작은 레벨 디자인 가이드 03용태 이
 
작은 레벨 디자인 가이드 01
작은 레벨 디자인 가이드 01작은 레벨 디자인 가이드 01
작은 레벨 디자인 가이드 01용태 이
 
작은 레벨 디자인 가이드 02
작은 레벨 디자인 가이드 02작은 레벨 디자인 가이드 02
작은 레벨 디자인 가이드 02용태 이
 
레벨디자인 문서 Inter section
레벨디자인 문서   Inter section레벨디자인 문서   Inter section
레벨디자인 문서 Inter section준태 김
 
캔디크러시사가 레벨디자인 분석
캔디크러시사가 레벨디자인 분석캔디크러시사가 레벨디자인 분석
캔디크러시사가 레벨디자인 분석Hyungyu Kang
 
멀티플레이 레벨 디자인의 10가지 팁
멀티플레이 레벨 디자인의 10가지 팁멀티플레이 레벨 디자인의 10가지 팁
멀티플레이 레벨 디자인의 10가지 팁용태 이
 
레벨 디자인의 구성
레벨 디자인의 구성레벨 디자인의 구성
레벨 디자인의 구성준태 김
 
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)valhashi
 
레벨디자인 특강 이동훈
레벨디자인 특강 이동훈레벨디자인 특강 이동훈
레벨디자인 특강 이동훈Donghun Lee
 
NDC 2013 - 초심자를 배려하는 레벨 디자인
NDC 2013 - 초심자를 배려하는 레벨 디자인NDC 2013 - 초심자를 배려하는 레벨 디자인
NDC 2013 - 초심자를 배려하는 레벨 디자인용태 이
 
Oop design principle
Oop design principleOop design principle
Oop design principleRyan Park
 
Oop (객체지향이란)?
Oop (객체지향이란)?Oop (객체지향이란)?
Oop (객체지향이란)?철운 장
 
KGC 2013 - 5일만에 레벨 디자인하기
KGC 2013 - 5일만에 레벨 디자인하기KGC 2013 - 5일만에 레벨 디자인하기
KGC 2013 - 5일만에 레벨 디자인하기용태 이
 
절차지향 vs 객체지향
절차지향 vs 객체지향절차지향 vs 객체지향
절차지향 vs 객체지향QooJuice
 

Destaque (20)

슈팅 게임에서 레벨 디자인 하기
슈팅 게임에서 레벨 디자인 하기슈팅 게임에서 레벨 디자인 하기
슈팅 게임에서 레벨 디자인 하기
 
객체지향 철학 그리고 5대 개념
객체지향 철학 그리고 5대 개념객체지향 철학 그리고 5대 개념
객체지향 철학 그리고 5대 개념
 
과제3 dropbox 분석
과제3 dropbox 분석과제3 dropbox 분석
과제3 dropbox 분석
 
과제2
과제2과제2
과제2
 
픽사
픽사픽사
픽사
 
작은 레벨 디자인 가이드 03
작은 레벨 디자인 가이드 03작은 레벨 디자인 가이드 03
작은 레벨 디자인 가이드 03
 
작은 레벨 디자인 가이드 01
작은 레벨 디자인 가이드 01작은 레벨 디자인 가이드 01
작은 레벨 디자인 가이드 01
 
작은 레벨 디자인 가이드 02
작은 레벨 디자인 가이드 02작은 레벨 디자인 가이드 02
작은 레벨 디자인 가이드 02
 
레벨디자인 문서 Inter section
레벨디자인 문서   Inter section레벨디자인 문서   Inter section
레벨디자인 문서 Inter section
 
캔디크러시사가 레벨디자인 분석
캔디크러시사가 레벨디자인 분석캔디크러시사가 레벨디자인 분석
캔디크러시사가 레벨디자인 분석
 
멀티플레이 레벨 디자인의 10가지 팁
멀티플레이 레벨 디자인의 10가지 팁멀티플레이 레벨 디자인의 10가지 팁
멀티플레이 레벨 디자인의 10가지 팁
 
레벨 디자인의 구성
레벨 디자인의 구성레벨 디자인의 구성
레벨 디자인의 구성
 
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
 
레벨디자인 특강 이동훈
레벨디자인 특강 이동훈레벨디자인 특강 이동훈
레벨디자인 특강 이동훈
 
Character design
Character designCharacter design
Character design
 
NDC 2013 - 초심자를 배려하는 레벨 디자인
NDC 2013 - 초심자를 배려하는 레벨 디자인NDC 2013 - 초심자를 배려하는 레벨 디자인
NDC 2013 - 초심자를 배려하는 레벨 디자인
 
Oop design principle
Oop design principleOop design principle
Oop design principle
 
Oop (객체지향이란)?
Oop (객체지향이란)?Oop (객체지향이란)?
Oop (객체지향이란)?
 
KGC 2013 - 5일만에 레벨 디자인하기
KGC 2013 - 5일만에 레벨 디자인하기KGC 2013 - 5일만에 레벨 디자인하기
KGC 2013 - 5일만에 레벨 디자인하기
 
절차지향 vs 객체지향
절차지향 vs 객체지향절차지향 vs 객체지향
절차지향 vs 객체지향
 

Semelhante a 게임 기획과 Oop

Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
Ndc2010   김주복, v3. 마비노기2아키텍처리뷰Ndc2010   김주복, v3. 마비노기2아키텍처리뷰
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰Jubok Kim
 
게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴MinGeun Park
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄현 수
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Suhyeon Jo
 
소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자Deogtae Kim
 
Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?SangYun Yi
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐MinGeun Park
 
객체지향이란? - <객체지향의 사실과 오해>를 읽고
객체지향이란? - <객체지향의 사실과 오해>를 읽고객체지향이란? - <객체지향의 사실과 오해>를 읽고
객체지향이란? - <객체지향의 사실과 오해>를 읽고HeechanLee6
 
게임 개체 팩토리
게임 개체 팩토리게임 개체 팩토리
게임 개체 팩토리종규 우
 
에코노베이션 3차 세미나 교안 1st Edition.~
에코노베이션 3차 세미나 교안 1st Edition.~에코노베이션 3차 세미나 교안 1st Edition.~
에코노베이션 3차 세미나 교안 1st Edition.~Lee Jungpyo
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기Sunghyouk Bae
 
NDC11_김성익_슈퍼클래스
NDC11_김성익_슈퍼클래스NDC11_김성익_슈퍼클래스
NDC11_김성익_슈퍼클래스Sungik Kim
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013devCAT Studio, NEXON
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템강 민우
 
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정funmeate
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기YEONG-CHEON YOU
 
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기복연 이
 
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰승민 백
 
[14] Material Design 의 철학과 적용 사례
[14] Material Design 의 철학과 적용 사례[14] Material Design 의 철학과 적용 사례
[14] Material Design 의 철학과 적용 사례NAVER Engineering
 

Semelhante a 게임 기획과 Oop (20)

Game Play System
Game Play SystemGame Play System
Game Play System
 
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
Ndc2010   김주복, v3. 마비노기2아키텍처리뷰Ndc2010   김주복, v3. 마비노기2아키텍처리뷰
Ndc2010 김주복, v3. 마비노기2아키텍처리뷰
 
게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴게임 프레임워크의 아키텍쳐와 디자인 패턴
게임 프레임워크의 아키텍쳐와 디자인 패턴
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄
 
Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄Domain-Driven-Design 정복기 1탄
Domain-Driven-Design 정복기 1탄
 
소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자
 
Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?Igc2016 Technical Artist가 뭐하는 사람이에요?
Igc2016 Technical Artist가 뭐하는 사람이에요?
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐
 
객체지향이란? - <객체지향의 사실과 오해>를 읽고
객체지향이란? - <객체지향의 사실과 오해>를 읽고객체지향이란? - <객체지향의 사실과 오해>를 읽고
객체지향이란? - <객체지향의 사실과 오해>를 읽고
 
게임 개체 팩토리
게임 개체 팩토리게임 개체 팩토리
게임 개체 팩토리
 
에코노베이션 3차 세미나 교안 1st Edition.~
에코노베이션 3차 세미나 교안 1st Edition.~에코노베이션 3차 세미나 교안 1st Edition.~
에코노베이션 3차 세미나 교안 1st Edition.~
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기
 
NDC11_김성익_슈퍼클래스
NDC11_김성익_슈퍼클래스NDC11_김성익_슈퍼클래스
NDC11_김성익_슈퍼클래스
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013
 
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
[IGC 2017] 넥스트플로어 김영수 - Protocol:hyperspace Diver 개발 포스트모템
 
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
모바일환경에서의 크로스 플랫폼_3D_렌더링엔진_제작과정
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
『DirectX 12를 이용한 3D 게임 프로그래밍 입문』 - 맛보기
 
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
 
[14] Material Design 의 철학과 적용 사례
[14] Material Design 의 철학과 적용 사례[14] Material Design 의 철학과 적용 사례
[14] Material Design 의 철학과 적용 사례
 

Mais de snugdc

세미나Ofgdc 한글화
세미나Ofgdc 한글화세미나Ofgdc 한글화
세미나Ofgdc 한글화snugdc
 
성공한 게임들의 특징들
성공한 게임들의 특징들성공한 게임들의 특징들
성공한 게임들의 특징들snugdc
 
추리 게임의 계보
추리  게임의  계보추리  게임의  계보
추리 게임의 계보snugdc
 
왜 리그 오브 레전드가 흥행하는가
왜 리그 오브 레전드가 흥행하는가왜 리그 오브 레전드가 흥행하는가
왜 리그 오브 레전드가 흥행하는가snugdc
 
직박구리 폴더의 비밀
직박구리 폴더의 비밀직박구리 폴더의 비밀
직박구리 폴더의 비밀snugdc
 
네모네모점프점프
네모네모점프점프네모네모점프점프
네모네모점프점프snugdc
 
Gdc 세미나
Gdc 세미나Gdc 세미나
Gdc 세미나snugdc
 
쿠키냠냠 컨셉2문서 꾸밈2
쿠키냠냠 컨셉2문서 꾸밈2쿠키냠냠 컨셉2문서 꾸밈2
쿠키냠냠 컨셉2문서 꾸밈2snugdc
 
Yagm3 g
Yagm3 gYagm3 g
Yagm3 gsnugdc
 
확밀아 세미나
확밀아 세미나확밀아 세미나
확밀아 세미나snugdc
 
Puzzle
PuzzlePuzzle
Puzzlesnugdc
 
Gotoschool
GotoschoolGotoschool
Gotoschoolsnugdc
 
플레이어의 선택
플레이어의 선택플레이어의 선택
플레이어의 선택snugdc
 
어쌔신 크리드 시리즈의 발전
어쌔신 크리드 시리즈의 발전어쌔신 크리드 시리즈의 발전
어쌔신 크리드 시리즈의 발전snugdc
 
Project ricochet
Project ricochetProject ricochet
Project ricochetsnugdc
 
Project jam
Project jamProject jam
Project jamsnugdc
 
던전 다이어리(수정)
던전 다이어리(수정)던전 다이어리(수정)
던전 다이어리(수정)snugdc
 
두더지 정복자 포스트모템
두더지 정복자 포스트모템두더지 정복자 포스트모템
두더지 정복자 포스트모템snugdc
 

Mais de snugdc (20)

세미나Ofgdc 한글화
세미나Ofgdc 한글화세미나Ofgdc 한글화
세미나Ofgdc 한글화
 
성공한 게임들의 특징들
성공한 게임들의 특징들성공한 게임들의 특징들
성공한 게임들의 특징들
 
추리 게임의 계보
추리  게임의  계보추리  게임의  계보
추리 게임의 계보
 
왜 리그 오브 레전드가 흥행하는가
왜 리그 오브 레전드가 흥행하는가왜 리그 오브 레전드가 흥행하는가
왜 리그 오브 레전드가 흥행하는가
 
직박구리 폴더의 비밀
직박구리 폴더의 비밀직박구리 폴더의 비밀
직박구리 폴더의 비밀
 
네모네모점프점프
네모네모점프점프네모네모점프점프
네모네모점프점프
 
Gdc 세미나
Gdc 세미나Gdc 세미나
Gdc 세미나
 
쿠키냠냠 컨셉2문서 꾸밈2
쿠키냠냠 컨셉2문서 꾸밈2쿠키냠냠 컨셉2문서 꾸밈2
쿠키냠냠 컨셉2문서 꾸밈2
 
Jgjg
JgjgJgjg
Jgjg
 
Yagm3 g
Yagm3 gYagm3 g
Yagm3 g
 
Da
DaDa
Da
 
확밀아 세미나
확밀아 세미나확밀아 세미나
확밀아 세미나
 
Puzzle
PuzzlePuzzle
Puzzle
 
Gotoschool
GotoschoolGotoschool
Gotoschool
 
플레이어의 선택
플레이어의 선택플레이어의 선택
플레이어의 선택
 
어쌔신 크리드 시리즈의 발전
어쌔신 크리드 시리즈의 발전어쌔신 크리드 시리즈의 발전
어쌔신 크리드 시리즈의 발전
 
Project ricochet
Project ricochetProject ricochet
Project ricochet
 
Project jam
Project jamProject jam
Project jam
 
던전 다이어리(수정)
던전 다이어리(수정)던전 다이어리(수정)
던전 다이어리(수정)
 
두더지 정복자 포스트모템
두더지 정복자 포스트모템두더지 정복자 포스트모템
두더지 정복자 포스트모템
 

게임 기획과 Oop

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