iPhone용 첫번째 프로그램 개발일지(1)

프로그래밍/iPhone S/W개발 2008/09/05 15:10
iPhone용 프로그램으로 첫번째는 가장 간단히 빠르게 구현할 수 있는 것으로 선택하였다.
그것은 예전에 리뷰를 한 Breakout이다.
  http://www.xevious7.com/385 블락깨기 Breakout

** 이 포스트는 개발을 하면서  틈틈히 작성되었다.

현재 appstore에는 게임회사와 개인이 만든 여러가지 breakout 클론이
이미 출시되어있는 상태이다.
무료버젼및 유료버전이 있다.

이 breakout을 선택한 이유는 다음과 같다.

0. 본격적인 개발전에 선행모델이 필요하다.
1. 가장 간단하게 구현할수 있으면서도 게임의 기본을 갖추고 있다.
2. 모든 것을 혼자서 할 수 있는 정도의 규모이며 , 나만의 breakout을 가지고 싶었다.
3. 같은 모델을 보고 스케치를 하여 모두다 다른 그림이 나오듯이
  기본적으로는 같은 게임플레이의 게임이라고 하여도 제작자에 따라
  그 느낌이 틀린 게임이 나온다는 것을 보여주고 싶었다.
4. 스터디를 하면서 테스트용 개발에 적합하다.
5. 빠른시간(대략 한달)안에 iPhone 개발 프로세스의 모든 것을 경험하고 싶었다.

일단 맥북과 ipot-touch를 구매하고 개발자 프록그램에 가입하였다.
초기 개발환경설정이 의외로 시간을 잡아먹었다.

본격적인 개발의  시작은 토요일(8.30) 저녁 부터였다.

개발 1일째 8.30
첫번째로 기초기획을 하였다.
게임 플레이는 이미 리뷰한대로 이미 알려져있기 때문에 다른것이 없고
이외에 내가 추가 하고 싶은 요소를 정했다.

제목은 Breakout Castle로 정했다.
즉 스테이지가 맨 아래층부터 최 상위층으로 올라가는 느낌을 주기 위해서였다.

특수 아이템은 성애(Snowflake)로 생각했다.
이 아이템을 획득하면 플레이어의 볼이 아이스로 변하며 아이스 볼에 맞은
블락은 얼음이 되는 설정이었다.
얼음이된 블락을 다시 맞추는 경우 이미 얼음이 된 블락이 모두 깨드려지는 형태이다.

공에 의해서 연속으로 블락이 깨지는 경우 콤보표현하기로 했다.
게임의 가장 큰 재미의 하나는 리액션이기 때문에 이 부분은 눈을 즐겁게 할것이다.

블락의 모양은 단순한 네모에서 벗어나서 블락으로 만든 형상을 채택하기로 했다.
즉 사과모양, 고래모양 등등 스테이지별로 블락으로 만든 형상을 제공하기로 했다.

블락의 배경은 안틱한 분위기를 추구하기로 했다.
인터페이스는 기울기감지센서를 이용하여 바를 움직이는 형태로 하였다.

이정도 기획을 하고나서 리소스 작성에 들어갔다.
리소스 작성은 주로 그래픽 이미지로 포토샵에서 작업하였다.

리소스를 작성하면서 지루해지면 샘플프로그램 문서 프로그램 개발 문서를
스터디하였다.

개발 2일째 8월 31일
      - 새벽까지 작업한 결과 프로그램 기본구조를 완성하였다.
        아무래도 게임이기 때문에 OpenGL ES 프레임워크를 사용하여
        기본 프로젝트를 만들고  , 2D 게임환경을 구축하였다.

개발 3일째 9월 1일
      - 그림 리소스 작업 (타이틀화면 , 아이콘 , 볼, 바 블락)을 작업을 완료하였다.
        리소스가 적어서 역시 Pilot 프로젝트로 잘 선택했다는 생각이 들었다.
        기본 플레이가 가능한 버젼을 만들었다.

개발 4일째 9월 2일
     - 본격적인 플레이 버전을 만들기 전에 , 1스테이지 플레이 버젼에서
       문제점 파악에 들어갔다.
     - 좌표및 충돌 움직임등 소소한 버그들을 고치고 스코아처리를 추가했다.
     - 라이브(live) 처리를 위해서 그래픽 리소스를 그리고 다른 그래픽 리소스를
        리터치했다.
    - 블로그에 다짐 포스트를 했고 , http://www.xevious7.com/405
     포스트에 살짝 플레이버젼의 스샷을 올렸다.

개발 5일째 9월 3일
     - 엑셀로미터로 구현한 인터페이스가 불편하다는 느낌이 들어서
       터치 이벤트로 작동되는 인터페이스로 바꾸었다.
      전격적으로 바꾼이유는 아이들이 흥미를 가지지 않아서 였다.
      스테이지가 1스테이지 밖에 없어서 이기도 하겠지만 조작이 어렵다는것은
      큰 핸티캡으로 생각되었다.

      이렇게 바꾸고 나니 '너무 쉬워져서' 다른 요소가 필요했다.
     - 인터페이스의 변경으로 추가기획을 하였다.
                  - 블락이 맞지 않고 벽에 맞은경우 속도를 증가시켰다.
                  - 공에 대한 새로운 개념을 추가하였다.

개발 6일째 9월 4일
    - 스테이지 변경 모듈을 만들었다.
      스테이지 레벨을 5스테이지까지 만들었다.
  - 블락의 파괴효과를 넣었다.
  -  반나절을 연속적으로 계속 플레이 하면서 인터페이스에 대한 조작성 테스트및
      스테이지레벨에 대한 고민.
  - 터치인터페이스의 소소한 버그를 픽스.
           [ 그림] 졸라맨 판과 해파리판.
  - 아이들의 요청으로 해파리판과 졸라맨판을 추가하였다. 7스테이지 까지 블락데이타완료.

  - 레벨표시와 아이템 그래픽 리소스 완성
  - 보스를 기획했으나 , 간단한 그래픽 리소스와 달리 ,시간이 많이 걸리고
   예초의 프로젝트 목적과 달리 대규모로 발전한 가능성이 높아서 잠정보류했다.
       
top

Trackback Address :: http://xevious7.com/trackback/403

  1. 사에바료 2008/09/07 01:31 MODIFY/DELETE REPLY

    흥미진진한 개발일지 잘 봤습니다~ ^^
    멋진데요~

  2. opuuuu 2008/09/15 21:33 MODIFY/DELETE REPLY

    Ipod 터치로 자기가 개발한 어플을 테스트 해보려면,
    99$ 개인개발자를 등록해야지만 가능한건가요?
    아니면 개발자 아이디만 있으면 되는건가요?
    앱스토어에 올릴 생각은 없는데, 어떻게 해야하는건가요?

    • xevious7 2008/09/16 00:18 MODIFY/DELETE

      기기에서 테스트 하시려면 개발자 등록을 해야됩니다.
      등록을 안하면 Xcode에서 기기가 인식되지 않습니다.
      불법적인 방법(해킹)이 있습니다만, 정식적으로는
      등록해야만 기기에서 테스트 가능합니다.

  3. Various Artists 2012/04/23 03:47 MODIFY/DELETE REPLY

    저 혹시 게임은 어떤 툴로 개발하시는 건가요? ^^;
    Xcode만으로도 저런 그래픽을 구현할 수가 있나요?
    cocos2d도 함 써 봤는데 이 툴은 기능에 한계가 있는 것 같고...

    • xevious7 2012/04/23 16:03 MODIFY/DELETE

      저는 따로 툴을 쓰지는 않구요 그냥 OpenGL 코드로 만든 자체 라이브러리를 사용합니다. (본문에 밝혔듯이)

Write a comment