View
352
Download
0
Category
Preview:
Citation preview
프로젝트 개요
개발 100% 전담• 클라이언트 개발 , iOS 출시 , 안드로이드 포팅과 출시
기획 50% 참여• 게임 스토리 , 게임 방식 , 스테이지 레벨링 방식
내가 맡은 역할은 ?
프로젝트 개요기간 내용 기간 내용
1 주차(6 월 3
주 )
• COCOS2D-X 스터디 5 주차(7 월 3
주 )
• 몬스터 출현 시스템• UI 수정• 스테이지 1 완료
2 주차(6 월 4
주 )
• COCOS2D-X 스터디• 기획 초안 작성• 리소스 수집
6 주차(7 월 4
주 )
• 스테이지 2, 3, 4 레벨링• 나머지 씬들 추가
3 주차(7 월 1
주 )
• 스테이지 배경• 오브젝트 조작과 패턴• 오브젝트 충돌 처리
7 주차(8 월 1
주 )
• ad-hoc 배포후 테스트 • 앱스토어 리뷰 신청• 앱스토어 출시
4 주차(7 월 2
주 )
• UI 추가• 게임 방식 변경• 변경한 방식으로 수정
8 주차(8 월 2
주 )
• V.1.0.1 업데이트• 안드로이드 포팅과 출시 • V.1.0.2 업데이트
2 개월간의 프로젝트 일정
2 주 준비 , 5 주 개발 , 1 주 포팅 및 버그 수정
프로젝트 결과
• 2016.08.06 출시• 다운로드 156 건• 리뷰 14 건
앱스토어• 2016.08.11 출시• 다운로드 85 건• 리뷰 17 건
구글 플레이
출시 결과
프로젝트 결과
몬스터를 피하는 재미요소가 부족하다 .• 몬스터 종류를 늘리는 동안 , 패턴을 디테일하게 설정하지 못했다 .
플레이 시간이 짧다 .• 다시 플레이할 이유가 랭크 고득점 밖에 없다 .
보완할 부분
게임 목표
•클리어 시간 기준으로 랭크가 결정된다 .•D 랭크부터 다음 스테이지가 열린다 .
Rank 시간 난이도 레벨SS 00’00’’ ~ 01’00’’ LV 9S 01’01’’ ~ 01’15’’ LV 8, 9A 01’16’’ ~ 01’40’’ LV 7, 8B 01’41’’ ~ 02’20’’ LV 6, 7C 02’21’’ ~ 03’00’’ LV 4, 5, 6D 03’01’’ ~03’40’’ LV 2, 3F 03’41’’~ 05’00’’ LV 1
랭크 시스템
씬 (Scene) 구성
•MainMenu 메뉴 씬•StageIntro 인트로 씬•Stage 게임이 진행되는 씬•GameOver 게임 오버 씬•Result 게임 결과 씬
5 개의 씬으로 게임 구성
스테이지 씬레이어 1 - 배경 1레이어 2 - 배경 2레이어 3 - 스테이지
레이어 3, 2 의 속도 비율을 1 : 0.3 으로 설정한다 .• 레이어 2 가 더 느리게 스크롤 된다 .
cocos2d::ParallaxNode 로 배경 스크롤 하기
오브젝트
모든 오브젝트는 스프라이트 이미지로 표현된다 .• cocos2d::sprite 를 상속 받아 사용한다 .
오브젝트를 편리하게 관리하려면 ?• 오브젝트 클래스를 추상 클래스로 설계한다 .
오브젝트 클래스 설계
오브젝트cocos2d::spri
te
CPlayer CLaser CMonster
CMon-ster01
CMon-ster02
CMon-ster03
CObject
…
CObject 클래스 구조
오브젝트
오브젝트는 수시로 증가 또는 감소한다 .• Vector 로 다수의 오브젝트를 관리하자 .
CObject 클래스는 cocos2d::sprite 를 상속 받았다 .• STL Vector 보다 cocos2d::Vector 가 편리하다 .
cocos2d::Vector 컨테이너
오브젝트
바운딩 박스 : 이미지의 전체 범위• getBoundingBox() 로 얻는다 .
충돌 박스 : 충돌 처리의 기준 범위• 바운딩 박스를 작게 조절해서 사용한다 .
바운딩 박스충돌 박스
앵커 포인트
충돌 범위
스킬 공격• 레이저가 최대로 폭발한 1 프레임 동안에만 충돌 검사한다 .
플레이어
기본 공격• 충돌시 DEATH 상태로 전이되어 충돌 검사에서 제외된다 .
레이저건 중복 충돌 막기
몬스터•SUMMON: 소환 모션• IDLE: 공격 대기•PROGRESS: 공격 모션•GETHIT: 타격 모션•STUN: 스턴 모션•DEATH: 사망 모션
6 가지 상태로 상태머신 구성
몬스터
소환 주기• 일정 주기 마다 소환되며 , 고난이도일수록 소환 주기가 짧다 .
획득 점수• 획득 점수로 게이지를 채우며 , 고난이도일수록 점수가 크다 .
난이도에 따라 변화하는 요소
난이도 레벨링
1. 소환 주기 입력 ➡ 분당 소환수2. 점수 비율 입력 ➡ 필요 점수3. 목표 시간 입력 ➡ 분당 필요 점수4. 적정 점수 = 분당 필요 점수 / 분당 소환수
적정 점수 계산
Recommended