SlideShare une entreprise Scribd logo
1  sur  120
2D RPG 개발 이론
 부제: 티뮤리티 개발 포스트 모템


 뷰와이드 인터랙티브
      전우성
티뮤리티 개발 포스트 모템
    부제: 2D RPG 개발 이론




        전우성
Who am I?
2D RPG 개발경력 5년
                  전우성
     (주)뷰와이드 인터랙티브 대표
            SW Maestro 2기
목차

 1. RPG?
       여러분에게 RPG란?


    목표정의  이렇게 만들겁니다


 2. 개념이해  타일맵 캐릭터 NPC


 3. 어떻게 만들지?         현기증 주의


 4. 결과, 그리고 그 이후              티뮤리티…
1. RPG?




          RPG
1. RPG?




  Role-Playing Game
          역할 수행 게임
1. RPG?




   여러분에게 RPG란?
1. RPG?
1. RPG?
1. RPG?




   전우성에게 RPG란?
1. RPG?



    프로그래밍의 시작,
     노가다의 시작,
     뷰와이드의 시작
1. RPG?




   Top View 2D RPG
1. RPG?




 우리가 기준으로 삼을 것
1. RPG?

          RPGXP
목표정의

 1. 타일맵으로 이루어진 맵
 2. 캐릭터를 조작
 3. NPC와 대화
 4. 몹을 공격
개념이해

 1. 타일맵
 2. 오브젝트
 3. 오브젝트 커스터마이징
 4. 부수적인 처리
2. 개념이해 - 타일맵




 타일 단위로 이루어진 맵
2. 개념이해 - 타일맵
2. 개념이해 - 타일맵
2. 개념이해 - 타일맵




      32X32 타일셋
       가로X세로
2. 개념이해 - 타일맵


                 타일셋
                 32X32 타일들
                (가로8)X(세로N)

                타일들을 조합
2. 개념이해 - 타일맵
 레이어 구조
우리가 사용할 방식



                 레이어 3

                 레이어 2
                 레이어 1
2. 개념이해 - 타일맵

타일셋 우선순위

                우선순위 > 레이어


                하지만
            지금 우리한테 필요한
             개념은 아니므로
                PASS
2. 개념이해 - 타일맵

타일셋 충돌여부

             타일셋에서 미리
            충돌여부를 지정하여
               충돌체크

            언덕 같은 경우 4방향에
            각자 다른 충돌여부로
             디테일을 줄 수 있음
2. 개념이해 - 타일맵



          오토타일



     자동으로 맞는 모양으로 배치되는 타일
2. 개념이해 - 타일맵
2. 개념이해 - 타일맵




   게임에서의 이동
= 넓은 맵 + 카메라의 이동
2. 개념이해 - 타일맵
2. 개념이해 - 타일맵
2. 개념이해 - 타일맵
2. 개념이해 – 오브젝트(캐릭터)

  오브젝트
  1. 기본오브젝트
  2. 플레이어
  3. NPC
  4. 몬스터
  5. 오브젝트 관리자
2. 개념이해 - 캐릭터



      기본오브젝트

플레이어      NPC   몬스터
2. 개념이해 - 캐릭터



      기본오브젝트

플레이어      NPC   몬스터
2. 개념이해 - 캐릭터


   기본오브젝트 = 상속될 기본 객체
  1. 공통된 정보를 가짐
  2. 공통된 기능을 가짐
2. 개념이해 - 캐릭터

모든 구조의 기초인 상속 구조




      이거 아시죠?
2. 개념이해 - 캐릭터


1. 공통된 정보
기본정보(ID, Name, …)
위치정보(X, Y, Direction, AreaRect, …)
비트맵정보(Texture, Width, Height, …)
애니메이션 정보(Frame, MaxFrame, FrameSpeed, …)
RPG캐릭터정보(HP, MP, Level, …)
부가적인 정보 …
2. 개념이해 - 캐릭터


2. 공통된 기능
오브젝트 기본(Initialize, Update, Render, …)
캐릭터 기본(Move, Action, ChatBalloon, …)
공격과 피해(Attack, Damage, SkillAttack, …)
외형 변화(FrameUpdate, ColorUpdate, …)
부가적인 기능(Getter/Setter, …)
2. 개념이해 - 캐릭터


3. 플레이어 커스터마이징
앞서 보여준 Car-Bus 상속 구조와 같은 경우
상황에 따라 여러가지 경우가 존재
예시 1) 플레이어의 Move 함수에는 Camera 의 이동을 포함
예시 2) 플레이어의 Move/Attack 함수에는 Packet 을 전송
예시 3) 플레이어의 행동에 따른 상황 전개 (NPC 행동 등)
2. 개념이해 - 캐릭터


4. NPC 커스터마이징
인공지능 처리(AI_Update, …)
대화걸기 처리(Touch, InTouchArea, …)

이 부분은 기본 오브젝트에서 얼마나 공통적으로
많이 구현하느냐에 따라서 양이 달라짐
2. 개념이해 - 캐릭터


5. 오브젝트 관리자
 오브젝트 추가/제거(AddObject, RemoveObject, …)
 오브젝트 전체 관리(Update, Render, …)
 충돌처리(CollisionCheck, MissileCheck: 발사체 충돌처리, …)
 기타 기능함수(GetNearestObject: 가장 가까운 객체, …)
어떻게 만들지?

 1. 타일맵 구현
 2. 오브젝트 구현
 3. 입력 처리
 4. 그 외 전반적인 처리
3. 어떻게 만들지? – 타일맵 구현


1. 번호에 타일맵을 위치시킴
 32*32 타일셋을 반복문을 이용하여 그려줌
3. 어떻게 만들지? – 타일맵 구현


2. 번호에 맞는 타일맵을 렌더링
 타일셋은 가로 한줄에 8개가 있으므로 8이 기준
3. 어떻게 만들지? – 타일맵 구현


3. 우선순위, 레이어에 맞게 렌더링
 1. 우선순위에 초점을 맞춤
 2. 해당 우선순위의 레이어1~3을 렌더링
3. 어떻게 만들지? – 타일맵 구현

3. 우선순위, 레이어에 맞게 렌더링
3. 어떻게 만들지? – 타일맵 구현


4. 결과
3. 어떻게 만들지? – 오브젝트 구현

1. 캐릭터의 핵심은 프레임 애니메이션
 공통된 정보, 기능 모두 결국에는 변수놀음
 Render 부분이 플레이어가 보게 되는 부분
3. 어떻게 만들지? – 오브젝트 구현


           방향(Direction) 에 따라 세로 위치를 정하고
           프레임(Frame) 에 따라 가로 위치를 정하여

           Width, Height 만큼 자른 그림을 표시
3. 어떻게 만들지? – 입력처리

1. 방향키를 입력받았을때

 GameScene 에서는   PlayerObject 에서는
3. 어떻게 만들지? – 입력처리
3. 결과
3. 어떻게 만들지? – 입력처리

2. 대화키(스페이스바)를 입력받았을때
 지금 바라보고 있는 방향의 바로 앞에
 존재하는 오브젝트를 얻어와서
 1) 그 오브젝트가 NPC일 경우
   대화 다이얼로그의 표시
 2) 그 오브젝트가 몬스터일 경우
   플레이어에 공격 모션을 취하고
   오브젝트에 피해를 입힌다
   (뻘겋게 만드는 애니메이션, 체력변수 감소)
3. 어떻게 만들지? – 입력처리

2. 대화키(스페이스바)를 입력받았을때



 1) 그 오브젝트가 NPC일 경우
   대화 다이얼로그의 표시
 2) 그 오브젝트가 몬스터일 경우
   플레이어에 공격 모션을 취하고
   오브젝트에 피해를 입힌다
   (뻘겋게 만드는 애니메이션, 체력변수 감소)
3. 어떻게 만들지? – 입력처리

2. 대화키(스페이스바)를 입력받았을때




 2) 그 오브젝트가 몬스터일 경우
   플레이어에 공격 모션을 취하고
   오브젝트에 피해를 입힌다
   (뻘겋게 만드는 애니메이션, 체력변수 감소)
3. 어떻게 만들지? – 입력처리

2. 대화키(스페이스바)를 입력받았을때
3. 어떻게 만들지? – 입력처리

2. 대화키(스페이스바)를 입력받았을때
3. 어떻게 만들지? – 입력처리

3. 결과
3. 어떻게 만들지? – 입력처리

3. 결과




            47
3. 어떻게 만들지? – 그 외 여러가지 처리

데이터 관리
1. XML 을 적극적으로 활용
C++ - tinyxml / Java – XmlPullParser / …
2. 리소스 관리
직접 FilePacker Library 제작
3. 어떻게 만들지? – 그 외 여러가지 처리




 4년전 개발한 티뮤리티 온라인의
 실제 XML 데이터를 예시로 설명
  (= 좋은 예시라고는 할 수 없다)
3. 어떻게 만들지? – 그 외 여러가지 처리
XML-1. 맵 정보
3. 어떻게 만들지? – 그 외 여러가지 처리
XML-2. NPC 정의
3. 어떻게 만들지? – 그 외 여러가지 처리
XML-3. 아이템 정의
3. 어떻게 만들지? – 그 외 여러가지 처리
XML-4. 레벨업 경험치 관리
3. 어떻게 만들지? – 그 외 여러가지 처리
XML-5. 상점 판매 아이템
3. 어떻게 만들지? – 그 외 여러가지 처리
XML-6. 직업 관리
3. 어떻게 만들지? – 그 외 여러가지 처리

FilePacker 를 이용한 파일 패킹
; 한 파일에 여러 리소스를 묶고, 암호화!
3. 어떻게 만들지? – 그 외 여러가지 처리
FilePacker
기본적인 파일입출력을 이용,
바이너리 위에 바이너리를 계속 쌓음

ZIP 파일과 비슷한 압축파일,
Key 를 이용한 암호화 (Ex: Zlib)
그리고 그 이후

 1. 툴
 2. 티뮤리티 온라인
 3. 컨텐츠의 중요성
1. 툴 - 맵에디터
1. 툴 – NPC 다이얼로그 테스트
1. 툴 – 아바타 에디터
1. 툴 – 아바타 에디터
1. 툴 – 이펙트 에디터
2. 티뮤리티 온라인




    티뮤리티 온라인
    개발 포스트 모템
2. 티뮤리티 온라인




 티뮤리티 개발 과정을 통한
 개념 응용의 연장선 소개
카페를 만들고, 유저들과 소통하며 개발해온
 네번째 온라인 게임 ‘티뮤리티 온라인’
2,000 명이 넘는 유저의 ‘티뮤리티 온라인’
      그 개발 과정을 공개합니다
#1 캐릭터, NPC, 타일맵, 말풍선 구현
2009. 11. 16
#2 인벤토리, 몬스터 구현
2009. 11. 19
#3 NPC 대화 다이얼로그 구현
2009. 11. 23
#4 맵 모듈 개발 및 I/O 시스템 적용
2009. 11. 26
#5 서버 연동, 상점 구현
2009. 12. 05
#6 시스템 메세지 UI 개선
2009. 12. 20
#7 스텟 시스템, 스킬창 UI 구현, 사냥터 추가
2009. 12. 31
#8 죽음 처리, 펫 시스템 추가
2010. 01. 05
#9 외부 툴로 제작한 맵 변환 모듈 제작
2010. 01. 09
#10 파티 시스템, 장비 시스템 구현
2010. 01. 16
#11 새로운 UI 적용, 업데이트 런처 개발
2010. 01. 22
#12 미니맵 구현, UI 대 개편
2010. 02. 01
#13 신전 추가, 생명의 샘 추가
2010. 02. 22
#14 당시 개발진 스샷 및 대련장(PVP) 추가
2010. 03. 05




               최경윤

                           이상혁
                     전우성
#15 우클릭 메뉴, 교환 시스템 구현
2010. 04. 01
#16 인터페이스 추가 개편
2010. 05. 05
#17 죽음 처리 개편, 보스몹 시스템 구현
2010. 05. 16
#18 홈페이지 준비 및 말풍선 강화
2010. 06. 12
#19 맵 이동시 이름 표시
2010. 06. 21
#20 맵 다수 추가
2010. 07. 03
여러차례 진행되었던 테스트들,
그리고 유저들이 직접 올린 스크린샷
#1 팀 내 초청 알파테스트
2010. 01.
#2 추첨제로 진행된 CBT
2010. 02.
#3 CBT 이후 유저들이 게시판에 올린 스샷
2010. 03.
#4 티뮤리티 OBT 이후 유저 스크린샷
2010. 07 ~
#5 그리고 서비스 종료 직전
2011. 02.
3. 소감




 RPG 의 틀을 구성하는건 쉽지만
정작 게임의 여부를 결정짓는건 컨텐츠
3. 소감
3. 소감
3. 소감
3. 소감
감사합니다 ;)

    전우성
ceo@viewide.kr

Contenu connexe

Tendances

[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정강 민우
 
위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점Ryan Park
 
쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다Jinho Jung
 
엄재민 Nhn과제 신규 게임 컨셉 제안서
엄재민 Nhn과제 신규 게임 컨셉 제안서엄재민 Nhn과제 신규 게임 컨셉 제안서
엄재민 Nhn과제 신규 게임 컨셉 제안서재민 엄
 
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답PandoraCube , Sejong University
 
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)Kay Kim
 
게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #3 간접통제와 게임 커뮤니티게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #3 간접통제와 게임 커뮤니티Seungmo Koo
 
게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스Seungmo Koo
 
기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까Han Je Sung
 
재미이론의 시사점과 게임 플레이 개선에 적용방안
재미이론의 시사점과 게임 플레이 개선에 적용방안재미이론의 시사점과 게임 플레이 개선에 적용방안
재미이론의 시사점과 게임 플레이 개선에 적용방안Sunnyrider
 
NDC 2018 레벨 디자인 튜토리얼 Level Design Tutorial
NDC 2018 레벨 디자인 튜토리얼 Level Design TutorialNDC 2018 레벨 디자인 튜토리얼 Level Design Tutorial
NDC 2018 레벨 디자인 튜토리얼 Level Design Tutorial용태 이
 
게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱Seungmo Koo
 
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나Lee Sangkyoon (Kay)
 
게임 기획자의 생존 전략
게임 기획자의 생존 전략게임 기획자의 생존 전략
게임 기획자의 생존 전략태성 이
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법Lee Sangkyoon (Kay)
 
Part3. 아이디어를 게임기획으로 발전시키기
Part3. 아이디어를 게임기획으로 발전시키기Part3. 아이디어를 게임기획으로 발전시키기
Part3. 아이디어를 게임기획으로 발전시키기태성 이
 
The Art of Game Design 도서 요약 - Part 1 (원론편) : 디자이너는 경험을 만들어 낸다
The Art of Game Design 도서 요약 - Part 1 (원론편) : 디자이너는 경험을 만들어 낸다The Art of Game Design 도서 요약 - Part 1 (원론편) : 디자이너는 경험을 만들어 낸다
The Art of Game Design 도서 요약 - Part 1 (원론편) : 디자이너는 경험을 만들어 낸다Harns (Nak-Hyoung) Kim
 
액션 게임 디자인
액션 게임 디자인액션 게임 디자인
액션 게임 디자인ByungChun2
 
The Art of Game Design 도서 요약 - Part 2 (기법편) : 메커니즘, 이야기, 미적 요소
The Art of Game Design 도서 요약 - Part 2 (기법편) : 메커니즘, 이야기, 미적 요소The Art of Game Design 도서 요약 - Part 2 (기법편) : 메커니즘, 이야기, 미적 요소
The Art of Game Design 도서 요약 - Part 2 (기법편) : 메커니즘, 이야기, 미적 요소Harns (Nak-Hyoung) Kim
 
[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ
[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ
[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇKieun Jang
 

Tendances (20)

[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
[IGC 2017] 넥슨코리아 심재근 - 시스템 기획자에 대한 기본 지식과 준비과정
 
위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점위대한 게임개발팀의 공통점
위대한 게임개발팀의 공통점
 
쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다
 
엄재민 Nhn과제 신규 게임 컨셉 제안서
엄재민 Nhn과제 신규 게임 컨셉 제안서엄재민 Nhn과제 신규 게임 컨셉 제안서
엄재민 Nhn과제 신규 게임 컨셉 제안서
 
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
[PandoraCube] 게임 기획자 면접 시 가장 많이 하는 질문들과 나의 답
 
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
 
게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #3 간접통제와 게임 커뮤니티게임제작개론: #3 간접통제와 게임 커뮤니티
게임제작개론: #3 간접통제와 게임 커뮤니티
 
게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스게임제작개론 : #8 게임 제작 프로세스
게임제작개론 : #8 게임 제작 프로세스
 
기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까기획자의 포트폴리오는 어떻게 써야 할까
기획자의 포트폴리오는 어떻게 써야 할까
 
재미이론의 시사점과 게임 플레이 개선에 적용방안
재미이론의 시사점과 게임 플레이 개선에 적용방안재미이론의 시사점과 게임 플레이 개선에 적용방안
재미이론의 시사점과 게임 플레이 개선에 적용방안
 
NDC 2018 레벨 디자인 튜토리얼 Level Design Tutorial
NDC 2018 레벨 디자인 튜토리얼 Level Design TutorialNDC 2018 레벨 디자인 튜토리얼 Level Design Tutorial
NDC 2018 레벨 디자인 튜토리얼 Level Design Tutorial
 
게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱게임제작개론 : #4 게임 밸런싱
게임제작개론 : #4 게임 밸런싱
 
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
스토리텔링과 비주얼 내러티브: 놀 치프틴은 어떻게 형님이 되었나
 
게임 기획자의 생존 전략
게임 기획자의 생존 전략게임 기획자의 생존 전략
게임 기획자의 생존 전략
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
 
Part3. 아이디어를 게임기획으로 발전시키기
Part3. 아이디어를 게임기획으로 발전시키기Part3. 아이디어를 게임기획으로 발전시키기
Part3. 아이디어를 게임기획으로 발전시키기
 
The Art of Game Design 도서 요약 - Part 1 (원론편) : 디자이너는 경험을 만들어 낸다
The Art of Game Design 도서 요약 - Part 1 (원론편) : 디자이너는 경험을 만들어 낸다The Art of Game Design 도서 요약 - Part 1 (원론편) : 디자이너는 경험을 만들어 낸다
The Art of Game Design 도서 요약 - Part 1 (원론편) : 디자이너는 경험을 만들어 낸다
 
액션 게임 디자인
액션 게임 디자인액션 게임 디자인
액션 게임 디자인
 
The Art of Game Design 도서 요약 - Part 2 (기법편) : 메커니즘, 이야기, 미적 요소
The Art of Game Design 도서 요약 - Part 2 (기법편) : 메커니즘, 이야기, 미적 요소The Art of Game Design 도서 요약 - Part 2 (기법편) : 메커니즘, 이야기, 미적 요소
The Art of Game Design 도서 요약 - Part 2 (기법편) : 메커니즘, 이야기, 미적 요소
 
[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ
[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ
[NDC2019] 전소현&장기은 - 시나리오 기획자는 대사만 잘쓰면 되는 거 아닌가요? ㅇㅅㅇ
 

En vedette

개발자 혼자서 RPG 게임 만들기
개발자 혼자서 RPG 게임 만들기개발자 혼자서 RPG 게임 만들기
개발자 혼자서 RPG 게임 만들기NGMaking
 
도톰치게임즈 1인개발
도톰치게임즈 1인개발도톰치게임즈 1인개발
도톰치게임즈 1인개발Seok Kyu Chang
 
Construct 2를 이용한 2시간 만에 스마트폰 게임만들기
Construct 2를 이용한 2시간 만에 스마트폰 게임만들기Construct 2를 이용한 2시간 만에 스마트폰 게임만들기
Construct 2를 이용한 2시간 만에 스마트폰 게임만들기NGMaking
 
[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리KyeongWon Koo
 
Bitmap 해상도와 작성 및 적용
Bitmap 해상도와 작성 및 적용Bitmap 해상도와 작성 및 적용
Bitmap 해상도와 작성 및 적용mosaicnet
 
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012devCAT Studio, NEXON
 
NDC12 인디게임 개발 시 주의할 점
NDC12 인디게임 개발 시 주의할 점NDC12 인디게임 개발 시 주의할 점
NDC12 인디게임 개발 시 주의할 점Mingu Heo
 
내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오KwangSam Kim
 
인디 게임을 개발하는 여러 가지 방법들
인디 게임을 개발하는 여러 가지 방법들인디 게임을 개발하는 여러 가지 방법들
인디 게임을 개발하는 여러 가지 방법들springgames
 
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback흥배 최
 
게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법Chris Ohk
 
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정진현 조
 
Unity cookbook 14
Unity cookbook 14Unity cookbook 14
Unity cookbook 14Jihun Soh
 
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터][NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]SeungWon Lee
 
디지털콘텐츠 박종련
디지털콘텐츠 박종련디지털콘텐츠 박종련
디지털콘텐츠 박종련PARKJR
 
Hundred dungeon
Hundred dungeonHundred dungeon
Hundred dungeonsketchout
 
게임 분석 과제 내생에 가장 영향을 끼친 게임
게임 분석 과제   내생에 가장 영향을 끼친 게임게임 분석 과제   내생에 가장 영향을 끼친 게임
게임 분석 과제 내생에 가장 영향을 끼친 게임Hathume Hosihiro
 
2 111009035503-phpapp01
2 111009035503-phpapp012 111009035503-phpapp01
2 111009035503-phpapp01상준 이
 

En vedette (20)

개발자 혼자서 RPG 게임 만들기
개발자 혼자서 RPG 게임 만들기개발자 혼자서 RPG 게임 만들기
개발자 혼자서 RPG 게임 만들기
 
도톰치게임즈 1인개발
도톰치게임즈 1인개발도톰치게임즈 1인개발
도톰치게임즈 1인개발
 
Construct 2를 이용한 2시간 만에 스마트폰 게임만들기
Construct 2를 이용한 2시간 만에 스마트폰 게임만들기Construct 2를 이용한 2시간 만에 스마트폰 게임만들기
Construct 2를 이용한 2시간 만에 스마트폰 게임만들기
 
[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리[0122 구경원]게임에서의 충돌처리
[0122 구경원]게임에서의 충돌처리
 
Bitmap 해상도와 작성 및 적용
Bitmap 해상도와 작성 및 적용Bitmap 해상도와 작성 및 적용
Bitmap 해상도와 작성 및 적용
 
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
조정훈, 게임 프로그래머를 위한 클래스 설계, NDC2012
 
NDC12 인디게임 개발 시 주의할 점
NDC12 인디게임 개발 시 주의할 점NDC12 인디게임 개발 시 주의할 점
NDC12 인디게임 개발 시 주의할 점
 
내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오내 손에 픽셀을 쥐어다오
내 손에 픽셀을 쥐어다오
 
인디 게임을 개발하는 여러 가지 방법들
인디 게임을 개발하는 여러 가지 방법들인디 게임을 개발하는 여러 가지 방법들
인디 게임을 개발하는 여러 가지 방법들
 
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
잘 알려지지 않은 숨은 진주, Winsock API - WSAPoll, Fast Loopback
 
게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법
 
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
[Gpg1권 조진현] 4.6 다해상도 맵을 이용한 충돌 판정
 
Unity cookbook 14
Unity cookbook 14Unity cookbook 14
Unity cookbook 14
 
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터][NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
 
디지털콘텐츠 박종련
디지털콘텐츠 박종련디지털콘텐츠 박종련
디지털콘텐츠 박종련
 
11
1111
11
 
Hundred dungeon
Hundred dungeonHundred dungeon
Hundred dungeon
 
게임 분석 과제 내생에 가장 영향을 끼친 게임
게임 분석 과제   내생에 가장 영향을 끼친 게임게임 분석 과제   내생에 가장 영향을 끼친 게임
게임 분석 과제 내생에 가장 영향을 끼친 게임
 
게임 분석
게임 분석게임 분석
게임 분석
 
2 111009035503-phpapp01
2 111009035503-phpapp012 111009035503-phpapp01
2 111009035503-phpapp01
 

Similaire à 2D RPG 개발 이론 + 티뮤리티 개발 포스트모템

Port polio게임 소개
Port polio게임 소개Port polio게임 소개
Port polio게임 소개Seo YoungHoon
 
Port polio게임소개
Port polio게임소개Port polio게임소개
Port polio게임소개Seo YoungHoon
 
Aug 17th, 2023: Case Studies - Examining Gamification through Virtual/Augment...
Aug 17th, 2023: Case Studies - Examining Gamification through Virtual/Augment...Aug 17th, 2023: Case Studies - Examining Gamification through Virtual/Augment...
Aug 17th, 2023: Case Studies - Examining Gamification through Virtual/Augment...ssuser4b1f48
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현YEONG-CHEON YOU
 
Unity 3d study #2
Unity 3d study #2Unity 3d study #2
Unity 3d study #2Hyunwoo Kim
 
2 D게임 프로그래밍 발표 자료
2 D게임 프로그래밍 발표 자료2 D게임 프로그래밍 발표 자료
2 D게임 프로그래밍 발표 자료Lee Jungmin
 
Myosotis(forgot me not) ver2 0609
Myosotis(forgot me not) ver2 0609Myosotis(forgot me not) ver2 0609
Myosotis(forgot me not) ver2 0609uhreungdu
 
Gunshooting level design_1_1.00
Gunshooting level design_1_1.00Gunshooting level design_1_1.00
Gunshooting level design_1_1.00Ray Park
 
시간의 마녀(3 d)
시간의 마녀(3 d)시간의 마녀(3 d)
시간의 마녀(3 d)임 건호
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Minsu Park
 
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰승민 백
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013devCAT Studio, NEXON
 
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발MinGeun Park
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기YEONG-CHEON YOU
 
NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서
NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서
NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서영준 박
 
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅DongMin Choi
 
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기Chris Ohk
 
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화Jaeseung Ha
 
에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안Lee Jungpyo
 

Similaire à 2D RPG 개발 이론 + 티뮤리티 개발 포스트모템 (20)

Port polio게임 소개
Port polio게임 소개Port polio게임 소개
Port polio게임 소개
 
Port polio게임소개
Port polio게임소개Port polio게임소개
Port polio게임소개
 
Aug 17th, 2023: Case Studies - Examining Gamification through Virtual/Augment...
Aug 17th, 2023: Case Studies - Examining Gamification through Virtual/Augment...Aug 17th, 2023: Case Studies - Examining Gamification through Virtual/Augment...
Aug 17th, 2023: Case Studies - Examining Gamification through Virtual/Augment...
 
MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현MMOG Server-Side 충돌 및 이동처리 설계와 구현
MMOG Server-Side 충돌 및 이동처리 설계와 구현
 
Unity 3d study #2
Unity 3d study #2Unity 3d study #2
Unity 3d study #2
 
Game Play System
Game Play SystemGame Play System
Game Play System
 
2 D게임 프로그래밍 발표 자료
2 D게임 프로그래밍 발표 자료2 D게임 프로그래밍 발표 자료
2 D게임 프로그래밍 발표 자료
 
Myosotis(forgot me not) ver2 0609
Myosotis(forgot me not) ver2 0609Myosotis(forgot me not) ver2 0609
Myosotis(forgot me not) ver2 0609
 
Gunshooting level design_1_1.00
Gunshooting level design_1_1.00Gunshooting level design_1_1.00
Gunshooting level design_1_1.00
 
시간의 마녀(3 d)
시간의 마녀(3 d)시간의 마녀(3 d)
시간의 마녀(3 d)
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)
 
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
[NDC_16] 캐릭터 한 달에 하나씩 업데이트 하기 : '최강의 군단' 스킬 개발 툴 포스트 모템과 차기작 '건파이트 맨션' 툴 프리뷰
 
임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013임태현, 게임 서버 디자인 가이드, NDC2013
임태현, 게임 서버 디자인 가이드, NDC2013
 
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
[스마트벤처 창업학교] 스타트업 프로젝트를 위한 유니티 게임 개발
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서
NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서
NDC 2014 Beyond Code: <야생의 땅:듀랑고>의 좌충우돌 개발 과정 - 프로그래머가 챙겨주는 또 다른 개발자 사용 설명서
 
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅
 
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
GDG Gwangju DevFest 2019 - <하스스톤> 강화학습 환경 개발기
 
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화
[NDC 2014] 던전앤파이터 클라이언트 로딩 최적화
 
에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안에코노베이션 3차 세미나 교안
에코노베이션 3차 세미나 교안
 

2D RPG 개발 이론 + 티뮤리티 개발 포스트모템

  • 1. 2D RPG 개발 이론 부제: 티뮤리티 개발 포스트 모템 뷰와이드 인터랙티브 전우성
  • 2. 티뮤리티 개발 포스트 모템 부제: 2D RPG 개발 이론 전우성
  • 3. Who am I? 2D RPG 개발경력 5년 전우성 (주)뷰와이드 인터랙티브 대표 SW Maestro 2기
  • 4. 목차 1. RPG? 여러분에게 RPG란? 목표정의 이렇게 만들겁니다 2. 개념이해 타일맵 캐릭터 NPC 3. 어떻게 만들지? 현기증 주의 4. 결과, 그리고 그 이후 티뮤리티…
  • 5. 1. RPG? RPG
  • 6. 1. RPG? Role-Playing Game 역할 수행 게임
  • 7. 1. RPG? 여러분에게 RPG란?
  • 10. 1. RPG? 전우성에게 RPG란?
  • 11. 1. RPG? 프로그래밍의 시작, 노가다의 시작, 뷰와이드의 시작
  • 12. 1. RPG? Top View 2D RPG
  • 13. 1. RPG? 우리가 기준으로 삼을 것
  • 14. 1. RPG? RPGXP
  • 15. 목표정의 1. 타일맵으로 이루어진 맵 2. 캐릭터를 조작 3. NPC와 대화 4. 몹을 공격
  • 16. 개념이해 1. 타일맵 2. 오브젝트 3. 오브젝트 커스터마이징 4. 부수적인 처리
  • 17. 2. 개념이해 - 타일맵 타일 단위로 이루어진 맵
  • 18. 2. 개념이해 - 타일맵
  • 19. 2. 개념이해 - 타일맵
  • 20. 2. 개념이해 - 타일맵 32X32 타일셋 가로X세로
  • 21. 2. 개념이해 - 타일맵 타일셋 32X32 타일들 (가로8)X(세로N) 타일들을 조합
  • 22. 2. 개념이해 - 타일맵 레이어 구조 우리가 사용할 방식 레이어 3 레이어 2 레이어 1
  • 23. 2. 개념이해 - 타일맵 타일셋 우선순위 우선순위 > 레이어 하지만 지금 우리한테 필요한 개념은 아니므로 PASS
  • 24. 2. 개념이해 - 타일맵 타일셋 충돌여부 타일셋에서 미리 충돌여부를 지정하여 충돌체크 언덕 같은 경우 4방향에 각자 다른 충돌여부로 디테일을 줄 수 있음
  • 25. 2. 개념이해 - 타일맵 오토타일 자동으로 맞는 모양으로 배치되는 타일
  • 26. 2. 개념이해 - 타일맵
  • 27. 2. 개념이해 - 타일맵 게임에서의 이동 = 넓은 맵 + 카메라의 이동
  • 28. 2. 개념이해 - 타일맵
  • 29. 2. 개념이해 - 타일맵
  • 30. 2. 개념이해 - 타일맵
  • 31. 2. 개념이해 – 오브젝트(캐릭터) 오브젝트 1. 기본오브젝트 2. 플레이어 3. NPC 4. 몬스터 5. 오브젝트 관리자
  • 32. 2. 개념이해 - 캐릭터 기본오브젝트 플레이어 NPC 몬스터
  • 33. 2. 개념이해 - 캐릭터 기본오브젝트 플레이어 NPC 몬스터
  • 34. 2. 개념이해 - 캐릭터 기본오브젝트 = 상속될 기본 객체 1. 공통된 정보를 가짐 2. 공통된 기능을 가짐
  • 35. 2. 개념이해 - 캐릭터 모든 구조의 기초인 상속 구조 이거 아시죠?
  • 36. 2. 개념이해 - 캐릭터 1. 공통된 정보 기본정보(ID, Name, …) 위치정보(X, Y, Direction, AreaRect, …) 비트맵정보(Texture, Width, Height, …) 애니메이션 정보(Frame, MaxFrame, FrameSpeed, …) RPG캐릭터정보(HP, MP, Level, …) 부가적인 정보 …
  • 37. 2. 개념이해 - 캐릭터 2. 공통된 기능 오브젝트 기본(Initialize, Update, Render, …) 캐릭터 기본(Move, Action, ChatBalloon, …) 공격과 피해(Attack, Damage, SkillAttack, …) 외형 변화(FrameUpdate, ColorUpdate, …) 부가적인 기능(Getter/Setter, …)
  • 38. 2. 개념이해 - 캐릭터 3. 플레이어 커스터마이징 앞서 보여준 Car-Bus 상속 구조와 같은 경우 상황에 따라 여러가지 경우가 존재 예시 1) 플레이어의 Move 함수에는 Camera 의 이동을 포함 예시 2) 플레이어의 Move/Attack 함수에는 Packet 을 전송 예시 3) 플레이어의 행동에 따른 상황 전개 (NPC 행동 등)
  • 39. 2. 개념이해 - 캐릭터 4. NPC 커스터마이징 인공지능 처리(AI_Update, …) 대화걸기 처리(Touch, InTouchArea, …) 이 부분은 기본 오브젝트에서 얼마나 공통적으로 많이 구현하느냐에 따라서 양이 달라짐
  • 40. 2. 개념이해 - 캐릭터 5. 오브젝트 관리자 오브젝트 추가/제거(AddObject, RemoveObject, …) 오브젝트 전체 관리(Update, Render, …) 충돌처리(CollisionCheck, MissileCheck: 발사체 충돌처리, …) 기타 기능함수(GetNearestObject: 가장 가까운 객체, …)
  • 41. 어떻게 만들지? 1. 타일맵 구현 2. 오브젝트 구현 3. 입력 처리 4. 그 외 전반적인 처리
  • 42. 3. 어떻게 만들지? – 타일맵 구현 1. 번호에 타일맵을 위치시킴 32*32 타일셋을 반복문을 이용하여 그려줌
  • 43. 3. 어떻게 만들지? – 타일맵 구현 2. 번호에 맞는 타일맵을 렌더링 타일셋은 가로 한줄에 8개가 있으므로 8이 기준
  • 44. 3. 어떻게 만들지? – 타일맵 구현 3. 우선순위, 레이어에 맞게 렌더링 1. 우선순위에 초점을 맞춤 2. 해당 우선순위의 레이어1~3을 렌더링
  • 45. 3. 어떻게 만들지? – 타일맵 구현 3. 우선순위, 레이어에 맞게 렌더링
  • 46. 3. 어떻게 만들지? – 타일맵 구현 4. 결과
  • 47. 3. 어떻게 만들지? – 오브젝트 구현 1. 캐릭터의 핵심은 프레임 애니메이션 공통된 정보, 기능 모두 결국에는 변수놀음 Render 부분이 플레이어가 보게 되는 부분
  • 48. 3. 어떻게 만들지? – 오브젝트 구현 방향(Direction) 에 따라 세로 위치를 정하고 프레임(Frame) 에 따라 가로 위치를 정하여 Width, Height 만큼 자른 그림을 표시
  • 49. 3. 어떻게 만들지? – 입력처리 1. 방향키를 입력받았을때 GameScene 에서는 PlayerObject 에서는
  • 50. 3. 어떻게 만들지? – 입력처리 3. 결과
  • 51. 3. 어떻게 만들지? – 입력처리 2. 대화키(스페이스바)를 입력받았을때 지금 바라보고 있는 방향의 바로 앞에 존재하는 오브젝트를 얻어와서 1) 그 오브젝트가 NPC일 경우 대화 다이얼로그의 표시 2) 그 오브젝트가 몬스터일 경우 플레이어에 공격 모션을 취하고 오브젝트에 피해를 입힌다 (뻘겋게 만드는 애니메이션, 체력변수 감소)
  • 52. 3. 어떻게 만들지? – 입력처리 2. 대화키(스페이스바)를 입력받았을때 1) 그 오브젝트가 NPC일 경우 대화 다이얼로그의 표시 2) 그 오브젝트가 몬스터일 경우 플레이어에 공격 모션을 취하고 오브젝트에 피해를 입힌다 (뻘겋게 만드는 애니메이션, 체력변수 감소)
  • 53. 3. 어떻게 만들지? – 입력처리 2. 대화키(스페이스바)를 입력받았을때 2) 그 오브젝트가 몬스터일 경우 플레이어에 공격 모션을 취하고 오브젝트에 피해를 입힌다 (뻘겋게 만드는 애니메이션, 체력변수 감소)
  • 54. 3. 어떻게 만들지? – 입력처리 2. 대화키(스페이스바)를 입력받았을때
  • 55. 3. 어떻게 만들지? – 입력처리 2. 대화키(스페이스바)를 입력받았을때
  • 56. 3. 어떻게 만들지? – 입력처리 3. 결과
  • 57. 3. 어떻게 만들지? – 입력처리 3. 결과 47
  • 58. 3. 어떻게 만들지? – 그 외 여러가지 처리 데이터 관리 1. XML 을 적극적으로 활용 C++ - tinyxml / Java – XmlPullParser / … 2. 리소스 관리 직접 FilePacker Library 제작
  • 59. 3. 어떻게 만들지? – 그 외 여러가지 처리 4년전 개발한 티뮤리티 온라인의 실제 XML 데이터를 예시로 설명 (= 좋은 예시라고는 할 수 없다)
  • 60. 3. 어떻게 만들지? – 그 외 여러가지 처리 XML-1. 맵 정보
  • 61. 3. 어떻게 만들지? – 그 외 여러가지 처리 XML-2. NPC 정의
  • 62. 3. 어떻게 만들지? – 그 외 여러가지 처리 XML-3. 아이템 정의
  • 63. 3. 어떻게 만들지? – 그 외 여러가지 처리 XML-4. 레벨업 경험치 관리
  • 64. 3. 어떻게 만들지? – 그 외 여러가지 처리 XML-5. 상점 판매 아이템
  • 65. 3. 어떻게 만들지? – 그 외 여러가지 처리 XML-6. 직업 관리
  • 66. 3. 어떻게 만들지? – 그 외 여러가지 처리 FilePacker 를 이용한 파일 패킹 ; 한 파일에 여러 리소스를 묶고, 암호화!
  • 67. 3. 어떻게 만들지? – 그 외 여러가지 처리 FilePacker 기본적인 파일입출력을 이용, 바이너리 위에 바이너리를 계속 쌓음 ZIP 파일과 비슷한 압축파일, Key 를 이용한 암호화 (Ex: Zlib)
  • 68. 그리고 그 이후 1. 툴 2. 티뮤리티 온라인 3. 컨텐츠의 중요성
  • 69. 1. 툴 - 맵에디터
  • 70. 1. 툴 – NPC 다이얼로그 테스트
  • 71. 1. 툴 – 아바타 에디터
  • 72. 1. 툴 – 아바타 에디터
  • 73. 1. 툴 – 이펙트 에디터
  • 74. 2. 티뮤리티 온라인 티뮤리티 온라인 개발 포스트 모템
  • 75. 2. 티뮤리티 온라인 티뮤리티 개발 과정을 통한 개념 응용의 연장선 소개
  • 76.
  • 77. 카페를 만들고, 유저들과 소통하며 개발해온 네번째 온라인 게임 ‘티뮤리티 온라인’
  • 78. 2,000 명이 넘는 유저의 ‘티뮤리티 온라인’ 그 개발 과정을 공개합니다
  • 79. #1 캐릭터, NPC, 타일맵, 말풍선 구현 2009. 11. 16
  • 80. #2 인벤토리, 몬스터 구현 2009. 11. 19
  • 81. #3 NPC 대화 다이얼로그 구현 2009. 11. 23
  • 82. #4 맵 모듈 개발 및 I/O 시스템 적용 2009. 11. 26
  • 83. #5 서버 연동, 상점 구현 2009. 12. 05
  • 84. #6 시스템 메세지 UI 개선 2009. 12. 20
  • 85. #7 스텟 시스템, 스킬창 UI 구현, 사냥터 추가 2009. 12. 31
  • 86. #8 죽음 처리, 펫 시스템 추가 2010. 01. 05
  • 87. #9 외부 툴로 제작한 맵 변환 모듈 제작 2010. 01. 09
  • 88. #10 파티 시스템, 장비 시스템 구현 2010. 01. 16
  • 89. #11 새로운 UI 적용, 업데이트 런처 개발 2010. 01. 22
  • 90. #12 미니맵 구현, UI 대 개편 2010. 02. 01
  • 91. #13 신전 추가, 생명의 샘 추가 2010. 02. 22
  • 92. #14 당시 개발진 스샷 및 대련장(PVP) 추가 2010. 03. 05 최경윤 이상혁 전우성
  • 93. #15 우클릭 메뉴, 교환 시스템 구현 2010. 04. 01
  • 94. #16 인터페이스 추가 개편 2010. 05. 05
  • 95. #17 죽음 처리 개편, 보스몹 시스템 구현 2010. 05. 16
  • 96. #18 홈페이지 준비 및 말풍선 강화 2010. 06. 12
  • 97. #19 맵 이동시 이름 표시 2010. 06. 21
  • 98. #20 맵 다수 추가 2010. 07. 03
  • 99. 여러차례 진행되었던 테스트들, 그리고 유저들이 직접 올린 스크린샷
  • 100. #1 팀 내 초청 알파테스트 2010. 01.
  • 101. #2 추첨제로 진행된 CBT 2010. 02.
  • 102. #3 CBT 이후 유저들이 게시판에 올린 스샷 2010. 03.
  • 103. #4 티뮤리티 OBT 이후 유저 스크린샷 2010. 07 ~
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112. #5 그리고 서비스 종료 직전 2011. 02.
  • 113. 3. 소감 RPG 의 틀을 구성하는건 쉽지만 정작 게임의 여부를 결정짓는건 컨텐츠
  • 118.
  • 119.
  • 120. 감사합니다 ;) 전우성 ceo@viewide.kr