개발자 본인의 설계 문서에서 가져온 Glinaur의 생각들입니다. 확정된 것은 확정되었다고 말하며, 여기에는 언제가 될지에 대한 말이 없습니다.
작성 2026년 10월 6일
세계를 더 빠르게 저장하기
서버는 세계를 틱 단위로 돌립니다. 1초에 한 틱입니다. 서른 번째 틱마다 접속 중인 모든 캐릭터의 상태를 저장합니다. 위치, 체력, 마나, 경험치, 스킬, 탐험한 지도, 발견한 것, 활성 효과 등입니다. 이 저장을 “플러시”라고 부릅니다.
지금까지 플러시는 캐릭터 하나마다 데이터베이스 명령을 하나씩 보냈습니다. 테스트 캐릭터 300명이 접속해 있을 때, 그들을 저장하는 틱은 그 1초의 약 절반을 썼습니다.
이제는 모든 행이 한꺼번에 가며, 명령 하나에 최대 천 명의 캐릭터를 담습니다. 두 번째 변경은 누군가에게 알리기 전에 저장되어야 하는 모든 것(골드, 전리품, 죽음, 레벨 업)을 틱마다 하나의 트랜잭션으로 묶습니다. 전부 저장되거나, 아무것도 저장되지 않습니다.
이것이 중요한 이유는 설계 목표가 나뉘지 않은 하나의 세계에 동시 접속 약 천 명이고, 그 규모 목표가 아키텍처를 가장 강하게 좌우하는 위험이기 때문입니다.
아래 수치는 같은 컴퓨터에서 벤치마크로 변경 전과 후를 비교한 것이며, 실제 서버에서 어떨지를 말해 주지는 않습니다. 각 틱의 업데이트를 플레이어들에게 병렬로 보내는 일은 아직 구현되지 않았습니다.
- 캐릭터 300명 저장: 변경 전 489 ms와 명령 300개, 변경 후 69 ms와 명령 하나.
- 캐릭터 3,000명 저장: 변경 전 4,917 ms, 변경 후 550 ms.
- 아이템 300개의 마모: 변경 전 387 ms, 변경 후 6.5 ms.
- 죽음 100건이 있는 한 틱: 변경 전 245 ms와 명령 209개, 변경 후 54 ms와 명령 11개.
작성 2026년 10월 4일
전쟁이 아닌 수수께끼
이제 세계에는 전제가 있습니다. 세계는 홀로 있는 하나의 대륙이었습니다. 그러다 다른 대륙들이 도착해 합쳐졌고, 각각이 온전한 하나의 신화입니다. 그 뒤로 세계는 균형을 잃었습니다. 마법만이 아니라 세계 전체가요. 대륙이 통째로 갑자기 나타나면 모든 것이 혼란에 빠집니다.
새로 온 이들은 공격하지 않습니다. 그것이 핵심입니다. 이야기는 이겨야 할 전쟁이 아니라 조사해야 할 수수께끼입니다. 그들은 왜 여기 있는가, 무슨 일이 일어났는가, 침략인가? 세계의 질서 속 무언가가 어긋났고, 알려져 있던 것은 새로 쓰여야 합니다.
신화는 게임의 한 층이지 중심이 아닙니다. 또한 가르치기 위한 것이기도 합니다. 지역 이름, 퀘스트를 주는 사람들, 퀘스트 글, 존재들의 그림은 신화가 어떻게 이루어져 있는지 보여 주어야 합니다. 북유럽 신화가 먼저이며, 첫 도시의 북쪽에 있습니다.
모든 캐릭터가 하는 맹세는 복종이 아니라 과업에 관한 것입니다. 캐릭터가 불균형에 어떻게 맞서는지는 각자의 몫입니다. 바로 그 지점에서 플레이어 대 플레이어 전투도 의미를 얻습니다. 성향은 같은 맹세에 대한 서로 다른 답입니다.
작성 2026년 10월 3일
성장이 느린 이유
Glinaur는 수년에 걸쳐 플레이하도록 만들어졌습니다. 수백 개의 레벨, 긴 학파 체인, 높게 확장되는 장비. 느린 속도는 확정된 것이며, 의도된 것입니다.
이유는 두 가지입니다. 긴 길이 살아 있는 인구를 접속 상태로 붙들어 주기 때문입니다. 설계는 24시간 400명에서 600명을 기준으로 잡았습니다. 그리고 계속 확장되는 시스템의 깊이야말로 개발자 한 명이 감당할 수 있는 유일한 종류의 콘텐츠입니다.
신규와 베테랑 사이의 격차는 길을 줄이는 것이 아니라 메커니즘(멘토링, 어쩌면 따라잡는 방법)으로 좁힐 계획입니다. 둘 다 구현되지 않았으며 형태는 아직 열려 있습니다.
작성 2026년 10월 3일
콘텐츠보다 엔진
게임은 엔진 우선으로 만들어집니다. 콘텐츠와 밸런스 수치는 패널에서 편집하는 데이터이며 결코 코드가 아닙니다. 새 몬스터, 상점, 학파, 지역에 프로그래밍이 필요하지 않습니다.
메커니즘은 한 번만 증명하면 됩니다. 철 광맥 하나로 채광이 증명되며, 더 많은 금속은 데이터 몇 줄이 늘어나는 것일 뿐입니다. 오늘 세계가 작아 보이는 이유입니다. 보이는 것은 엔진이 감당할 수 있는 규모를 낮춰 보여 줍니다.
눈에 보이는 거의 모든 것(이름, 아이템, 몬스터, 가격, 모든 수치)이 임시인 이유이기도 합니다. 콘텐츠와 밸런스는 시스템이 갖춰진 뒤 각자의 작업 단계에서 이루어집니다.
작성 2026년 10월 3일
날짜 없이, 의존 관계만
이 사이트에서 어떤 것에 대한 날짜도 찾을 수 없습니다. 작업은 무엇이 무엇에 의존하는지(다음 것을 만들기 전에 무엇이 있어야 하는지)에 따라 정렬되며, 달력이나 긴급도로 정해지지 않습니다.
설계는 다릅니다. 언제나 열려 있습니다. 어떤 설계 질문이든 언제든 정리할 수 있으며, 순서가 있는 것은 구현뿐입니다. 그래서 제안은 어느 단계에서든 쓸모가 있습니다.
작성 2026년 10월 3일
위험 요소를 솔직하게
설계 문서는 스스로의 위험 요소를 밝힙니다.
- 규모 목표(나뉘지 않은 하나의 세계에 동시 접속 약 천 명)는 아키텍처를 이끌며, 초기에 부하 테스트를 해야 합니다.
- 변하고 기억하는 세계: 부지, 건물, 상점 재고, 땅 위의 시체가 모두 유지됩니다.
- 부지, 습격, 도시 장악은 가장 큰 새 설계 영역이며, 개발자 한 명이 감당할 범위에 대한 가장 큰 위험입니다.
- 경제는 지속적인 조율과 게임에 내장된 측정이 필요합니다.
- 콘텐츠 제작에는 도구가 필요합니다. 지금은 편집 패널로 대부분 해결되었습니다.
- 설계는 인구에 의존합니다. 동시 접속자가 대략 백 명 아래로 내려가면 핵심 메커니즘이 의미를 잃습니다. 동적 가격이 있는 NPC 수요는 확정되었을 뿐 구현되지 않았으며, 이를 완화하기 위한 것입니다.
- 살아 있는 NPC 시뮬레이션은 크고 계속 커지는 영역입니다.
