웹 브라우저 MMO 전략 게임을 위한 심볼 기반 포털 시스템 설계
Source: Dev.to
Symbols as Addresses
Interstellar Empires의 웹 기반 SF 전략 게임에서 포털은 단순한 빠른 이동 수단이 아니다. 포털은 심볼로 구성된 주소 체계를 중심으로 설계된 시스템이며, 플레이어는 보통 미션, 인텔, 혹은 지도 클릭을 통해 이와 상호작용한다.
Key rules
- 포털 주소는 18개의 심볼 중 6개의 고유 심볼로 구성된다.
- 심볼은 중복될 수 없다.
- 단일 심볼 자체에는 의미가 없다.
- 전체 6심볼 조합만이 목적지를 결정한다.
플레이어가 이 심볼을 직접 입력할 일은 거의 없다. 대부분 주소는 미션, 이벤트, 인텔을 통해 제공되며 지도에서 바로 실행할 수 있다. 수동 다이얼링도 가능하지만 선택 사항일 뿐이다.
Missions on interactive map

선택된 미션은 심볼을 보여 주며, 수동 입력 없이 바로 유닛을 파견할 수 있다.

Internal Representation
내부적으로는 각 완전한 심볼 조합이 은하 지도상의 특정 위치와 연결된다.
- 주소는 은하 내 특정 좌표에 대응한다.
- 플레이어가 절대 보지 못하는 Z 라는 숨겨진 좌표가 추가로 존재한다.
플레이어 입장에서는 심볼이 불투명하게 보인다. 좌표로 표시되지 않으며, 게임은 심볼과 위치 간의 관계를 직접 해독할 방법을 제공하지 않는다.
The Hidden Z Coordinate
알려진 주소는 언제나 같은 위치를 가리키며, 다른 곳으로 리다이렉트되지 않는다.
숨겨진 Z 좌표는 유효성 레이어 역할을 한다:
- Z가 일치하면 포털이 연결된다.
- Z가 바뀌면 동일한 가시 주소가 더 이상 작동하지 않는다.
목적지는 여전히 존재하지만 포털이 입력을 거부한다. 이를 통해 주소를 만료시키거나 비활성화할 수 있으며, 플레이어가 보는 내용이나 공간 일관성을 깨뜨리지 않는다.
Known vs Manual Dialing
대부분의 포털 사용은 알려진 주소를 통해 이루어진다:
- 미션
- 이벤트
- 인텔 보상
플레이어는 수동 다이얼링을 시도할 수도 있다. 하지만 숨겨진 Z 값을 알지 못하면 성공 확률이 의도적으로 낮다. 수동 다이얼링은 위험을 감수하는 옵션일 뿐, 시스템과 상호작용하는 주요 방법은 아니다.
Design Constraints and Scalability
18개의 고유 심볼과 6심볼 조합을 사용하면 만들 수 있는 고유 주소 수에 한계가 생긴다. 은하가 확장될수록 이 제한이 실제 제약으로 작용한다.
장기적으로 시스템을 확장하기 위한 계획은 다음과 같다:
- 추가 고유 심볼 도입
- 주소 길이를 7 또는 8심볼로 확대
핵심 상호작용은 유지하면서 은하 지도가 재설계 없이 성장할 수 있게 한다.
Design Goals
포털 시스템은 다음 목표를 염두에 두고 설계되었다:
- 포털 이동은 클릭으로 시작하더라도 의도된 느낌을 줘야 한다.
- 탐험이 눈에 보이는 무작위성에 의존하면 안 된다.
- 주소는 재사용·공유·검증이 가능해야 한다(단, 개별 미션은 고유하고 공유 불가).
- 시스템은 장기적인 확장을 지원해야 한다.
Final Thoughts
UI상으로는 간단해 보이지만, 이 메커니즘은 탐험, 콘텐츠 순환, 미래 성장 등을 지원하면서 플레이어에게 복잡성을 드러내지 않는다.
중요한 점은 심볼이 좌표가 아니라는 것이 아니라, 플레이어가 이유를 전혀 이해하지 못하더라도 시스템이 일관되게 동작한다는 것이다.