학원에서 이제까지 배운걸 응용해서 만들어본 첫 작품인 알카노이드. 물론 기본으로 돌아가는 엔진 (Dx2DEngine)은 교수님이 주신거로 사용했지만, 나머지 코딩을 생각해서 한것만으로도 많은 도움이 된거 같다.

장점
  1. 혼자서 처음부터 끝까지 했다는게, 짧은거 만드는거보다 생각을 많이 할 수 있었다.
  2. 함수와 클래스의 중요성을 알았다. 만들고나서 확인해 보니 직접 제작한 함수가 37개, 클래스가 4개(CBar, CBall, CBarrier, CScore).
  3. 구조체로 아이템과 총알을 구현해봤다. 클래스로 만들어도 괜찮았을듯.
  4. 아이템과 총알 구현을 위해서 STL::<list>를 사용해봤는데, 모르면서 iterator을 쓰다가 런타임에러도 걸려서 디버깅해본게 좋은 경험이었던거 같다(다행히 고쳐서 실행시킴...)
  5. 그래픽 편집을 김프(GIMP)로 처음 써봤는데, 괜찮은 프로그램인듯. 물론 포토샵만큼은 아니지만, 이건 공짜.
단점
  1. 전역변수를 너무 많이 선언한거 같다. 설계서를 잘 만들었으면 전체적인 구조를 잘 짜서 전체적으로 몇개의 클래스로 처리할 수 있지 않았을까 하는 생각이 든다.
  2. 스테이지의 구조를 복잡하게 짰다... 배열을 여러개 선언해서 만들었는데, 더 좋게 만들수 있지 않았을까.
  3. 볼의 벡터 충돌연산처리를 전부 배열과 for문으로 돌린점, 수학공식을 제대로 이해 못하는게 아쉽다. 충돌연산에도 버그가 생긴것. 등등.
설명

알카노이드 메인 화면

메인 화면

설명 화면

설명 화면

게임 화면

게임 화면

Continue?

죽었을때 나오는 Continue? 선택시

Exit?

죽었을때 나오는 Exit 선택시

스테이지2

스테이지 2/5

모든 스테이지를 깼을때 화면

모든 스테이지를 깼을때 화면


배워야할것
  1. STL이 사용하기 좋다는걸 느꼈다. 내가 따로 링크드 리스트를 만들어서 사용하려고 했으면 시간이 더 들어갔을텐데, STL::<list>를 가져다쓰니 정말 편했다. 제대로 공부해야할듯. STL책을 사야겠다.
  2. 프로그램이 개발자 환경에서만 돌아간다... 나중에 공부해서 배포도 가능하게 만들어봐야할듯.
  3. 사운드처리를 못했다. DirectSound를 공부해야됨.
  4. 충돌처리버그를 못잡았다. 예외처리에 대해 더 많이 알아봐야할듯.
  5. 수학공부를 해야한다 -_-; 죽을맛
기타
  • 개발기간 : 2008년 9월 12일(요구사항 분석) ~ 2008년 9월 24일(프리젠테이션 발표) 까지. 총 12일중에 실제 코딩은 반정도 될듯.
  • 최근에 본 영화중에 다크나이트를 재미있게 본터라^^ 다크나이트로 도배했네요.
저작자 표시 비영리 변경 금지
Posted by 극악해골