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. 이것은 완성될 때 증명이 가능할 테고 현재 진행 중.
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. 언제든 질문 사항이 있으면 중간에 ‘코디님’
하시면서 질문 요청 하시면 제가 답변 합니다.