영지전 (마인크래프트 모드)
진행 중마운트앤블레이드식 부대 지휘와 삼국지식 내정을 마인크래프트 멀티에 얹은 Fabric 모드. 영주가 되어 병사를 지휘하고 영지를 꾸리며 몬스터 세력·다른 플레이어와 전쟁합니다. 친구들과 전용 서버에서 운영 중입니다.
2026.10 ~

BACKGROUND
마인크래프트 위에 좋아하는 게임 두 개를 얹어 보기로 했습니다. 마운트앤블레이드에서는 자기 부대를 끌고 다니며 지휘하는 것을, 삼국지에서는 땅을 꾸리고 병사를 대는 내정을 따왔습니다. 전투 조작 자체는 바닐라 그대로 두고, 친구들과 멀티 서버에서 즐기는 것을 전제로 설계했습니다. 서버 플러그인으로는 닿지 않는 영역(새 엔티티, 클라이언트 GUI, 보스 모델)이 필요해서 Fabric 모드로 만들었고, 지금도 전용 서버에서 운영하며 개발 중입니다.
WHAT I BUILT
부대는 엔티티가 아니라 명부
병사의 원본은 서버 저장소의 명부(플레이어별 기록)이고, 월드의 엔티티는 꺼내 놓은 상태일 뿐입니다. 로그아웃하면 명부로 들어가고, 로드될 때 명부와 대조해 어긋난 엔티티는 스스로 사라져 복제를 막습니다. 멀티에서는 주인이 오프라인인 동안의 병사 상태(배치 유지·사망 반영)를 다뤄야 해서, 엔티티를 원본으로 삼는 설계로는 성립하지 않았습니다.
동행 50명을 측정으로 지키기
플레이어당 병사 50명이 목표였는데, 처음 구현은 병사마다 매 틱 진형을 재계산하고 길찾기를 돌려 서버가 버티지 못했습니다. 진형 순번을 틱 캐시로 묶고, 길찾기는 자리가 바뀔 때만, 대상 탐색은 전쟁 중일 때만 돌게 고친 뒤 560명 전투에서 틱당 13.7ms 를 측정했습니다. "상한을 낮추자"는 유혹 대신 측정과 최적화를 먼저 한다는 원칙을 세웠습니다.
건물은 서버가 짓는다
시설을 구매하면 건물이 절차 생성으로 통째로 지어집니다. 지형을 깎고 기초를 채우는 설치 검사, 레벨업 시 더 큰 건물로 교체, 몬스터 요새와 같은 건축 모듈 공유까지 한 파이프라인입니다. 몬스터 구조물은 짓기 전 지형을 스냅샷으로 저장해 두었다가 토벌되면 원래 지형으로 복원합니다.
결핍을 설계하기
오버월드의 적대 몹 자연 스폰과 주민 거래, 마법부여대를 전부 막았습니다. 인챈트와 희귀 보상은 몬스터 부락·요새 토벌로만 얻게 해서, 영지 둘레에 자라나는 몬스터 세력이 위협이자 유일한 보상 창구가 되게 했습니다. 경제도 같은 원리로 — 시세가 반나절마다 움직이고, 한 품목을 쏟아 팔면 폭락하며 서버에 덤핑한 사람이 공개됩니다.
친구 서버에 배포하는 일까지가 개발
packwiz 모드팩으로 배포해서 런처가 켜질 때마다 바뀐 모드를 받습니다. 모드 자신도 실행 전에 새 버전을 내려받아 jar 를 교체하고 스스로 재시작하며, 서버와 클라이언트의 버전이 다르면 접속을 막고 안내합니다. 실서버에서는 개발 계정(OP)으로만 테스트하다 놓친 버그 — 스폰 보호가 일반 유저의 출발석 클릭을 막던 것 — 를 겪고, 비관리자 계정 테스트를 절차에 넣었습니다.
WHAT I LEARNED
멀티플레이 전제가 모든 설계를 결정했습니다. 상태의 원본은 서버, 클라이언트는 표시와 입력 — 이 원칙을 세우고 나니 명부·영지·금고·시세 같은 시스템이 전부 같은 모양(서버 저장소 + 동기화 패킷)으로 정리됐습니다.
성능 목표는 숫자로 지켰습니다. 느려지면 기능을 줄이는 게 아니라 먼저 측정 도구를 만들어 병목을 찾았고, 560명 전투 13.7ms 라는 결과가 "동행 50명"이라는 게임 설계를 지켜줬습니다.
실제 플레이어가 들어오면 개발자의 상상이 바로 깨집니다. 안내를 액션바에 띄우면 아무도 못 보고, 우클릭 두 번이라고 적어도 왼클릭으로 때립니다. 운영 서버의 로그와 친구들의 피드백이 가장 좋은 테스트였습니다.