Game · Unity 2021.3 · C# · Pixel Art
Settlement Story / 정착지 이야기
2022년 여름 Google Play에 출시한 정착지 시뮬레이션 모바일 게임. Unity로 단독 개발했고, 게임 내 모든 도트 픽셀 아트와 UI를 손으로 작업했다. 글로벌 대상으로 약 100회 다운로드되었고, 동일한 아트 에셋은 Unity Asset Store에서도 판매 중이다.
1. 게임 화면
시작은 텐트 하나와 농부 한 명. 자원(물·식량·돈·재료)을 모아 집·우물·병원·농장·교회 같은 건물을 짓고, 시민은 낮에는 일하고 밤에는 잠을 잔다는 단순한 일상이 이어진다. 자원이 고갈되거나 침략자에게 마을이 무너지면 게임이 끝난다.
2. 컨셉과 장르
장르는 정착지 시뮬레이션(settlement simulation) — 좁은 타일맵 위에서 건물을 짓고 시민이 자율적으로 일·잠·사교를 반복하는 작은 모래상자다. 배·상인 시스템을 붙여 외부 자원과 교역도 가능하게 했다.
의도적으로 짧은 세션(하루 길이 60초)과 자원 압박을 기본으로 잡아 한 번에 5~10분씩 끊어 플레이하는 모바일 톤을 유지했다. 일과 밤 사이클이 코어 루프라서 시민 행동 설계가 곧 게임성의 대부분이었다.
3. 시스템 설계
3.1 시민 AI — 5상태 행동 모델
시민(Citizen.cs)은 매 프레임 행동 상태를 평가한다.
핵심 enum은 단 5개로 압축되며, MOVE가 모든 목적지 이동의 허브 역할을 한다.
public enum CitizenAction { SLEEP, WORK, FREE, NONE, MOVE } TimeManager.count)이
WORK·SLEEP·FREE를 재평가하고, MOVE는 목적지 도달 시 원래 상태로 복귀한다.
- SLEEP
- 밤 시간대 + 거주지 도달 시. 체력 회복 코루틴 진입
- WORK
- 낮 + 배정된 일터(농장·우물·병원 등). A* 경로 추적
- FREE
- 일터가 없거나 체력 부족. 교회·광장 등 자유 공간 배회
- NONE
- 행동 결정 보류 (초기 스폰·씬 로딩 직후)
- MOVE
- 경로 추적 중 한 칸 이동 코루틴 — 모든 목적지 이동의 허브
3.2 경로 탐색 — A* on Tilemap
PathManager.cs가 A*를 구현한다. Tilemap의 각 셀을 Node[,]로 변환하고
Open/Closed 리스트 + 휴리스틱(맨해튼/유클리드)으로 최단 경로를 계산한다.
시민은 매 프레임 PathFinding()을 호출해 목표(잠자리·일터)까지 한 칸씩 이동한다.
대각선 허용/코너 차단(dontCrossCorner) 옵션으로 건물 모서리 끼임 방지.
3.3 일과 시간
TimeManager.cs가 하루 길이(기본 60초)와 진행률을 Slider로 표시한다.
시민 행동 분기는 이 일과 진행률(count)에 따라 결정된다 — 낮에는 WORK,
밤에는 SLEEP로 강제 전환한다.
3.4 침략자 전투
Raider.cs는 일정 주기마다 정착지 가장자리에서 스폰된다.
시야(sight = 3) 안에 들어온 시민을 targetCitizen으로 잠그고
FightCoroutine()에서 체력 120 · 데미지 20의 턴제 교전을 한다.
시민이 전사하면 GoAway()로 퇴각 코루틴을 시작한다.
3.5 저장
SaveManager.cs가 건물·시민·자원 상태를 JSON 직렬화로 디바이스에 저장한다.
앱 종료 후 재시작 시 정착지 상태가 그대로 복원되도록 했다.
4. 아트 — 도트 픽셀을 손으로
게임 내 모든 그래픽 — 캐릭터 5종(시민 색상 5색 + 침략자), 건물 10종 이상, 타일 90+종, UI 아이콘 — 을 Aseprite로 한 픽셀씩 손으로 찍었다. 픽셀 정렬·팔레트 통제를 손으로 직접 해야 안티앨리어싱 없이 또렷한 도트가 나오기 때문이다.
같은 에셋을 캐릭터 커스터마이즈용 5색 변형(SetBodyColor/SetTopColor/SetBottomColor/SetHairColor/SetEyesColor)으로 묶어
Unity Asset Store에 픽셀 아트 팩으로 판매 중이다. 게임용으로 만든 자산을
다른 개발자가 재사용할 수 있도록 컴포넌트 단위로 분리해 노출했다.
5. 결과와 반응
2022년 8월 Google Play에 글로벌 출시했다. 큰 흥행은 아니었지만 약 100회 정도 다운로드가 발생했고, 한국어 리뷰가 3건 남아 있다.
- 로레셴 (3/5) — 체감 난이도·자원 밸런스에 대한 구체 수치 피드백. 모든 항목에 수치와 답글 작성
- 윤흠기 (2/5) — 잠금 해제 곡선이 너무 가파르다는 지적. 여러 명 합의로 답글
- 4zx (5/5) — "캐릭터도 너무 귀엽고 재밌어요 ㅎㅎ"
솔직한 회고. 출시 후 2년간 Google 개발자 계정에 아무것도 올리지 않아 계정이 삭제됐다. 정식 출시된 작품으로 다시 접근할 수 없는 상태이지만, 단독 출시까지의 전 과정 — 기획·개발·아트·퍼블리싱 — 을 직접 해본 경험은 이후 작업에 계속 영향을 주고 있다.
6. 레포지토리
Unity 프로젝트 단일 레포. 게임 코드는 Assets/Scripts 아래에 있다.
Unity_SettlementStory Unity 2021.3Private
게임 본체. Citizen AI · PathManager A* · TimeManager · Raider 전투 · SaveManager JSON · 90+ Tilemap 에셋.
a7garden/Unity_SettlementStory 7. 외부 링크
- Unity Asset Store 퍼블리셔 페이지 — 게임과 동일한 도트 픽셀 에셋 팩 판매 중
- Google Play — 2022년 8월 출시, 현재는 개발자 계정 삭제로 비공개