개발/Mighty Online 2

Game Logic의 OOP Refactor

다시 논문을 읽으러 가겠다고 선언한지도 3개월이다. 그 사이에 있었던 일은 대략 다음과 같다: 1. 논문을 다시 읽었다. 2. ISMCTS를 다시 이해했다. 3. AI 코드를 작성하던 중, game logic의 구현 방법이 마음에 들지 않았다. 예외처리가 너무 많아졌다. 4. 이에 game logic 모듈을 조금 더 객체지향적으로 refactor할 필요성이 생겼다. 5. 시간이 많이 지나 다시 ISMCTS를 잊어버렸다. 6. 그래도 refactoring은 성공적으로 마쳤다. 이전의 카드 / 문양 등등이 전부 다 문자열이었던 것에 반해 새로운 구현은 모든 것이 class이다. AI 구현 중에 가장 큰 문제가 되었던 것이 play 처리의 어려움이었다. Play를 단순한 (플레이어, 카드) 튜플로 처리하기에는..

Mighty Online: Tranquil Tempest 개발기 #1

요즘 우리 과의 웹/앱개발 동아리인 WaffleStudio 친구 셋과 함께 진행 중인 프로젝트는 카드 게임 '마이티'를 멀티플레이어로 할 수 있는 플랫폼, Mighty Online의 개발이다. 마이티라는 게임은 일반인들에게는 잘 알려져 있지 않지만, 일부 고등학교 학생들과 서울대를 포함한 몇몇 대학의 특정 과에서는 즐겨 플레이하는 사람들이 매우 많은, 소수에게 꾸준한 사랑을 받는 게임이다. 사실 이번 프로젝트는 '연습용'으로 내가 제안한 프로젝트이다. 팀의 멤버 네명은 각각 다른 수준의 개발 경험이 있지만, 모두 다 웹과 앱 개발 경험이 적다. WaffleStudio에 들어온 만큼, 무엇인가를 만들면서 웹/앱을 배우고 싶었고, 고민 끝에 해보기로 결정된 프로젝트가 Mighty Online인 것이다. 연습..