SlideShare a Scribd company logo
프로젝트를 어떻게 진행하지?
일단 기획서 내용을 먼저 파악하고 코어부터 만들어 보자.
Freeze 게임에서 코어는
- 플레이어의 움직임 과 적이동을 정지하는 기능.
- 디바이스 특성에서 오는 배경 및 이동 제한 구역의 View 문제.
- 많은 수의 객체를 생성 / 회수 해야 하므로 memory pool 기능구현.
- 게임플레이 시간 과 적 생성 시간(동적으로 변경)을 컨트롤.
사용할 외부 Asset 선택 후 각 코어 부분을 담당하
는 구조부터 설계.
[사용 Asset]
- 2DToolkit
- NGUI
[각 기능 별 Manager 객체 및 기본 스크립트 추가]
- 적 생성 담당 Manager
- 사운드 담당 Manager
- 시간 처리 담당 Manager
- UI처리 담당 Manager
[그외 필수 객체 생성]
- 플레이어 (TK2D)
- 이동 제한 영역 (TK2D)
- 배경 (TK2D)
- 카운트 (NGUI)
Character Controller 컴포넌트 추가.
플레이어 스크립트 추가.
[플레이어 움직임 담당 및 터치 영역에 따른 Freeze게이지 호
출, 플레이어 상태값 보유.]
- 테스트를 위한 플레이어 스피드 설정 함수
- 테스트를 위한 노멀라이즈 적용 여부 함수
- 카운트 종료 후 타임스크립트에서 호출될 함수
- 입력 처리 함수(Update 에서 호출)
- 모바일일 때 플레이어 이동 함수.
- 기타 관련 내용은 직접 스크립트에서 확인.
Itweenpath 및 tween scale 은 프로젝트 마지막에 추가한 컴
포넌트
Camera
View
Position
플레이어
이동영역
플레이어 이동영역 제한 작업
플레이어 이동 영역은 월드좌표형식으로 2dtoolkit을 사용하여 붉은색으로 카
메라 위치에 padding 영역을 약 20픽셀 정도 좌/후/하단 안쪽으로 지정.
상단의 위치의 경우 멈춤게이지 영역과 플레이어 이동 영역을 분리하는 것으로
기획자와 이야기 후 임의의 상단 영역을 붉은색으로 보이도록 처리하여 영역
설정.
이후 해당 영역에 box 충돌체를 추가하여 플레이어가 안쪽으로만 이동할 수 있
도록 함.
- 터치 영역은 Rect 두개를 생성해서 터치 시작 영역이 어느 Rect의 지점내부인지 파악하여 처리.
- Rect를 스크린에서 활용하므로 GUI 좌표계와는 다른 (0, 0) 왼쪽 아래 좌표로 계산하여 그려야함.
(이것때문에 하루를 삽질함 ㅠㅠ)
- 분리영역의 y좌표를 참고할 빈 객체
자세한 내용은 PlayerScript.cs 내용에서 직접 확인.
PlayerScript 핵심 구현 내용
Memory pool 구현
적 생성 및 회수. (원활한 테스트를 위해 적 이동을 간단하게 구현하고 객체를
프리팹화시킴)
데드존 설정.
직접 스크립트를 보면서 설명~
Time Manager 부분 구현
- 카운트 , 플레이타임을 전체적으로 컨트롤할 스크립트.
- 각 분기점마다 누적 여부를 결정해야 함.
(카운트 종료 후 플레이타임 누적, 게임 중 일시정지)
자세한 내용은 스크립트에서 확인.

More Related Content

Viewers also liked

Docspin 에셋에 대해
Docspin 에셋에 대해Docspin 에셋에 대해
Docspin 에셋에 대해
현욱 김
 
유니티와 안드로이드의 연동
유니티와  안드로이드의 연동유니티와  안드로이드의 연동
유니티와 안드로이드의 연동
현욱 김
 
유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신
현욱 김
 
PHP 와 MySQL을 이용한 게임 랭킹 구축하기
PHP 와 MySQL을 이용한 게임 랭킹 구축하기PHP 와 MySQL을 이용한 게임 랭킹 구축하기
PHP 와 MySQL을 이용한 게임 랭킹 구축하기
Yo-Chang Song
 
어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?
Lee Sangkyoon (Kay)
 
게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법
Chris Ohk
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
Lee Sangkyoon (Kay)
 

Viewers also liked (8)

마리오
마리오마리오
마리오
 
Docspin 에셋에 대해
Docspin 에셋에 대해Docspin 에셋에 대해
Docspin 에셋에 대해
 
유니티와 안드로이드의 연동
유니티와  안드로이드의 연동유니티와  안드로이드의 연동
유니티와 안드로이드의 연동
 
유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신
 
PHP 와 MySQL을 이용한 게임 랭킹 구축하기
PHP 와 MySQL을 이용한 게임 랭킹 구축하기PHP 와 MySQL을 이용한 게임 랭킹 구축하기
PHP 와 MySQL을 이용한 게임 랭킹 구축하기
 
어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?어서와 게임기획은 처음이지?
어서와 게임기획은 처음이지?
 
게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법게임 프로그래밍 기초 공부법
게임 프로그래밍 기초 공부법
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
 

Similar to 프로젝트를 어떻게 진행하지

[KGC2014] DX9에서DX11로의이행경험공유
[KGC2014] DX9에서DX11로의이행경험공유[KGC2014] DX9에서DX11로의이행경험공유
[KGC2014] DX9에서DX11로의이행경험공유
Hwan Min
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
YEONG-CHEON YOU
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shadingMinGeun Park
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
Junhee Han
 
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
Chang W. Doh
 
Gametech2015
Gametech2015Gametech2015
Gametech2015
SangYun Yi
 
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
현철 조
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
Junhee Han
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
Junhee Han
 
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
Chang W. Doh
 
Html5+js with game engine cocos2d-html5 분석 @KGC2012
Html5+js with game engine   cocos2d-html5 분석 @KGC2012Html5+js with game engine   cocos2d-html5 분석 @KGC2012
Html5+js with game engine cocos2d-html5 분석 @KGC2012
Chanho Song
 
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Esun Kim
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)
Minsu Park
 
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) 모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
YoungSu Son
 
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)Donggi Hahm
 
Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)
Gamebryo
 
모바일웹Ui개발 저자세미나 1부
모바일웹Ui개발 저자세미나 1부모바일웹Ui개발 저자세미나 1부
모바일웹Ui개발 저자세미나 1부
NAVER D2
 
Cocos2d x a to z (상)
Cocos2d x a to z (상)Cocos2d x a to z (상)
Cocos2d x a to z (상)
SeungIl Choi
 
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoLinux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Mario Cho
 

Similar to 프로젝트를 어떻게 진행하지 (20)

[KGC2014] DX9에서DX11로의이행경험공유
[KGC2014] DX9에서DX11로의이행경험공유[KGC2014] DX9에서DX11로의이행경험공유
[KGC2014] DX9에서DX11로의이행경험공유
 
나만의 엔진 개발하기
나만의 엔진 개발하기나만의 엔진 개발하기
나만의 엔진 개발하기
 
[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading[Ndc11 박민근] deferred shading
[Ndc11 박민근] deferred shading
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
 
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능인자 이해하기
 
Gametech2015
Gametech2015Gametech2015
Gametech2015
 
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
[NDC17] Unreal.js - 자바스크립트로 쉽고 빠른 UE4 개발하기
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
 
jhj port.
jhj port.jhj port.
jhj port.
 
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
프론트엔드 개발자를 위한 크롬 렌더링 성능 인자 이해하기
 
Html5+js with game engine cocos2d-html5 분석 @KGC2012
Html5+js with game engine   cocos2d-html5 분석 @KGC2012Html5+js with game engine   cocos2d-html5 분석 @KGC2012
Html5+js with game engine cocos2d-html5 분석 @KGC2012
 
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
Akka.NET 으로 만드는 온라인 게임 서버 (NDC2016)
 
Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)Ndc2013 정리(upload버전)
Ndc2013 정리(upload버전)
 
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101) 모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
 
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
[NDC2014] 직접 만들어서 즐겨보자 - Cocos2d-x3.0으로 한 시간만에 횡스크롤 슈팅게임 만들기 (함동기)
 
Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)Gamebryo LightSpeed (Korean)
Gamebryo LightSpeed (Korean)
 
모바일웹Ui개발 저자세미나 1부
모바일웹Ui개발 저자세미나 1부모바일웹Ui개발 저자세미나 1부
모바일웹Ui개발 저자세미나 1부
 
Cocos2d x a to z (상)
Cocos2d x a to z (상)Cocos2d x a to z (상)
Cocos2d x a to z (상)
 
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario ChoLinux Kernel Boot Process , SOSCON 2015, By Mario Cho
Linux Kernel Boot Process , SOSCON 2015, By Mario Cho
 

프로젝트를 어떻게 진행하지

  • 1. 프로젝트를 어떻게 진행하지? 일단 기획서 내용을 먼저 파악하고 코어부터 만들어 보자. Freeze 게임에서 코어는 - 플레이어의 움직임 과 적이동을 정지하는 기능. - 디바이스 특성에서 오는 배경 및 이동 제한 구역의 View 문제. - 많은 수의 객체를 생성 / 회수 해야 하므로 memory pool 기능구현. - 게임플레이 시간 과 적 생성 시간(동적으로 변경)을 컨트롤.
  • 2. 사용할 외부 Asset 선택 후 각 코어 부분을 담당하 는 구조부터 설계. [사용 Asset] - 2DToolkit - NGUI [각 기능 별 Manager 객체 및 기본 스크립트 추가] - 적 생성 담당 Manager - 사운드 담당 Manager - 시간 처리 담당 Manager - UI처리 담당 Manager [그외 필수 객체 생성] - 플레이어 (TK2D) - 이동 제한 영역 (TK2D) - 배경 (TK2D) - 카운트 (NGUI)
  • 3. Character Controller 컴포넌트 추가. 플레이어 스크립트 추가. [플레이어 움직임 담당 및 터치 영역에 따른 Freeze게이지 호 출, 플레이어 상태값 보유.] - 테스트를 위한 플레이어 스피드 설정 함수 - 테스트를 위한 노멀라이즈 적용 여부 함수 - 카운트 종료 후 타임스크립트에서 호출될 함수 - 입력 처리 함수(Update 에서 호출) - 모바일일 때 플레이어 이동 함수. - 기타 관련 내용은 직접 스크립트에서 확인. Itweenpath 및 tween scale 은 프로젝트 마지막에 추가한 컴 포넌트
  • 5. 플레이어 이동영역 제한 작업 플레이어 이동 영역은 월드좌표형식으로 2dtoolkit을 사용하여 붉은색으로 카 메라 위치에 padding 영역을 약 20픽셀 정도 좌/후/하단 안쪽으로 지정. 상단의 위치의 경우 멈춤게이지 영역과 플레이어 이동 영역을 분리하는 것으로 기획자와 이야기 후 임의의 상단 영역을 붉은색으로 보이도록 처리하여 영역 설정. 이후 해당 영역에 box 충돌체를 추가하여 플레이어가 안쪽으로만 이동할 수 있 도록 함.
  • 6. - 터치 영역은 Rect 두개를 생성해서 터치 시작 영역이 어느 Rect의 지점내부인지 파악하여 처리. - Rect를 스크린에서 활용하므로 GUI 좌표계와는 다른 (0, 0) 왼쪽 아래 좌표로 계산하여 그려야함. (이것때문에 하루를 삽질함 ㅠㅠ) - 분리영역의 y좌표를 참고할 빈 객체 자세한 내용은 PlayerScript.cs 내용에서 직접 확인. PlayerScript 핵심 구현 내용
  • 7. Memory pool 구현 적 생성 및 회수. (원활한 테스트를 위해 적 이동을 간단하게 구현하고 객체를 프리팹화시킴) 데드존 설정. 직접 스크립트를 보면서 설명~
  • 8. Time Manager 부분 구현 - 카운트 , 플레이타임을 전체적으로 컨트롤할 스크립트. - 각 분기점마다 누적 여부를 결정해야 함. (카운트 종료 후 플레이타임 누적, 게임 중 일시정지) 자세한 내용은 스크립트에서 확인.