본문 바로가기
Level Up/Develop Games

[ Crash Tower ] 첫번째 BBP를 시작하다.

by ${코딩몬} 2017. 6. 24.


[ Back Bone Project ] 


어떤 Program에서든 등뼈 같은 중심축이 되는 Program을 만들어 보자는 취지에서 시작하게 된 Project이다.

이 프로젝트의 최종 목표는 step by step으로 고퀠리티에 program을 만드는 것이며,  좋은 아이디어가 나왔을 때 바로 개발에 들어 갈 수있도록 준비하여, 빠른시간에 완성 할 수 있도록 대비하하는 것이다.


소개 : bnitech.tistory.com/6
GitHub : github.com/BBP-2017/CrashTower



첫 번째 BBP 시작 했다. 



이번 첫 BBP 프로젝트의 목표를 " 간단한 것 하나라도 만들어 보자 " 로 잡고 시작했다.

BBP는 실제로 상용화 시킬 수 있을 만큼의 퀄리티로 개발을 하는 것이 목적이지만, 처음부터 고퀄리티를 만들기는 힘들업보여, 필요 설계및 기능은 들어가 있지만 단순한 program을 만들면 좋을 것이라 생각했다.
그래서 Android 모바일 게임을 만들어 보기로 했다.

이렇게 결정된 게임이 CrashTower(가명)이다. 이 게임은 원작게임인 "CrashRoyal"에 모티브를 얻어 생각하게 되었다.
장르는 CCG[각주:1] ,RTS[각주:2], PVP[각주:3] 이다.

BBP의  처음 계획은 소프트웨어 공학에서 배운 program 설계 단계부터 차근차근 명세해 가면서 개발을 하려 했었다.
하지만 우리가 아직 무엇을 개발해 보면 좋을지 정해지지 않은 상황이여서, 보고서 작성과정에 빈번한 수정이 필요해질 것 같아 다른 방법을 찾아보았다.



위의 사이트에서 프로그램 만드는 과정을 간단하게 추려 놓아서 이를 따라 개발하기로 하였다.



1. 어떤 것을 만들고 싶은가요?

    • 모바일 게임
    • 장르 : CCG, RTS, PVP


2. 어떤 기술을 사용할 것인가요?

    • Android Studio
    • JAVA
    • XML
    • Firebase
    • Photoshop
    • GitHub
    • Sourceree


3. 어떤 기능들이 포함 되나요?

mock-ups


기능

    • Game Scene
      • 유닛들의 움직임
      • 유닛들 간의 충돌
      • 유닛과 건물의 충돌
      • 플레이어의 컨트롤에 의한 유닛 생산
      • 건물 내구도(체력) 표현
      • 음향 효과
    • Main Scene
      • 스토리
      • 멀티
      • 마페
      • 옵션
    • My page Scene
      • 덱 구성
      • 현재 골드 표시
    • Store Scene
      • 캐릭터,건물 구매(or 업그레이드)
    • Win Scene
      • 별표시
      • 골드와 경치 획득표시
    • Lose Scene
      • 별표시
      • 골드와 경치 획득표시
    • Option Scene
      • 음량조절
      • 서버와의 저장
      • 제작자 소개
      • 쿠폰
    • Multi battle Scene
      • 상대와 나의 아이디, 레벨 표시
    • Story Scene
      • 동영상이나 그림첨부하면서 스토리 설명


4. 어떤 기능을  포함해야 하나요?

    • Game Scene
      • (p1) 유닛들의 움직임
      • (p1) 유닛들 간의 충돌
      • (p1) 유닛과 건물의 충돌
      • (p1) 플레이어의 컨트롤에 의한 유닛 생산
      • (p2) 건물 내구도(체력) 표현
      • (p3) 음향 효과
    • Main Scene
      • (p1) 스토리
      • (p1) 멀티
      • (p1) 마페
      • (p2) 옵션
    • My page Scene
      • (p1) 덱 구성
      • (p2) 현재 골드 표시
    • Store Scene
      • (p1) 캐릭터,건물 구매(or 업그레이드)
    • Win Scene
      • (p2) 별표시
      • (p2) 골드와 경치 획득표시
    • Lose Scene
      • (p2) 별표시
      • (p2) 골드와 경치 획득표시
    • Option Scene
      • (p1) 음량조절
      • (p2) 서버와의 저장
      • (p3) 제작자 소개
      • (p3) 쿠폰
    • Multi battle Scene
      • (p1) 상대와 나의 아이디, 레벨 표시
    • Story Scene
      • (p3) 동영상이나 그림첨부하면서 스토리 


v1

    • 두 어개의 병과 구현(그래픽 단순)
    • 캐릭터 움직임 및캐릭터들 간의 충돌 구현
    • 유저가 조작하여 캐릭터 생성
    • 단순한 배경 구현
    • 단순한 성들 및 성과 캐릭터와의 충돌 구현
    • 충돌시 공격력과 방어력에 따른 데미지 구현

v2

    • 병과 숫자 늘리기
    • 캐릭터간 상성에 의한 데미지의 차등
    • 멀티플레이를 위한 서버와의 통신 구현
    • 게임 시작화면
    • 덱만들기 구현

v3

    • 캐릭터 및 성 그래픽 향상
    • 상점만들기
    • 옵션 구현
    • 스토리 제작

v4

    • 멀티플레이에 따른 랭킹시스템


5. 어떻게 구현할 것인가요?



    • object
      • Tower(.isHit())
      • Mob(.isHit(), .isAttack(), .move())
      • magic(.isAttack())
    • Scense
      • Loading
      • Main
      • Strory View
      • Battle Area
      • My Page
      • Mob Detaile
      • Result
      • Option
      • Matching
    • Logic
      • Tower-Mob collision()
      • Mob-Mob collision()
      • Magic-Mob effection()
      • Mob Moving()
      • Target Priority()
      • User Interaction
      • Select Card(touchPressed)
      • Move Card(touchSlided)
    • User Data
      • Gold
      • Exp
      • Deck collection
      • Level
      • Stage

6. 일정이 어떻게 되나요?


    • (일주일 3번 4시간씩)
    • 1주차 : 디자인과 의사코드 & 대략적인 외형
    • 2주차 : Object 이동/충돌 원리 & 채점원리
    • 3주차 : 장면(시작, 승리 패배, 스토리) & 테스트
    • 4주차 : 서버 & 확장


  1. 수집용 카드 게임(Collectible Card Game; CCG). [본문으로]
  2. 실시간 전략 - RTS(Real-time strategy) [본문으로]
  3. Player versus Player를 줄인 말 [본문으로]