Home 웹 기반(HTML, CSS, JavaScript) 게임 만들기 - Othello
Post
Cancel

웹 기반(HTML, CSS, JavaScript) 게임 만들기 - Othello

othelloOthello: https://duckbankbok.github.io/othello/

오랜만에 인사드립니다! 게임 개발에 흥미가 생겨 직접 개발을 해보고자 여러 정보들을 알아보던 중, 유니티, 언리얼 엔진 등 유명한 게임 엔진들뿐만 아니라 자바스크립트, 파이썬 등 여러 언어로 많은 게임이 개발되고 있다는 사실을 알게 됐습니다. 게임 개발을 위해 C언어를 다시 공부해야 되나 생각하던 중 이러한 사실을 접한 저는 평소에 익숙한 언어로 게임 개발을 시작해봐야겠다는 생각을 했습니다. 그렇게 처음으로 만들어 본 게임은 바로 Othello(오델로)입니다.

메이플스토리 배틀 리버스메이플스토리 배틀 리버스

제가 구현한 오델로는 메이플스토리의 배틀 리버스와 같은 변형된 오델로이며, 규칙은 다음과 같습니다.

오델로 규칙

  • 8X8판의 가운데 4칸에 엇갈리게 흑, 백 돌 4개를 놓고 시작한다.
  • 돌은 8갈래 방향으로 상대방 돌을 포위하여 뒤집을 수 있는 곳에만 놓을 수 있다.
  • 돌을 뒤집을 곳이 없는 경우, 상대방에게 차례가 넘어간다.
  • (추가된 규칙) 게임을 시작할 때 아무도 돌을 놓을 수 없는 5칸을 랜덤하게 생성한다.
  • 다음의 경우에 의해서만 게임이 종료되며 돌을 더 많이 남긴 플레이어가 승리한다.
    • 59칸에 돌이 모두 찬 경우
    • 한 쪽이 상대방의 돌을 모두 뒤집은 경우
    • 양 쪽 모두 돌을 뒤집을 곳이 없는 경우

추가된 규칙은 무승부를 최대한 방지하고, 게임마다 달라지는 게임판으로 인해 매번 새로운 전략을 짜게 해 오델로를 더욱 재밌게 플레이할 수 있습니다.

개발 진행 상황

  • v1.1: 처음에 돌을 못 놓을 경우 턴 넘기기 추가
  • v1.2 (현재 버전): ‘플레이어 vs AI’ 기능 추가 (AI: 놓을 수 있는 칸 중 랜덤 선택)
    • 다음 버전 목표: 다양한 버전의 AI 개발

레퍼런스

소스 코드

https://github.com/duckbankbok/othello

This post is licensed under CC BY 4.0 by the author.

조코딩 웹개발 5주 완성 5주차 리뷰_CRUD, DB(SQLite)를 이용한 댓글창 만들기

Solving Traveling Salesman Problem (TSP) using Genetic Algorithm (GA) in Python