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

25
유니티로 해보는 게임 프로토타이핑 사장님이 말했어요. 롤 같은 거 하나 만들어 와바. 내일까지.

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

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

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

사장님이말했어요.

“롤같은거하나만들어와바. 내일까지.

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

부제는유머참고로부제크레딧은 gyedo님에게있습니다. :)

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

강연자소개

사파출신개발자SonoV : 샤이아

EA Canada : 피파시리즈(08~12)

CAPCOM : 비밀(500원줘도안알랴줌)

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

강연순서

1. 유니티엔진2. LOL이란?

3. 프로토타이핑의이해4. 코딩. 해. 봅시다.

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

유니티(Unity)

1. 유니티엔진은 Unity사에서만든통합형게임엔진.

2. 컴포넌트프로그래밍을지원3. C#, Java Script라는언어로게임플레이로직작성가능.

a. 물론 Boo도지원하지만모른척하자.

4. 멀티플랫폼지원a. iOS, Android, PC를포함한여러다른플랫폼들도지원

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

왜유니티?

1. 프로토타입에아주좋은게임엔진2. 발로짜기위해3. 컴포넌트프로그래밍이재밌다.

a. 왜재밌는지는어떻게코딩하는지배우다보면알게됩니다.

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

롤(lol, league of legends)

1. Riot이라는게임회사에서만든 AOS 장르의게임.

2. 오늘프로토타입을만들어볼예정.

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

왜하필롤인가?

1. 재밌기때문.

2. 만들수있으니까.

3. 행위(Behavior)의구현만으로도충분히게임플레이가가능함을증명하기위해.a. 이것은완성될때증명이가능할테고현재진행중.

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

프로토타이핑(Prototyping)

1. 프로토타입(Prototype)은한국말로 ‘원형’이라는뜻.

2. 실제제품을만들기전에시험삼아혹은특정한기술및제품의이해를위해재빠르게만들어보는것.

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

프로토타이핑의예.

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

프로토타이핑가이드라인

1. 필자가 15년넘게프로토타이핑프로그래밍을하면서적용했던방법들을목록화해보았음.

2. 가이드라인을꼭지켜야할필요는없다. 본인의프로그램제작방법론에맞는것을따르면된다.

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

1.목표설정

프로그램을제작할때어떠한용도(?)로개발할것인지명확하게인지하자.

기술데모, 기술력검증, 게임플레이검증, 소스이해등등

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

2.마음가짐

목표를설정했다면목표만을위해앞으로전진한다.

프로그램개발중간에나타나는유혹(?)들은무시하도록하자. 도저히참을수없다면노트에적어놓고이후에다른목표로삼고해결하자.

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

3.상상력을발휘해라.

박스가캐릭터라고생각하자!

물론행위(Behavior)를작성하기위해필요한비주얼적인것은그려주도록하자. 예를들어방향성이있는캐릭터를표현할때는구(Sphere)보다는박스(Box)를사용하고방향을표현하기위해무언가(?)를설정하자.

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

4. 관계를이해하자.

하나의프로그램은매우많은함수들과클래스들로이루어져있다. 함수내부에관심을가지지말고함수들, 클래스들의관계에대해관심을가지자.

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

5. 전체적인동작방식을먼저생각한다.

관계를이해하고나면이러한관계들사이에서어떠한순서로프로그램이진행되고, 원하는결과가나타나는지예측해보자.

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

6. 동작이된다고가정하고내용을채운다.

어떠한기능을만들때기능에필요한함수혹은클래스들을모두처음부터끝까지작성한후에완성하는것이아니라전체플로우를먼저작성한후내부에필요한클래스, 함수, 변수들을채워나간다.

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

7. 게임에사용되는알고리즘, 프레임워크, 도구에익숙해져라.

게임마다사용되는알고리즘, 자료구조가다르며이들은장르별로어느정도정리가되어있다.

가령 RTS게임을제작하기위해 A*, FOW, 지형분석(영향력맵), 발사체, 명령어기반의 Reply

시스템등거의필수적으로필요한기능들이존재한다. 이러한알고리즘, 자료구조, 프레임워크,

도구에익숙해져라.

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

8.과감하게생략하자.

귀찮아지면 “어차피프로토타입이니까”

라고생각하고필요할땐진지하게프로그래밍한다. 이를위해서필요한마음가짐이바로 ‘과감하게생략’이다.

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

9.리팩토링^63

물론 8번으로인해발로짠코드가나올수도있지만지속적으로코드를수정하도록하자. 좋은설계를하는가장쉬운방법은자신이발로짠코드를리팩토링하는것이다.

지속적으로코드를수정하자.

Page 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, 패턴을활용한리팩토링과같은책들을읽어보자. 알면아는만큼코드의수준이높아진다.

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

11.프로토타입의코드도재사용가능하다.

프로토타입은만들고버리라고하지만나는프로토타입을만들고그대로제품에반영한후리팩토링을통해써먹을수있는제품코드로바꾼적이많다.

프로토타입코드를무조건버릴필요는없다.

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

코딩. 해. 봅시다.

1. 너무큰기대는하지말자.a. 행위의구현에관심을둘것.

b. 유니티에서어떻게원하는기능을만드는지볼것.

c. 지금부터는마음편하게콜라한잔마시면서보시면됩니다. 그렇다고옆사람이랑너무떠들진말아주세요. :)

2. 오늘안에다못만듭니다.a. 주어진시간은 3시간.

3. 언제든질문사항이있으면중간에 ‘코디님’

하시면서질문요청하시면제가답변합니다.

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

방송국도들려주세요.

afreeca.com/crc1234

즐겨찾기해놓으시면방송할때알람이갑니다.

관심있으시면등록하셔서재밌는시간보내도록해요.

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

감사합니다.

질문 / 답변