Skip to content

About

Minimis Client Code

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

56 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

미니미즈 (Minimis) — 클라이언트 코드

미니미들이 작은 SF 자판기에서 살아남아 탈출하는 개척 시뮬레이션입니다. 림월드 계열의 작업 지시 기반 콜로니 시뮬레이션을 목표로 개발 중입니다.

2026.01 ~ 진행 중 · 4인 팀 (아트/UI 2, 기획 1, 프로그래밍 1) · 팀장 · 클라이언트 개발 전담 Unity C#

🎮 웹 빌드 · ▶️ 플레이 영상

이 저장소에는 제가 작성한 C# 코드와 설계 문서만 있습니다. 아트·사운드 리소스는 팀 아트 담당자의 저작물이라 제외했고, 씬과 프리팹도 함께 빠졌습니다. 따라서 그대로 클론해도 빌드되지 않습니다. 실제 플레이는 위 웹 빌드 링크에서 하실 수 있습니다.


어디를 보면 되는지

주제 경로
코어 시뮬레이션 (Unity 비의존) Assets/Scripts/Game/
계층 의존성 규약 — 네 줄 판정표 Docs/Convention.md
행동 최소 단위 Step / 작업 조합 Assets/Scripts/Game/Jobs/
틱 실행 기반 Assets/Scripts/Game/Kernel/
상태 원장 (Registry) Assets/Scripts/Game/Services/
게임 규칙·오케스트레이션 Assets/Scripts/Game/Systems/
Unity 입력 어댑터 · 부트스트랩 Assets/Scripts/Bridge/
코어 상태를 읽어 그리는 뷰 Assets/Scripts/View/
테스트 (약 180개) Assets/Tests/
날짜별 작업 기록 Docs/History/

설계 요약

코어와 뷰 분리

게임 로직이 MonoBehaviour에 붙어 있어, 동작 하나를 확인하려면 에디터를 띄우고 플레이 모드에 들어가야 했습니다. UI 작업도 코어가 돌아가야 붙일 수 있었습니다.

코어 시뮬레이션을 Game 어셈블리로 분리하고, 뷰가 코어의 상태를 읽어 그리기만 하도록 방향을 고정했습니다. 두 달이 걸렸지만 얻은 것은 세 가지입니다.

  • 플레이 모드 진입 없이 로직을 검증할 수 있습니다. 정적 변수 초기화 순서 버그처럼 플레이로는 재현이 어려운 문제를 여기서 잡았습니다.
  • UI 담당이 코어 완성을 기다리지 않고 병렬로 작업할 수 있습니다.
  • 규칙이 어셈블리 경계로 드러나 리뷰할 때 눈으로 확인됩니다.

행동 최소 단위 Step

이전 프로젝트(Luminous Witch)에서 새 스킬은 곧 새 클래스였고, 그래서 기획자에게 넘기지 못했습니다. 여기서는 행동을 이동·대기·실행·조건 판정 같은 최소 단위 Step으로 쪼갰습니다.

public static Step GoTo(Item item) {
    if (item == null) return Fail();
    return new MoveStep(item.Position)
        .FailOn(p => !item.InWorld || item.IsEmpty);
}

실패 조건을 각 Step이 들고 있어, 드라이버는 순서만 결정합니다. 새 작업 대부분이 기존 Step 조합만으로 만들어지고, 코드를 읽는 사람이 각 행동을 한 줄 단위로 파악할 수 있습니다.

yield return GoTo(job.TargetItem);
yield return Try(() => _item.TryPickUp(...));
yield return GoTo(job.TargetFurniture);
yield return Try(() => _flow.StoreOrDrop(...));

계층 규약을 문서로 고정

4인 팀에 개발자는 한 명입니다. 처리량을 늘리려면 판단 기준이 머릿속이 아니라 문서에 있어야 한다고 봤습니다.

누가 무엇을 답
View(Bridge) 읽기 runner.Services에서 읽는다
View(Bridge) 쓰기 System에 창구(API)를 만든다
System 읽기/쓰기 생성자 주입으로 필요한 대상 사용
도메인 객체 쓰기 필요 설계를 다시 본다. 직접 하지 않는다

전체 규약은 Docs/Convention.md에 있습니다. AI가 변경분을 단위별로 분류해 커밋하면, 규칙 위반 여부는 이 판정표로 제가 확인합니다.

커밋 기록을 보는 법

작업은 브랜치 단위로 묶어 머지합니다. 커밋 목록의 첫 줄만 보면 브랜치 이름밖에 안 보이므로, 본문을 함께 보셔야 합니다.

git log --format=full        # 소분 커밋 목록과 변경 이유가 함께 보입니다
git log --format=full -1 e60175a

변경한 내용보다 그렇게 결정한 이유를 남기는 것을 규칙으로 삼고 있습니다. 사람이 알아야 할 것만 추려 Docs/History/에 날짜별로 정리합니다.


김민석 · [email protected] · GitHub

About

Minimis Client Code

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages