웹으로 오픈월드 게임은 어떻게 만들 수 있을까?

Robo·2022년 6월 30일
0

Game

목록 보기
3/3
post-thumbnail

시작하기 전에

게임에 관심이 많아 평소 단련했던 기술들로 웹 게임을 만들기로 했다. 많은 게임 장르 중에서도 요즘 인기가 많은 판타지 오픈월드 방식을 사용하려고 한다.

웹-오픈월드 가능성 체크

웹으로 오픈월드를 만드는 건 가능할까? 우선, 가능한지 알아보기 위해 검색을 통해 선례들을 알아보았다. 찾아본 결과, 오픈소스로 이루어진 오픈월드 게임 사이트가 있었다.

브라우저 퀘스트

로그인 - 게임플레이로 되어있다. 우측 하단을 보면 9명이 접속해있다는 걸 알 수 있었다. 그리고 통상적으로 움직이는 키인 WASD나 방향키 키다운으로 움직일 수 없었다. 타일 방식으로 되어있어 이동할 때, 클릭으로 이동하는 걸 알 수 있었다.

게다가 이동할 때, 맵이 고정되어있고, 끝 타일로 이동해야만 다른 맵으로 움직일 수 있어 이걸 고치면 좋겠다고 생각했다.

여기까지 왔을 때, 내가 만드는 게임이 브라우저 퀘스트와 비슷하다는 걸 깨닫고 이 오픈소스에 PR하는게 어떤지 고려하게 되었다.

하지만, 제한되는 점이 두가지 있었다.

  1. 10년 전에 개발 종료된 게임이라는 것.
  2. 외국인이고 오픈소스로 구현되었다는 것.

깃사이트에 들어가보면 일정 항목은 MPL과 라이센스로 보호되어있다. 이렇기 때문에 완전히 복사하는게 아니고, 참고만 한 후 온전히 내가 만들어 오픈소스로 뿌리면 어자피 PR한 것과 비슷한 효과를 낼 것이다.

시스템 구조

훌륭한 선례가 있으므로, 브라우저 퀘스트에서 구조를 배우면 좋겠다고 생각했다. 브라우저 퀘스트는 어떤 방식으로 이루어져 있을까?
Browser Quest Github

깃을 봤을 때 알 수 있는 점은 99.9% JavaScript 로 이루어진 게임이고, Client - Server 로 이루어진 일반적인 멀티플레이어 게임이었다.

코드를 살짝 들춰보면, 모던 자바스크립트 형태를 띄고 있는 걸 알 수 있었다. require - export 형태로 각 JS 파일마다 상호작용하는 형태이다.

서버쪽을 흩어보면, DB를 사용한 흔적은 보이지 않았다. 다만 Http 통신을 하는 것으로 보아 웹통신을 써서 가능한듯 하다.

결과

웹으로도 오픈월드가 가능하다는 확신을 얻게 되었다. 기본적인 프로토타입을 만들어 DB에 저장할 때 레이턴시와 비용이 얼마나 나올지 확인하고 본격적인 게임개발에 들어가면 좋을 듯 하다.

profile
호호선생

0개의 댓글