예전에 파이썬으로 만들었던 게임프레임웍을 github에 올렸습니다.
By SeukWon Kang
파이썬과 wxpython을 사용해서 간단한! 2d 슈팅게임을 만들 수 있는 프레임웍과 예제 삼아 만들어본 AI만 있는 게임?을 github에 올렸습니다.
코드 내부의 주석을 보니 2011년에 만들어둔 것이군요.
그 동안 python홍보용으로 잘 써먹었던 프로젝트입니다. ( 파이썬으로 이런 게임도 만들 수 있어. 너도 배워 보지 않을래? 등 ^^ )
원래는 더 일찍 공개하려고 했으나 코드 정리등이 귀찮아서 미루다가 모 후배의 압박으로 대충 정리해서 올립니다.
관심 있으신 분은 https://github.com/kasworld/wxgame2 에서 받으면 됩니다.
원래 코드는 제가 개인적으로 만들어 사용하고 있는 kaswlib이란 것을 사용하도록 되어 있는데 github에 올리려니 서로다른 두개의 프로젝트가 되고 또 참조를 하려면 import path를 설정하는 것도 해야 해서 쓰기 불편할 듯 하여 아예 프로젝트 내부에 wxgamelib 파일에 사용하는 코드만 복사해 넣었습니다.
만들게된 동기는 python에서 게임용으로 많이 사용하는 pygame이 써보니 영 별로고 또 업데이트도 오랫동안 멈춰 있는 관계로 pygame 정도의 기능이라면 wxpython으로도 충분히 만들 수 있겠다 싶어서 만들었습니다.
코드 작성의 의 주 방향은 나중에 다른 게임 만들일 있을때 재사용 하기 좋게 만든다. 가능한 OOP스럽게 만들어 본다. 였습니다.
원래는 object hierarchy 가 더 깊었는데 ( pos 만 있는 class , move 만 되는 class, display 만 하는 class 등 ) 너무 깊은 것도 오버질 인것 같아서 적당히 합쳤습니다.
너무 깊으니까 유지보수/개선 도 힘들고 읽고 쓰기도 힘들더군요.
일단 현재 상황은 사용자가 조정하는 기능을 뺀 슈팅/탄막 게임을 만들기 위한 대부분의 기능이 들어 있습니다.
중간에 네트웍 버전으로 개선 하려다 만 흔적이 좀 남아 있을 거구요.
실행하면 8개의 AI 끼리 대전을 하고 점수/통계을 옆에 보여 줍니다.