처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.04.16 22

2000년대 브라우저 전략 게임을 Cloudflare 엣지에서 되살리다 — 서버리스로 만드는 실시간 멀티플레이어 게임

Hacker News 원문 보기
2000년대 브라우저 전략 게임을 Cloudflare 엣지에서 되살리다 — 서버리스로 만드는 실시간 멀티플레이어 게임

추억의 브라우저 게임, 다시 태어나다

2000년대 초반 인터넷을 경험한 분이라면 브라우저 전략 게임을 기억하실 거예요. Ogame, Travian, 삼국지 온라인 같은 게임들. 별도의 프로그램을 설치하지 않고 웹 브라우저만 열면 바로 자원을 모으고, 건물을 짓고, 다른 플레이어와 동맹을 맺거나 전쟁을 벌이던 그 게임들 말이에요.

그때 그 게임들은 보통 PHP와 MySQL로 만들어졌어요. 한 대의 서버에 모든 플레이어의 데이터가 있고, 페이지를 새로고침할 때마다 서버에서 HTML을 새로 만들어 보내주는 방식이었죠. 소박하지만 중독성 있는 게임들이었는데요.

한 개발자가 이런 추억의 브라우저 전략 게임을 최신 웹 기술로 완전히 새로 만들었어요. 그것도 Cloudflare의 엣지 인프라 위에서요. 이름은 Kampfinsel인데, 기술적으로 정말 흥미로운 선택들을 많이 했어요.

엣지 컴퓨팅이 뭐냐면

먼저 "엣지(edge)"라는 개념을 짚고 넘어갈게요. 보통 서버라고 하면 미국 동부나 서부 어딘가에 있는 데이터센터를 떠올리잖아요? 한국에서 그 서버에 요청을 보내면, 물리적 거리 때문에 응답이 늦어질 수밖에 없어요. 빛의 속도에도 한계가 있으니까요.

엣지 컴퓨팅은 이 문제를 해결하기 위해, 전 세계 곳곳에 작은 서버(PoP, Point of Presence)를 두고 사용자와 가장 가까운 곳에서 코드를 실행하는 방식이에요. Cloudflare는 전 세계 300개 이상의 도시에 이런 엣지 노드를 가지고 있어서, 한국 사용자가 접속하면 서울이나 도쿄의 엣지에서 바로 처리해줄 수 있어요. 마치 동네마다 편의점이 있는 것처럼, 멀리 있는 대형 마트까지 갈 필요 없이 가까운 곳에서 빠르게 서비스를 받는 셈이죠.

Cloudflare Workers와 Durable Objects의 조합

이 게임의 핵심 기술 스택은 Cloudflare WorkersDurable Objects예요.

Cloudflare Workers는 엣지에서 돌아가는 서버리스 함수예요. AWS Lambda랑 비슷하다고 생각하시면 되는데, 결정적인 차이는 실행 위치예요. Lambda는 특정 리전(예: 도쿄)에서 돌아가지만, Workers는 사용자와 가장 가까운 엣지에서 자동으로 실행돼요. 그래서 응답 속도가 빠르고, 콜드 스타트(처음 실행할 때 느린 현상)도 거의 없어요.

그런데 전략 게임은 상태(state)가 정말 중요하잖아요. 내 자원이 얼마나 있는지, 건물이 몇 레벨인지, 군대가 어디로 이동 중인지. 이런 데이터를 어딘가에 저장하고 일관성 있게 관리해야 해요. 일반적인 서버리스 함수는 상태가 없어서(stateless) 이런 걸 처리하기 까다로운데, 여기서 Durable Objects가 등장해요.

Durable Objects는 Cloudflare가 제공하는 독특한 기능인데요, 쉽게 설명하면 "이름이 있는 작은 서버"라고 생각하면 돼요. 예를 들어 게임의 각 섬(island)을 하나의 Durable Object로 만들 수 있어요. 이 Object는 자체적으로 메모리와 저장소를 가지고 있고, 같은 섬에 관련된 요청은 항상 같은 Object로 라우팅돼요. 덕분에 데이터 일관성 문제를 깔끔하게 해결할 수 있죠.

게임에서 여러 플레이어가 같은 섬을 공격하는 상황을 생각해보면, 모든 요청이 해당 섬의 Durable Object 하나로 모이니까 동시성 문제(두 명이 동시에 같은 자원을 쓰려는 상황)를 자연스럽게 처리할 수 있는 거예요. 전통적인 방식이라면 데이터베이스 락이나 트랜잭션으로 복잡하게 해결해야 할 문제를 아키텍처 자체로 풀어낸 셈이에요.

전통적인 게임 서버와 뭐가 다를까

2000년대의 브라우저 게임은 보통 이런 구조였어요. LAMP 스택(Linux, Apache, MySQL, PHP) 위에 돌아가는 단일 서버. 플레이어가 늘면 더 큰 서버로 바꾸거나(스케일 업), 게임 월드를 여러 서버로 나누는 식이었죠. 서버 관리가 큰 부담이었고, 한 서버가 죽으면 그 위의 게임 월드도 같이 죽었어요.

요즘 멀티플레이어 게임 서버는 보통 Kubernetes 위에서 컨테이너로 돌리거나, AWS GameLift 같은 매니지드 서비스를 쓰는데요. 이 프로젝트는 그런 전통적인 인프라를 전혀 쓰지 않고, Cloudflare의 엣지만으로 게임 서버를 구현했다는 점이 독특해요.

장점도 분명해요. 서버 관리를 거의 안 해도 되고, 트래픽에 따라 자동으로 스케일링 되고, 전 세계 어디서든 빠른 응답 속도를 낼 수 있어요. 비용 면에서도 유리한데, Cloudflare Workers는 요청당 과금이라 플레이어가 적을 때는 비용이 거의 안 나와요. 인디 개발자에게는 정말 매력적인 조건이죠.

반면 한계도 있어요. Durable Objects는 CPU 실행 시간에 제한이 있고, WebSocket 연결 수에도 한도가 있어요. 수천 명이 동시에 실시간으로 조작하는 FPS 같은 게임에는 적합하지 않지만, 턴 기반이나 비동기 방식의 전략 게임에는 아주 잘 맞는 구조예요.

한국 개발자에게 어떤 의미가 있을까

사이드 프로젝트로 멀티플레이어 게임을 만들어보고 싶었던 분이라면 주목할 만해요. 예전에는 게임 서버를 돌리려면 EC2 인스턴스를 빌리고, 네트워크 설정하고, 데이터베이스 관리하고... 이런 인프라 작업만 해도 지쳐서 포기하는 경우가 많았거든요. Cloudflare Workers + Durable Objects 조합은 이런 부담을 확 줄여줘요.

특히 Cloudflare는 서울에도 엣지 노드가 있어서, 한국 사용자 대상 서비스를 만들 때 레이턴시(응답 지연) 걱정이 거의 없어요. 그리고 무료 티어가 꽤 넉넉한 편이라 프로토타입을 만들어 테스트하기에도 좋고요.

게임이 아니더라도, Durable Objects 패턴은 실시간 협업 도구(예: 화이트보드, 공동 편집기), 채팅, IoT 디바이스 관리 같은 상태 관리가 필요한 실시간 애플리케이션에 폭넓게 적용할 수 있어요. "서버리스인데 상태가 있다"는 특성이 전통적인 서버리스의 가장 큰 한계를 풀어주는 셈이거든요.

정리하자면

2000년대 브라우저 게임을 Cloudflare 엣지 위에 재구축한 이 프로젝트는, 엣지 컴퓨팅과 Durable Objects가 실시간 멀티플레이어 애플리케이션에 어떻게 활용될 수 있는지를 보여주는 좋은 사례예요. 서버 관리 없이도 전 세계에 분산된 상태 관리가 가능하다는 건 꽤 큰 패러다임 변화이고요.

혹시 사이드 프로젝트로 멀티플레이어 게임이나 실시간 서비스를 만들어 본 경험이 있으신가요? 서버 인프라 때문에 포기했던 아이디어가 있다면, 이런 엣지 기반 아키텍처로 다시 도전해볼 만하지 않을까요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

TTJ 코딩클래스 정규반

월급 외 수입,
코딩으로 만들 수 있습니다

17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.

144+실전 강의
17개수익 모델
4.9수강생 평점
정규반 자세히 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.