Othello: https://duckbankbok.github.io/othello/
오랜만에 인사드립니다! 게임 개발에 흥미가 생겨 직접 개발을 해보고자 여러 정보들을 알아보던 중, 유니티, 언리얼 엔진 등 유명한 게임 엔진들뿐만 아니라 자바스크립트, 파이썬 등 여러 언어로 많은 게임이 개발되고 있다는 사실을 알게 됐습니다. 게임 개발을 위해 C언어를 다시 공부해야 되나 생각하던 중 이러한 사실을 접한 저는 평소에 익숙한 언어로 게임 개발을 시작해봐야겠다는 생각을 했습니다. 그렇게 처음으로 만들어 본 게임은 바로 Othello(오델로)입니다.
메이플스토리 배틀 리버스
제가 구현한 오델로는 메이플스토리의 배틀 리버스와 같은 변형된 오델로이며, 규칙은 다음과 같습니다.
오델로 규칙
- 8X8판의 가운데 4칸에 엇갈리게 흑, 백 돌 4개를 놓고 시작한다.
- 돌은 8갈래 방향으로 상대방 돌을 포위하여 뒤집을 수 있는 곳에만 놓을 수 있다.
- 돌을 뒤집을 곳이 없는 경우, 상대방에게 차례가 넘어간다.
- (추가된 규칙) 게임을 시작할 때 아무도 돌을 놓을 수 없는 5칸을 랜덤하게 생성한다.
- 다음의 경우에 의해서만 게임이 종료되며 돌을 더 많이 남긴 플레이어가 승리한다.
- 59칸에 돌이 모두 찬 경우
- 한 쪽이 상대방의 돌을 모두 뒤집은 경우
- 양 쪽 모두 돌을 뒤집을 곳이 없는 경우
추가된 규칙은 무승부를 최대한 방지하고, 게임마다 달라지는 게임판으로 인해 매번 새로운 전략을 짜게 해 오델로를 더욱 재밌게 플레이할 수 있습니다.
개발 진행 상황
- v1.1: 처음에 돌을 못 놓을 경우 턴 넘기기 추가
- v1.2 (현재 버전): ‘플레이어 vs AI’ 기능 추가 (AI: 놓을 수 있는 칸 중 랜덤 선택)
- 다음 버전 목표: 다양한 버전의 AI 개발
레퍼런스
- 튜토리얼 영상: https://www.youtube.com/watch?v=-ATbKu_0VVs&list=PLA7VQFdAJ2vfytZFoskFIBYLlNuCUGi0N
- 메이플스토리 배틀 리버스: https://maplestory.nexon.com/News/Event/400