SlideShare a Scribd company logo
1 of 25
유니티로 해보는
게임 프로토타이핑
사장님이 말했어요.
“롤 같은 거 하나 만들어 와바. 내일까지.
부제는 유머
참고로 부제 크레딧은 gyedo님에게 있습니다. :)
강연자 소개
사파 출신 개발자
SonoV : 샤이아
EA Canada : 피파 시리즈(08~12)
CAPCOM : 비밀(500원 줘도 안알랴줌)
강연 순서
1. 유니티 엔진
2. LOL이란?
3. 프로토타이핑의 이해
4. 코딩. 해. 봅시다.
유니티(Unity)
1. 유니티 엔진은 Unity사에서 만든 통합형 게임 엔진.
2. 컴포넌트 프로그래밍을 지원
3. C#, Java Script라는 언어로 게임 플레이 로직 작성 가능.
a. 물론 Boo도 지원하지만 모른 척 하자.
4. 멀티 플랫폼 지원
a. iOS, Android, PC를 포함한 여러 다른 플랫폼들도 지원
왜 유니티?
1. 프로토타입에 아주 좋은 게임 엔진
2. 발로 짜기 위해
3. 컴포넌트 프로그래밍이 재밌다.
a. 왜 재밌는 지는 어떻게 코딩하는지 배우다 보면 알게
됩니다.
롤(lol, league of legends)
1. Riot이라는 게임 회사에서 만든 AOS 장르의
게임.
2. 오늘 프로토타입을 만들어 볼 예정.
왜 하필 롤인가?
1. 재밌기 때문.
2. 만들 수 있으니까.
3. 행위(Behavior)의 구현 만으로도 충분히 게임
플레이가 가능함을 증명하기 위해.
a. 이것은 완성될 때 증명이 가능할 테고 현재 진행 중.
프로토타이핑(Prototyping)
1. 프로토타입(Prototype)은 한국말로 ‘원형’이
라는 뜻.
2. 실제 제품을 만들기 전에 시험 삼아 혹은 특
정한 기술 및 제품의 이해를 위해 재빠르게
만들어 보는 것.
프로토타이핑의 예.
프로토타이핑 가이드 라인
1. 필자가 15년 넘게 프로토타이핑 프로그래밍
을 하면서 적용했던 방법들을 목록화 해보았
음.
2. 가이드 라인을 꼭 지켜야 할 필요는 없다. 본
인의 프로그램 제작 방법론에 맞는 것을 따르
면 된다.
1. 목표 설정
프로그램을 제작할 때 어떠한 용도(?)로 개발할
것인지 명확하게 인지하자.
기술 데모, 기술력 검증, 게임 플레이 검증, 소스
이해 등등
2. 마음가짐
목표를 설정했다면 목표 만을 위해 앞으로 전진
한다.
프로그램 개발 중간에 나타나는 유혹(?)들은 무
시하도록 하자. 도저히 참을 수 없다면 노트에
적어 놓고 이후에 다른 목표로 삼고 해결하자.
3. 상상력을 발휘해라.
박스가 캐릭터라고 생각 하자!
물론 행위(Behavior)를 작성하기 위해 필요한 비
주얼적인 것은 그려주도록 하자. 예를 들어 방향
성이 있는 캐릭터를 표현할 때는 구(Sphere)보
다는 박스(Box)를 사용하고 방향을 표현하기 위
해 무언가(?)를 설정하자.
4. 관계를 이해하자.
하나의 프로그램은 매우 많은 함수들과 클래스
들로 이루어져 있다. 함수 내부에 관심을 가지지
말고 함수들, 클래스들의 관계에 대해 관심을 가
지자.
5. 전체적인 동작 방식을 먼저 생각한다.
관계를 이해하고 나면 이러한 관계들 사이에서
어떠한 순서로 프로그램이 진행되고, 원하는 결
과가 나타나는지 예측 해보자.
6. 동작이 된다고 가정하고 내용을 채운다.
어떠한 기능을 만들 때 기능에 필요한 함수 혹은
클래스들을 모두 처음부터 끝까지 작성한 후에
완성하는 것이 아니라 전체 플로우를 먼저 작성
한 후 내부에 필요한 클래스, 함수, 변수들을 채
워나간다.
7. 게임에 사용되는 알고리즘, 프레임워크, 도구에 익숙해 져라.
게임 마다 사용되는 알고리즘, 자료구조가 다르
며 이들은 장르별로 어느 정도 정리가 되어 있다.
가령 RTS게임을 제작하기 위해 A*, FOW, 지형
분석(영향력맵), 발사체, 명령어 기반의 Reply
시스템등 거의 필수적으로 필요한 기능들이 존
재한다. 이러한 알고리즘, 자료구조, 프레임워크,
도구에 익숙해져라.
8. 과감하게 생략하자.
귀찮아지면 “어차피 프로토타입이니까”
라고 생각하고 필요할 땐 진지하게 프로
그래밍 한다. 이를 위해서 필요한 마음
가짐이 바로 ‘과감하게 생략’이다.
9. 리팩토링^63
물론 8번으로 인해 발로 짠 코드가 나올 수도 있
지만 지속적으로 코드를 수정하도록 하자. 좋은
설계를 하는 가장 쉬운 방법은 자신이 발로 짠
코드를 리팩토링 하는 것이다.
지속적으로 코드를 수정하자.
10.많은 코드, 책을 읽자.
1. 코드
a. sf.net, github, codeproject, stackoverflow, 오픈소스 게임들의
소스 등등 많은 자료가 있다. 다른 사람들이 작성한 코드를 많이
읽으면 읽을 수록 프로토타이핑을 하기에 유리하다.
2. 책
a. 책은 c++ gems, pattern oriented software architecture, design
pattern, advaned c++, effective c++, refactoring, enterprise
integration patterns, 패턴을 활용한 리팩토링과 같은 책들을 읽
어보자. 알면 아는 만큼 코드의 수준이 높아진다.
11.프로토타입의 코드도 재사용 가능하다.
프로토타입은 만들고 버리라고 하지만 나는 프
로토타입을 만들고 그대로 제품에 반영한 후 리
팩토링을 통해 써먹을 수 있는 제품 코드로 바꾼
적이 많다.
프로토타입 코드를 무조건 버릴 필요는 없다.
코딩. 해. 봅시다.
1. 너무 큰 기대는 하지 말자.
a. 행위의 구현에 관심을 둘 것.
b. 유니티에서 어떻게 원하는 기능을 만드는지 볼 것.
c. 지금부터는 마음 편하게 콜라 한잔 마시면서 보시면
됩니다. 그렇다고 옆 사람이랑 너무 떠들진 말아주세요. :)
2. 오늘 안에 다 못 만듭니다.
a. 주어진 시간은 3시간.
3. 언제든 질문 사항이 있으면 중간에 ‘코디님’
하시면서 질문 요청 하시면 제가 답변 합니다.
방송국도 들려주세요.
afreeca.com/crc1234
즐겨 찾기 해 놓으시면 방송할 때 알람이 갑니다.
관심 있으시면 등록하셔서 재밌는 시간 보내도
록 해요.
감사합니다.
질문 / 답변

More Related Content

What's hot

[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐MinGeun Park
 
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임Imseong Kang
 
C#과 유니티를 통한 게임개발 입문.
C#과 유니티를 통한 게임개발 입문.C#과 유니티를 통한 게임개발 입문.
C#과 유니티를 통한 게임개발 입문.해근 조
 
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍NDOORS
 
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기MinGeun Park
 
[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법Sehyeon Nam
 
만능 개발자를 위한 아틀리에 시스템
만능 개발자를 위한 아틀리에 시스템만능 개발자를 위한 아틀리에 시스템
만능 개발자를 위한 아틀리에 시스템KwangSam Kim
 
내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오KwangSam Kim
 
게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013
게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013
게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013영욱 오
 
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들MinGeun Park
 
NDC 2018 '야생의 땅: 듀랑고' 초반 플레이 변천사
NDC 2018 '야생의 땅: 듀랑고' 초반 플레이 변천사 NDC 2018 '야생의 땅: 듀랑고' 초반 플레이 변천사
NDC 2018 '야생의 땅: 듀랑고' 초반 플레이 변천사 Imseong Kang
 
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
 
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study강 민우
 
격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it goChris Ohk
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)MinGeun Park
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법Lee Sangkyoon (Kay)
 
박병림 퍼즐주주개발을통해얻은5가지교훈 130424
박병림 퍼즐주주개발을통해얻은5가지교훈 130424박병림 퍼즐주주개발을통해얻은5가지교훈 130424
박병림 퍼즐주주개발을통해얻은5가지교훈 130424Byunglim Park
 
[1127 박민근] 일 잘하는 게임프로그래머 되기
[1127 박민근] 일 잘하는 게임프로그래머 되기[1127 박민근] 일 잘하는 게임프로그래머 되기
[1127 박민근] 일 잘하는 게임프로그래머 되기MinGeun Park
 

What's hot (20)

[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐
 
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
 
C#과 유니티를 통한 게임개발 입문.
C#과 유니티를 통한 게임개발 입문.C#과 유니티를 통한 게임개발 입문.
C#과 유니티를 통한 게임개발 입문.
 
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
(게임개발을위한) printf("Hello World!"); 그 이상의 콘솔 프로그래밍
 
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
 
[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법
 
만능 개발자를 위한 아틀리에 시스템
만능 개발자를 위한 아틀리에 시스템만능 개발자를 위한 아틀리에 시스템
만능 개발자를 위한 아틀리에 시스템
 
내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오
 
게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013
게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013
게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013
 
Wecanmakeengine
WecanmakeengineWecanmakeengine
Wecanmakeengine
 
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
 
NDC 2018 '야생의 땅: 듀랑고' 초반 플레이 변천사
NDC 2018 '야생의 땅: 듀랑고' 초반 플레이 변천사 NDC 2018 '야생의 땅: 듀랑고' 초반 플레이 변천사
NDC 2018 '야생의 땅: 듀랑고' 초반 플레이 변천사
 
Visual shock vol.2
Visual shock   vol.2Visual shock   vol.2
Visual shock vol.2
 
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
TA가 뭐예요? (What is a Technical Artist? 블루홀스튜디오)
 
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study
[IGC 2016] 띵소프트 이득규 - 삼국지조조전 Online L10N 개발 Case Study
 
격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go격변하는 프로그래밍 언어, 이제는 Let it go
격변하는 프로그래밍 언어, 이제는 Let it go
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
 
박병림 퍼즐주주개발을통해얻은5가지교훈 130424
박병림 퍼즐주주개발을통해얻은5가지교훈 130424박병림 퍼즐주주개발을통해얻은5가지교훈 130424
박병림 퍼즐주주개발을통해얻은5가지교훈 130424
 
[1127 박민근] 일 잘하는 게임프로그래머 되기
[1127 박민근] 일 잘하는 게임프로그래머 되기[1127 박민근] 일 잘하는 게임프로그래머 되기
[1127 박민근] 일 잘하는 게임프로그래머 되기
 

Viewers also liked

KGC2014 코딩을 몰라도 가능한 프로토타입 제작
KGC2014 코딩을 몰라도 가능한 프로토타입 제작KGC2014 코딩을 몰라도 가능한 프로토타입 제작
KGC2014 코딩을 몰라도 가능한 프로토타입 제작Seokho Lee
 
유니티 고급 과정 -2-
유니티 고급 과정 -2-유니티 고급 과정 -2-
유니티 고급 과정 -2-Kiyoung Moon
 
Leksion 10 -_manaxheri_s_ipermares
Leksion 10 -_manaxheri_s_ipermaresLeksion 10 -_manaxheri_s_ipermares
Leksion 10 -_manaxheri_s_ipermaresMikena Çako
 
Unit 121 Imaging Software
Unit 121 Imaging SoftwareUnit 121 Imaging Software
Unit 121 Imaging SoftwareSynical
 
What are the Grounds for Divorce in Illinois?
What are the Grounds for Divorce in Illinois?What are the Grounds for Divorce in Illinois?
What are the Grounds for Divorce in Illinois?Joe Pioletti
 
Hướng dẫn cào thưởng mỗi ngày
Hướng dẫn cào thưởng mỗi ngàyHướng dẫn cào thưởng mỗi ngày
Hướng dẫn cào thưởng mỗi ngàypikeman39
 

Viewers also liked (15)

KGC2014 코딩을 몰라도 가능한 프로토타입 제작
KGC2014 코딩을 몰라도 가능한 프로토타입 제작KGC2014 코딩을 몰라도 가능한 프로토타입 제작
KGC2014 코딩을 몰라도 가능한 프로토타입 제작
 
유니티 고급 과정 -2-
유니티 고급 과정 -2-유니티 고급 과정 -2-
유니티 고급 과정 -2-
 
Leksion 10 -_manaxheri_s_ipermares
Leksion 10 -_manaxheri_s_ipermaresLeksion 10 -_manaxheri_s_ipermares
Leksion 10 -_manaxheri_s_ipermares
 
Presentaciónactivity4
Presentaciónactivity4Presentaciónactivity4
Presentaciónactivity4
 
Jdeme na to od lesa
Jdeme na to od lesaJdeme na to od lesa
Jdeme na to od lesa
 
Resume Sandeep Kumbhar
Resume Sandeep KumbharResume Sandeep Kumbhar
Resume Sandeep Kumbhar
 
Unit 121 Imaging Software
Unit 121 Imaging SoftwareUnit 121 Imaging Software
Unit 121 Imaging Software
 
boot camp
boot campboot camp
boot camp
 
What are the Grounds for Divorce in Illinois?
What are the Grounds for Divorce in Illinois?What are the Grounds for Divorce in Illinois?
What are the Grounds for Divorce in Illinois?
 
Evaluation 3
Evaluation 3Evaluation 3
Evaluation 3
 
DODIG-2015-009
DODIG-2015-009DODIG-2015-009
DODIG-2015-009
 
Что такое Sppl
Что такое SpplЧто такое Sppl
Что такое Sppl
 
Hướng dẫn cào thưởng mỗi ngày
Hướng dẫn cào thưởng mỗi ngàyHướng dẫn cào thưởng mỗi ngày
Hướng dẫn cào thưởng mỗi ngày
 
Community Management 2000
Community Management 2000Community Management 2000
Community Management 2000
 
IJISET_V2_I6_90
IJISET_V2_I6_90IJISET_V2_I6_90
IJISET_V2_I6_90
 

Similar to 유니티로 해보는 게임 프로토타이핑

131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원NAVER D2
 
1.0데이터 주도적 설계의_마법
1.0데이터 주도적 설계의_마법1.0데이터 주도적 설계의_마법
1.0데이터 주도적 설계의_마법Taeung Ra
 
마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건강 민우
 
소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자Deogtae Kim
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)Jaewon Choi
 
CoreDot TechSeminar 2018 - Session1 Park Jihun
CoreDot TechSeminar 2018 - Session1 Park JihunCoreDot TechSeminar 2018 - Session1 Park Jihun
CoreDot TechSeminar 2018 - Session1 Park JihunCore.Today
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기Soojin Ro
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자Sewon Ann
 
협업하는 디자이너 - #6 iOS
협업하는 디자이너 - #6 iOS협업하는 디자이너 - #6 iOS
협업하는 디자이너 - #6 iOSJinkyou Son
 
아이패드기획강연 플루토미디어 외부_100915
아이패드기획강연 플루토미디어 외부_100915아이패드기획강연 플루토미디어 외부_100915
아이패드기획강연 플루토미디어 외부_100915jinwook shin
 
16 학술제 마무리 자료
16 학술제 마무리 자료16 학술제 마무리 자료
16 학술제 마무리 자료Junyoung Jung
 
LingoStar iPhone App Design Workshop
LingoStar iPhone App Design WorkshopLingoStar iPhone App Design Workshop
LingoStar iPhone App Design Workshop성관 윤
 
아이폰에 포팅해보기
아이폰에 포팅해보기아이폰에 포팅해보기
아이폰에 포팅해보기changehee lee
 
C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법선협 이
 
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?강 민우
 
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012devCAT Studio, NEXON
 
(독서광) 프로그래머의 뇌
(독서광) 프로그래머의 뇌(독서광) 프로그래머의 뇌
(독서광) 프로그래머의 뇌Jay Park
 
NDC 2015 삼시세끼 빌드만들기
NDC 2015 삼시세끼 빌드만들기NDC 2015 삼시세끼 빌드만들기
NDC 2015 삼시세끼 빌드만들기Hyunsuk Ahn
 

Similar to 유니티로 해보는 게임 프로토타이핑 (20)

131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
 
1.0데이터 주도적 설계의_마법
1.0데이터 주도적 설계의_마법1.0데이터 주도적 설계의_마법
1.0데이터 주도적 설계의_마법
 
마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건마비노기듀얼 이야기-넥슨 김동건
마비노기듀얼 이야기-넥슨 김동건
 
소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자소프트웨어 중심 시대를 준비하자
소프트웨어 중심 시대를 준비하자
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
 
Native A/V
Native A/VNative A/V
Native A/V
 
In c
In cIn c
In c
 
CoreDot TechSeminar 2018 - Session1 Park Jihun
CoreDot TechSeminar 2018 - Session1 Park JihunCoreDot TechSeminar 2018 - Session1 Park Jihun
CoreDot TechSeminar 2018 - Session1 Park Jihun
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
 
ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자ant로 안드로이드 앱을 자동으로 빌드하자
ant로 안드로이드 앱을 자동으로 빌드하자
 
협업하는 디자이너 - #6 iOS
협업하는 디자이너 - #6 iOS협업하는 디자이너 - #6 iOS
협업하는 디자이너 - #6 iOS
 
아이패드기획강연 플루토미디어 외부_100915
아이패드기획강연 플루토미디어 외부_100915아이패드기획강연 플루토미디어 외부_100915
아이패드기획강연 플루토미디어 외부_100915
 
16 학술제 마무리 자료
16 학술제 마무리 자료16 학술제 마무리 자료
16 학술제 마무리 자료
 
LingoStar iPhone App Design Workshop
LingoStar iPhone App Design WorkshopLingoStar iPhone App Design Workshop
LingoStar iPhone App Design Workshop
 
아이폰에 포팅해보기
아이폰에 포팅해보기아이폰에 포팅해보기
아이폰에 포팅해보기
 
C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법
 
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
 
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
최은영, 아티스트가 기획을 - 하이브리드의 길 Ver.1, NDC 2012
 
(독서광) 프로그래머의 뇌
(독서광) 프로그래머의 뇌(독서광) 프로그래머의 뇌
(독서광) 프로그래머의 뇌
 
NDC 2015 삼시세끼 빌드만들기
NDC 2015 삼시세끼 빌드만들기NDC 2015 삼시세끼 빌드만들기
NDC 2015 삼시세끼 빌드만들기
 

More from Kiyoung Moon

Image generation compression using genetic algorithm
Image generation compression using genetic algorithmImage generation compression using genetic algorithm
Image generation compression using genetic algorithmKiyoung Moon
 
유니티 + Nodejs를 활용한 멀티플레이어 게임 개발하기
유니티 + Nodejs를 활용한 멀티플레이어 게임 개발하기유니티 + Nodejs를 활용한 멀티플레이어 게임 개발하기
유니티 + Nodejs를 활용한 멀티플레이어 게임 개발하기Kiyoung Moon
 
Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅
Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅
Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅Kiyoung Moon
 
Cross-Platform Game Engine
Cross-Platform Game EngineCross-Platform Game Engine
Cross-Platform Game EngineKiyoung Moon
 
코히런트 Gt(coherent gt) 통합 및 간단한 사용법
코히런트 Gt(coherent gt) 통합 및 간단한 사용법코히런트 Gt(coherent gt) 통합 및 간단한 사용법
코히런트 Gt(coherent gt) 통합 및 간단한 사용법Kiyoung Moon
 
스케일폼(Scaleform) ue4에 통합 및 간단한 사용법
스케일폼(Scaleform) ue4에 통합 및 간단한 사용법스케일폼(Scaleform) ue4에 통합 및 간단한 사용법
스케일폼(Scaleform) ue4에 통합 및 간단한 사용법Kiyoung Moon
 
유니티 고급 과정 -4-
유니티 고급 과정 -4-유니티 고급 과정 -4-
유니티 고급 과정 -4-Kiyoung Moon
 
유니티 고급 과정 -3-
유니티 고급 과정 -3-유니티 고급 과정 -3-
유니티 고급 과정 -3-Kiyoung Moon
 
유니티 고급 과정 -1-
유니티 고급 과정 -1-유니티 고급 과정 -1-
유니티 고급 과정 -1-Kiyoung Moon
 

More from Kiyoung Moon (9)

Image generation compression using genetic algorithm
Image generation compression using genetic algorithmImage generation compression using genetic algorithm
Image generation compression using genetic algorithm
 
유니티 + Nodejs를 활용한 멀티플레이어 게임 개발하기
유니티 + Nodejs를 활용한 멀티플레이어 게임 개발하기유니티 + Nodejs를 활용한 멀티플레이어 게임 개발하기
유니티 + Nodejs를 활용한 멀티플레이어 게임 개발하기
 
Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅
Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅
Debugging with visual studio. 비주얼 스튜디오를 활용한 디버깅
 
Cross-Platform Game Engine
Cross-Platform Game EngineCross-Platform Game Engine
Cross-Platform Game Engine
 
코히런트 Gt(coherent gt) 통합 및 간단한 사용법
코히런트 Gt(coherent gt) 통합 및 간단한 사용법코히런트 Gt(coherent gt) 통합 및 간단한 사용법
코히런트 Gt(coherent gt) 통합 및 간단한 사용법
 
스케일폼(Scaleform) ue4에 통합 및 간단한 사용법
스케일폼(Scaleform) ue4에 통합 및 간단한 사용법스케일폼(Scaleform) ue4에 통합 및 간단한 사용법
스케일폼(Scaleform) ue4에 통합 및 간단한 사용법
 
유니티 고급 과정 -4-
유니티 고급 과정 -4-유니티 고급 과정 -4-
유니티 고급 과정 -4-
 
유니티 고급 과정 -3-
유니티 고급 과정 -3-유니티 고급 과정 -3-
유니티 고급 과정 -3-
 
유니티 고급 과정 -1-
유니티 고급 과정 -1-유니티 고급 과정 -1-
유니티 고급 과정 -1-
 

유니티로 해보는 게임 프로토타이핑

  • 1. 유니티로 해보는 게임 프로토타이핑 사장님이 말했어요. “롤 같은 거 하나 만들어 와바. 내일까지.
  • 2. 부제는 유머 참고로 부제 크레딧은 gyedo님에게 있습니다. :)
  • 3. 강연자 소개 사파 출신 개발자 SonoV : 샤이아 EA Canada : 피파 시리즈(08~12) CAPCOM : 비밀(500원 줘도 안알랴줌)
  • 4. 강연 순서 1. 유니티 엔진 2. LOL이란? 3. 프로토타이핑의 이해 4. 코딩. 해. 봅시다.
  • 5. 유니티(Unity) 1. 유니티 엔진은 Unity사에서 만든 통합형 게임 엔진. 2. 컴포넌트 프로그래밍을 지원 3. C#, Java Script라는 언어로 게임 플레이 로직 작성 가능. a. 물론 Boo도 지원하지만 모른 척 하자. 4. 멀티 플랫폼 지원 a. iOS, Android, PC를 포함한 여러 다른 플랫폼들도 지원
  • 6. 왜 유니티? 1. 프로토타입에 아주 좋은 게임 엔진 2. 발로 짜기 위해 3. 컴포넌트 프로그래밍이 재밌다. a. 왜 재밌는 지는 어떻게 코딩하는지 배우다 보면 알게 됩니다.
  • 7. 롤(lol, league of legends) 1. Riot이라는 게임 회사에서 만든 AOS 장르의 게임. 2. 오늘 프로토타입을 만들어 볼 예정.
  • 8. 왜 하필 롤인가? 1. 재밌기 때문. 2. 만들 수 있으니까. 3. 행위(Behavior)의 구현 만으로도 충분히 게임 플레이가 가능함을 증명하기 위해. a. 이것은 완성될 때 증명이 가능할 테고 현재 진행 중.
  • 9. 프로토타이핑(Prototyping) 1. 프로토타입(Prototype)은 한국말로 ‘원형’이 라는 뜻. 2. 실제 제품을 만들기 전에 시험 삼아 혹은 특 정한 기술 및 제품의 이해를 위해 재빠르게 만들어 보는 것.
  • 11. 프로토타이핑 가이드 라인 1. 필자가 15년 넘게 프로토타이핑 프로그래밍 을 하면서 적용했던 방법들을 목록화 해보았 음. 2. 가이드 라인을 꼭 지켜야 할 필요는 없다. 본 인의 프로그램 제작 방법론에 맞는 것을 따르 면 된다.
  • 12. 1. 목표 설정 프로그램을 제작할 때 어떠한 용도(?)로 개발할 것인지 명확하게 인지하자. 기술 데모, 기술력 검증, 게임 플레이 검증, 소스 이해 등등
  • 13. 2. 마음가짐 목표를 설정했다면 목표 만을 위해 앞으로 전진 한다. 프로그램 개발 중간에 나타나는 유혹(?)들은 무 시하도록 하자. 도저히 참을 수 없다면 노트에 적어 놓고 이후에 다른 목표로 삼고 해결하자.
  • 14. 3. 상상력을 발휘해라. 박스가 캐릭터라고 생각 하자! 물론 행위(Behavior)를 작성하기 위해 필요한 비 주얼적인 것은 그려주도록 하자. 예를 들어 방향 성이 있는 캐릭터를 표현할 때는 구(Sphere)보 다는 박스(Box)를 사용하고 방향을 표현하기 위 해 무언가(?)를 설정하자.
  • 15. 4. 관계를 이해하자. 하나의 프로그램은 매우 많은 함수들과 클래스 들로 이루어져 있다. 함수 내부에 관심을 가지지 말고 함수들, 클래스들의 관계에 대해 관심을 가 지자.
  • 16. 5. 전체적인 동작 방식을 먼저 생각한다. 관계를 이해하고 나면 이러한 관계들 사이에서 어떠한 순서로 프로그램이 진행되고, 원하는 결 과가 나타나는지 예측 해보자.
  • 17. 6. 동작이 된다고 가정하고 내용을 채운다. 어떠한 기능을 만들 때 기능에 필요한 함수 혹은 클래스들을 모두 처음부터 끝까지 작성한 후에 완성하는 것이 아니라 전체 플로우를 먼저 작성 한 후 내부에 필요한 클래스, 함수, 변수들을 채 워나간다.
  • 18. 7. 게임에 사용되는 알고리즘, 프레임워크, 도구에 익숙해 져라. 게임 마다 사용되는 알고리즘, 자료구조가 다르 며 이들은 장르별로 어느 정도 정리가 되어 있다. 가령 RTS게임을 제작하기 위해 A*, FOW, 지형 분석(영향력맵), 발사체, 명령어 기반의 Reply 시스템등 거의 필수적으로 필요한 기능들이 존 재한다. 이러한 알고리즘, 자료구조, 프레임워크, 도구에 익숙해져라.
  • 19. 8. 과감하게 생략하자. 귀찮아지면 “어차피 프로토타입이니까” 라고 생각하고 필요할 땐 진지하게 프로 그래밍 한다. 이를 위해서 필요한 마음 가짐이 바로 ‘과감하게 생략’이다.
  • 20. 9. 리팩토링^63 물론 8번으로 인해 발로 짠 코드가 나올 수도 있 지만 지속적으로 코드를 수정하도록 하자. 좋은 설계를 하는 가장 쉬운 방법은 자신이 발로 짠 코드를 리팩토링 하는 것이다. 지속적으로 코드를 수정하자.
  • 21. 10.많은 코드, 책을 읽자. 1. 코드 a. sf.net, github, codeproject, stackoverflow, 오픈소스 게임들의 소스 등등 많은 자료가 있다. 다른 사람들이 작성한 코드를 많이 읽으면 읽을 수록 프로토타이핑을 하기에 유리하다. 2. 책 a. 책은 c++ gems, pattern oriented software architecture, design pattern, advaned c++, effective c++, refactoring, enterprise integration patterns, 패턴을 활용한 리팩토링과 같은 책들을 읽 어보자. 알면 아는 만큼 코드의 수준이 높아진다.
  • 22. 11.프로토타입의 코드도 재사용 가능하다. 프로토타입은 만들고 버리라고 하지만 나는 프 로토타입을 만들고 그대로 제품에 반영한 후 리 팩토링을 통해 써먹을 수 있는 제품 코드로 바꾼 적이 많다. 프로토타입 코드를 무조건 버릴 필요는 없다.
  • 23. 코딩. 해. 봅시다. 1. 너무 큰 기대는 하지 말자. a. 행위의 구현에 관심을 둘 것. b. 유니티에서 어떻게 원하는 기능을 만드는지 볼 것. c. 지금부터는 마음 편하게 콜라 한잔 마시면서 보시면 됩니다. 그렇다고 옆 사람이랑 너무 떠들진 말아주세요. :) 2. 오늘 안에 다 못 만듭니다. a. 주어진 시간은 3시간. 3. 언제든 질문 사항이 있으면 중간에 ‘코디님’ 하시면서 질문 요청 하시면 제가 답변 합니다.
  • 24. 방송국도 들려주세요. afreeca.com/crc1234 즐겨 찾기 해 놓으시면 방송할 때 알람이 갑니다. 관심 있으시면 등록하셔서 재밌는 시간 보내도 록 해요.