최근 한 개발자가 웹 브라우저를 통해 고전 아케이드 게임(MAME)을 즐길 수 있는 웹사이트 'playarcade.to'를 선보였습니다. 이 서비스는 단순히 게임을 웹에서 플레이하는 것을 넘어, 친구와 함께 네트워크 멀티플레이를 원활하게 즐길 수 있도록 구현한 점이 가장 큰 특징입니다.
개발자는 초기에는 각 플레이어의 웹 브라우저에 에뮬레이터를 띄우고 키 입력만 주고받는 방식으로 네트워크 플레이를 시도했습니다. 하지만 캐릭터 설정이나 에뮬레이터 로딩 시간 차이로 인해 심각한 동기화 문제가 발생하여 게임 진행이 불가능했습니다. 이를 해결하기 위해 LiveKit이라는 기술을 도입, 한쪽의 게임 화면 전체를 다른 참여자의 브라우저로 실시간 스트리밍하고 키 입력만 웹 소켓(WebSocket)으로 주고받는 방식을 채택했습니다. 백엔드는 FastAPI, Redis, PostgreSQL, 웹소켓(WSS), LiveKit을 사용했으며, 프론트엔드는 React, Vite, Tailwind CSS로 구축되었습니다. 사용자가 MAME 롬(ROM)을 업로드하면 관리자 승인 후 플레이할 수 있습니다.
이러한 접근 방식은 슈팅, 파이팅 게임 등 장르에 관계없이 완벽한 동기화를 가능하게 하여, 고전 게임의 네트워크 플레이 경험을 획기적으로 개선했습니다. 비록 네트워크 트래픽 증가라는 단점이 있지만, 사용자들이 별다른 설치 없이 웹 브라우저만으로 친구와 함께 추억의 게임을 즐길 수 있는 편리함을 제공합니다. 이는 웹 기반 게임 스트리밍 기술의 가능성을 보여주는 사례로, 향후 클라우드 게임 서비스나 웹 기반 협업 도구 등 다양한 분야에 응용될 수 있음을 시사합니다.