학원에서 이제까지 배운걸 응용해서 만들어본 첫 작품인 알카노이드. 물론 기본으로 돌아가는 엔진 (Dx2DEngine)은 교수님이 주신거로 사용했지만, 나머지 코딩을 생각해서 한것만으로도 많은 도움이 된거 같다.
장점
- 혼자서 처음부터 끝까지 했다는게, 짧은거 만드는거보다 생각을 많이 할 수 있었다.
- 함수와 클래스의 중요성을 알았다. 만들고나서 확인해 보니 직접 제작한 함수가 37개, 클래스가 4개(CBar, CBall, CBarrier, CScore).
- 구조체로 아이템과 총알을 구현해봤다. 클래스로 만들어도 괜찮았을듯.
- 아이템과 총알 구현을 위해서 STL::<list>를 사용해봤는데, 모르면서 iterator을 쓰다가 런타임에러도 걸려서 디버깅해본게 좋은 경험이었던거 같다(다행히 고쳐서 실행시킴...)
- 그래픽 편집을 김프(GIMP)로 처음 써봤는데, 괜찮은 프로그램인듯. 물론 포토샵만큼은 아니지만, 이건 공짜.
단점
- 전역변수를 너무 많이 선언한거 같다. 설계서를 잘 만들었으면 전체적인 구조를 잘 짜서 전체적으로 몇개의 클래스로 처리할 수 있지 않았을까 하는 생각이 든다.
- 스테이지의 구조를 복잡하게 짰다... 배열을 여러개 선언해서 만들었는데, 더 좋게 만들수 있지 않았을까.
- 볼의 벡터 충돌연산처리를 전부 배열과 for문으로 돌린점, 수학공식을 제대로 이해 못하는게 아쉽다. 충돌연산에도 버그가 생긴것. 등등.
설명
메인 화면
설명 화면
게임 화면
죽었을때 나오는 Continue? 선택시
죽었을때 나오는 Exit 선택시
스테이지 2/5
모든 스테이지를 깼을때 화면
배워야할것
- STL이 사용하기 좋다는걸 느꼈다. 내가 따로 링크드 리스트를 만들어서 사용하려고 했으면 시간이 더 들어갔을텐데, STL::<list>를 가져다쓰니 정말 편했다. 제대로 공부해야할듯. STL책을 사야겠다.
- 프로그램이 개발자 환경에서만 돌아간다... 나중에 공부해서 배포도 가능하게 만들어봐야할듯.
- 사운드처리를 못했다. DirectSound를 공부해야됨.
- 충돌처리버그를 못잡았다. 예외처리에 대해 더 많이 알아봐야할듯.
- 수학공부를 해야한다 -_-; 죽을맛
기타
- 개발기간 : 2008년 9월 12일(요구사항 분석) ~ 2008년 9월 24일(프리젠테이션 발표) 까지. 총 12일중에 실제 코딩은 반정도 될듯.
- 최근에 본 영화중에 다크나이트를 재미있게 본터라^^ 다크나이트로 도배했네요.
