Flappy Ball
1. 게임 소개
플래피 버드와 골프공 게임을 합친 간단한 모바일 게임
골프공 조작을 이용해 새를 최대한 멀리 날려보자
2. 진행 상황
항목 | 세부 | 진행율 | 비고 |
---|---|---|---|
맵 | 블럭 | 100% | 일정 남으면 블럭 종류 추가 예정 |
- | 배경 | 100% | 레이어링, 스크롤링 구현 완료 |
- | 맵 제네레이터 | 100% | 랜덤 생성 및 JSON에 지정한 패턴 2종에 따라 생성 완료 |
플레이어 | 조작 | 100% | - |
- | 애니메이션 | 100% | - |
- | 물리처리 | 90% | 특정 상황에서 물리 처리 부자연스러움 |
UI | 점수 | 100% | - |
- | 게임오버 | 100% | - |
- | 시작메뉴 | 100% | - |
- | 랭킹 | 100% | 랭킹 연결 및 로컬 저장 완료 |
사운드 | 100% | 간단한 배경음 및 효과음 추가 완료 |
3. 커밋 관련 자료
주차 | 횟수 |
---|---|
1주차 | 4회 |
2주차 | 0회 |
3주차 | 3회 |
4주차 | 3회 |
5주차 | 10회 |
6주차 | 0회 |
7주차 | 10회 |
8주차 | 8회 |
9주차 | 5회 |
10주차 | 3회 |
총합 | 46회 |
*발표 준비를 위한 readme 파일 수정 커밋 제외
4. 사용된 기술
4.1 직접 개발한 것
-
카메라
canvas.translate 함수를 이용하여 플레이어 위치를 따라가며 그리기 수행 -
탄성 처리
물리 충돌 성공 시 블럭에서 설정한 탄성계수를 통해 Ball의 속력을 변경 -
랭킹 저장
SQLite를 사용하여 랭킹 저장 및 로드 -
맵 생성을 위한 JSON
맵 생성 시 일직선 이나 계단식 배치 등의 패턴식 배치를 위한 JSON 파일 작성
작성된 JSON 파일을 파싱하여 맵 배치 수행 -
액티비티 전환 UI와 게임 뷰 간 전환을 안드로이드 액티비티를 이용하여 구현
필요에 따라 구글 검색 및 문서, 자료 참고하여 개발
4.2 수업내용에서 차용한 것
- 충돌 검사 : 수업시간에 사용한 것에 방향 판단하는 기능 추가하여 사용
- 백그라운드 : 카메라에 맞게 응용하여 사용
- 프레임워크 구조
- 터치
- 사운드
- 스코어 UI
5. 아쉬운 것들
5.1 보충해야 할 것들
기본적으로 기획 당시 생각했던 것들은 다 추가하였으나 실제 개발하면서 부족하다고 느낀 것
- 패턴, 블럭 타입 종류 증가
패턴이나 블럭 타입을 다양하게 넣었으면 좋았을 것 같았다. - 리소스 변경
지금 플래피 버드 이미지 그대로 쓰고 있는데 저작권이나 게임컨셉에 어울리지 않는다. - 해상도나 비율 관련 이슈
카메라 밖으로 나가면 죽는 게임에서 카메라 크기, 비율이 기기의 화면에 따라 달라짐
기기마다 게임 플레이가 달라질 수 있으니 대응해야 할 것 같음 - UI 보강 필요
튜토리얼, 조작법 등등 추가 필요
5.2 결국 해결하지 못한 문제
바운딩 박사의 모서리와 모서리 충돌 시 반작용 적용 시 부자연스럽게 보이는 문제
6. ETC
1차(기획) 발표 리드미 : 커밋 스냅샷
2차(중간) 발표 리드미 : 커밋 스냅샷