20. 구현 기술 소개 : Scene 구조
- 로고 표출
- 서비스 초기화
- 서버 연결
- 플레이어 데이터
초기화
- 오디오 매니저
Title
- 캐릭터 선택
- 상점 서비스
- 퀘스트 시스템
- 아이템 관리
- 스테이지 선택
- 게임 플레이
Game SceneTown
구철회
21. 구현 기술 소개 : 캐릭터 행동
구철회
BaseCharacter Controller
PlayerController EnemyController
- 기본 적인 행동 구현
- 기본 물리 처리 : 달리기, 바닥 판정
- 플레이어의 행동 구현 : 점프, 스킬, 공격
- 체력, 이동속도, 공격력 세팅
- 적 캐릭터 행동 구현 : 대기, 이동
- 체력, 공격력 세팅
상속
22. 구현 기술 소개 : 스킬 구현
구철회
Character
GameObject
- 캐릭터 게임 오브젝트에 스킬 매니저 스크립트 컴포넌트를 붙임
- 스킬 매니저 스크립트는 맴버로 스킬과 피버스킬을 하나씩 장착 할 수 있도록 함
- 여러 개의 스킬/피버스킬 프리팹을 만들고 그 중 캐릭터에 맞는 스킬을 장착시킴
SkillManager
SkillPrefab
FeverSkillPrefa
b
SkillPrefab
SkillPrefab
SkillPrefab
FeverSkillPrefa
b
FeverSkillPrefa
b
FeverSkillPrefa
b
23. 구현 기술 소개 : 스킬 구현
구철회
- 스킬들은 abstract class인 SkillBehaviour를 상속받아 구현한다.
SkillBehaviour
SkillPrefab
SkillPrefab
SkillPrefab
SkillPrefab
상
속
24. 구현 기술 소개 : 바닥 판정
구철회
- 플레이어가 바닥에 닿는 판정을 하나의 Collider로 처리하지 않고 3개의 Ground Checker를 만들어
셋 중 하나가 바닥 Collider의 레이어와 오버랩이 되면 바닥에 닿은 것으로 처리
발표는
게임소개,
제작 과정 및 방법 소개
업데이트 예정에 대한 소개의
순서로 진행하겠습니다.
그럼 본격적으로 게임에 대한 소개를 시작하겠습니다.
게임은 기존의 러너 게임의 요소인 달리기, 액션과
RPG의 요소인 스토리, 캐릭터 상장을 결합한 장르입니다
다음과 같이 게임에서 기본적으로 달리고,
점프하고 공격하고
스토리가 진행되고
캐릭터가 성하는 모습을 게임에서 볼수 있도록 하였습니다.
다음으로 게임 시스템을 하나씩 설명 드리겠습니다.
게임은 크게 마을 화면과 스테이지로 나눌수있는데, 먼저 마을에 대한 소개를 드리겠습니다.
*동영상
마을에서는 캐릭터선택, 아이템 구매, 장비 업그레이드, 퀘스트 확인을 할 수 있습니다.
마을에서는 화면을 스와이프하여 둘러 볼 수 있습니다.
여관 시설의 같은 경우 캐릭터 선택하는 기능을 가지고있습니다.
마을의 NPC를 터치하면 대화 진행, 퀘스트 진행 등을 할 수있습니다.
게임 플레이 화면입니다.
게임의 UI는 보시는 바와 같이 구성되어있습니다.
상단에 생명력 스코어 등 정보를 표시하였고
하단에는 사용자의 조작부분이 들어가있습니다
게임은 크게 3가지 모드가 있습니다.
보스를 물리치고 전리품을 획득하는 런어웨이 모드
스테이지의 비밀을 풀고 보물을 획득하는 모험모드
랜덤하게 구성되는 스테이지를 오래 달리는 무한모드가있습니다.
그러면, 전반적인 게임 플레이를 영상을 통해 소개하겠습니다.
게임은 구글플레이와 페이스북 계정을 통해 로그인 할 수 있게 구현하였습니다.
(화면 설명)
게임에는 두가지 비스니스 모델이 들어가는데요
인앱구매와 보상광고를 넣을 예정입니다.
제작 과정 및
제작 과정중에 인상깊었던 구현 부분 몇가지를 소개시켜 드리겠습니다.
게임의 개발환경을 다음과같이
클라이언트 개발은 유니티로 진행하였고, C#으로 스크립팅하였습니다.
서버는 아마존 AWS를 이용하여 PHP와 MYSQL로 구축하였습니다.
사운드 소스는 오디오 정글과 유니티 에셋 스토어에서 구매하거나 무료 소스를 사용하였습니다
그외에도 에버노트를 활용하여 일정, 아이디어 관리 등을 진행하였고,
핀터레스트 사이트를 이용하여 영감을 얻거나 그래픽을 참고하였습니다.
제작과정을 설명드리겠습니다
게임의 그래픽은 스쿨 교육 과정중에 도트 그래픽을 배우고 나서 직접 작업하였습니다
프로젝트는 7월부터 준비를 시작하였습니다.
아이디어 도출과 게임 기본 기획을 3주동안 진행하였고, 이틀정도 기본 프로토 타입 개발을 진행하였습니다.
8월에는 좀더 자세한 게임 플레이를 기획하였고,
배경스토리 및 캐릭터 설정 등, UI 구현을 하였습니다.
이번달에는 게임의 전반적인 시스템에 대한 기획을 정리하면서 구현하였고,
레벨 디자인을 구체화하고
캐릭터 3개 구현, 마을 시스템 구현을 하였고
그래픽과 사운드를 업데이트하였습니다.
이번달에는 게임의 전반적인 시스템에 대한 기획을 정리하면서 구현하였고,
레벨 디자인을 구체화하고
캐릭터 3개 구현, 마을 시스템 구현을 하였고
그래픽과 사운드를 업데이트하였습니다.
제 프로젝트에 대한 기술적인 설명을 간단하게 말씀드리겠습니다.
프로젝트는 다음과 같이 4개의 씬으로 구현되어있습니다
타이틀에서 각종 서비스를 초기화를 진행하고
마을에서는 캐릭터 정비등의 기능을 수행한 뒤
월드맵에서 스테이지 선택,
게임씬에서는 마을과 월드맵에서 설정한 값을 반영하여 스테이지를 구성하고 진행하도록 하였습니다.
캐릭터 클래스를 구현할 때 플레이어와 적 클래스는 공통점이 있어서
다음과 같이 베이스 클래스를 만들고 그것을 상속받는 구조로 구현하였습니다.
캐릭터 클래스를 구현할 때 플레이어와 적 클래스는 공통점이 있어서
다음과 같이 베이스 클래스를 만들고 그것을 상속받는 구조로 구현하였습니다.
캐릭터 클래스를 구현할 때 플레이어와 적 클래스는 공통점이 있어서
다음과 같이 베이스 클래스를 만들고 그것을 상속받는 구조로 구현하였습니다.
캐릭터가 게임에서 땅에 서 있는 것을 판정하기 위해서 다음과 같이 그라운드 체커를 만들었습니다.
체커가 3개가 존재하는데, 3개중 하나라도 바닥의 콜라이더와 오버랩이 되면 바닥에 닿은 것으로 처리하였습니다.
이는 점프상태와 달리는 상태를 구분할때 유용하게 사용되었습니다.