wxgame2의 네트웍버전을 위한 기반 작업을 진행하고 있습니다.
By SeukWon Kang
이전 글 이후에 강의 준비를 하면서 코드를 보니 코드가 오래 되기도 했고 또 설계상의 결정들이 맘에 들지 않아 전체적인 재 정리를 해야겠다고 생각하고 있었습니다.
지난 주부터 시간 되는 대로 작업을 진행해서 로직을 수행하는 wxgame2server.py와 서버로 부터 받은 정보를 시각화하는 뷰어인 wxgame2client.py 로 만드는 것을 일정부분 끝냈습니다.
현재까지는 네트웍으로 데이터를 주고 받는 것은 안되어 있으며 간단하게 file/pickle 을 상용해서 서버-> 클라이언트간 정보를 전달하고 있습니다.
코드를 작성하다 보니 구조가 맘에 들지 않아 거의 뜯어 고치게 되었습니다. ( 그래서 원래의 wxgame2.py 와는 클래스 구조가 많이 다릅니다. )
아직 남아 있는 일들이 많은데 로직과 관계없는 화면 효과들의 시각화 추가
서버와 AI player들을 분리 이렇게 되면 wxgame2server.py : game logic, 판정 , 점수 계산 wxgame2client.py : 게임 진행을 볼 수 있는 viewer wxgame2player.py : AI 또는 사람이 조정하는 play client 형태로 정리되게 될 것 같습니다.
개발/디버깅의 편의 성을 위해 임시고 파일을 사용하고 있는 데이터 교환을 정식 network 버전으로 수정하고
서버에 통합되어 있는 AI들을 따로 떼어 내서 네트웍 버전의 AI client로 만드는 작업
pickle을 사용하는 데이터 교환을 언어 중립적인 json으로 변경 로직/판정을 수행하는 서버를 go 언어로 포팅
같은 일을 하면 좋을 것 같습니다. ( 시간이 되면 ^^ )
ps) 프로젝트 폴더에 있는 ex.py는 강의에 사용했던 예제들로 00 ~ 14 까지 게임이 발전? 해 나가는 것을 시연 해주기 위한 코드 입니다.
- golang
- 언어
- 파이썬
- 프로그래밍
- 강의
- python
- go programming language
- wxgame
- AI
- go
- 게임프로그래밍
- 개발
- 교육
- 세미나
- 게임개발
- 게임만들기
- wxpython