WK·17 WORM KNIGHT전찬우 · TECHNICAL PORTFOLIO
UNITY 6 · TEAM PROJECT · TECHNICAL CASE STUDY

길어질수록 강해지고,
길어질수록 위험해진다.

몸통이 무기·성장·리스크가 되는 지렁이형 3D 디펜스. 짧은 개발 기간에 핵심 루프와 확장 구조를 함께 완성한 과정을 실제 코드로 설명합니다.

FOCUSED DEVELOPMENT 17 DAYS
ROLE
Team Lead · Core Architecture
PERIOD
2026.06.17 — 07.07
STACK
Unity 6 · C# · URP
게임부터 보기
00
01 / THE GAME

알을 지키며 몸을 늘리고,
잘린 전력까지 다시 회수합니다.

중앙 넥서스를 중심으로 자동 전진하는 컨보이를 조향합니다. 세그먼트마다 무기가 작동하고, 성장할수록 화력과 조작 리스크가 함께 커집니다.

ACTUAL PLAY · 특수 웨이브 → 전투 → 보상 선택
01
MOVE

계속 전진한다

속도는 유지하고 방향을 선택한다.

02
BUILD

몸통이 곧 빌드다

세그먼트를 붙여 공격 방식을 조합한다.

03
RISK

자기 몸과 충돌한다

길어진 몸을 잘못 감으면 전력이 절단된다.

04
RECOVER

잃은 전력을 회수한다

물리로 흩어진 꼬리의 접속점에 다시 접근한다.

01
02 / ONE RULE, FOUR CONSEQUENCES

길이는 보상이면서,
동시에 플레이어가 관리할 부채입니다.

INTERACTIVE MODEL24 SEGMENTS
FIREPOWER48동시 공격 기회
ORBIT RADIUS5.9최소 안전 반경
SELF-CUT RISK36%조향 관리 부담

이 수치는 시스템 관계를 설명하는 인터랙티브 모델이며, 실제 밸런스 값 자체를 재현한 계산기는 아닙니다.

GROW세그먼트 획득

화력·지원·기동 옵션 증가

LONGER체인 길이 증가

회전 반경과 자기 충돌 위험 증가

CUT전력 일부 이탈

손실이 필드에 실제 오브젝트로 남음

REJOIN위험한 회수 선택

접속점을 다시 밟아 전투력 복구

02
03 / 17-DAY DELIVERY SYSTEM

짧은 일정의 해법은,
코드를 빨리 쓰는 것보다 연결점을 먼저 고정하는 것.

17일집중 개발
TRACK 01CONTRACT

공용 데이터 통로

Reward · Growth · CoreStat 계약을 먼저 고정

TRACK 02CORE LOOP

플레이 루프 연결

컨보이 · 넥서스 · 웨이브 · 성장의 실행 경로

TRACK 03CONTENT

병렬 콘텐츠 확장

팀원이 자기 섹션에 집중하고 Catalog로 합류

TRACK 04INTEGRATE

튜닝과 마감

DPS 계측 · 밸런스 표 · UI · 빌드 · 발표 정리

MY PRIMARY OWNERSHIP

전찬우 · 팀장 / 코어

컨보이 이동과 제어, 경로 추종, 세그먼트 연결, 자기 충돌·절단·재결합, 넥서스와 씬 구조, 공용 API, 타이틀·메타·통합.

INTEGRATION

계약과 합류 지점

몬스터 보상, 레벨 카드, 세그먼트 런타임, HUD가 코어 상태와 연결되는 경계를 설계·통합했습니다.

TEAM OUTPUT

협업 결과로 구분

몬스터 개별 구현, 레벨 시스템, 팀원이 만든 개별 세그먼트와 콘텐츠는 개인 단독 성과가 아니라 팀 결과로 표기합니다.

03
04 / CONTRACT-FIRST ARCHITECTURE

기능끼리 직접 얽히지 않고,
코어 상태와 데이터 계약에서 만납니다.

핵심 선택

팀원이 서로의 내부 구현을 알 필요가 없도록, 전달 데이터의 모양과 코어 진입점을 먼저 고정했습니다. 17일이라는 제약을 기능 축소가 아니라 병렬 작업이 가능한 구조로 대응했습니다.

04
05 / CONVOY PATH & AUTO ORBIT

머리는 의도를 따르고,
몸통은 지나온 궤적과 실제 소켓을 따릅니다.

ACTUAL PLAY · 체인 길이에 따라 다시 계산되는 자동 궤도
SAFE ORBIT RADIUS R = max(Rmin, L / 2π, Rnexus + C) + B

실제 마지막 세그먼트까지의 길이와 넥서스 Collider 반경을 함께 사용합니다.

  1. 01거리 기반 경로 샘플 프레임 수가 달라도 몸통 간격을 유지
  2. 02비정상 점프 복원 순간 위치 튐을 제한된 직선 샘플로 재구성
  3. 03소켓 기반 정렬 FrontJoint / RearJoint로 크기가 다른 몸통 연결
  4. 04수동 입력 우선 자동 궤도 중 입력이 오면 즉시 플레이어에게 제어권 반환
05
06 / CUT, PHYSICS, REJOIN

잘린 몸통을 삭제하지 않고,
회수 가능한 전력으로 필드에 남겼습니다.

ATTACHED경로 추종
DETACHEDRigidbody
SETTLED속도 판정
REJOIN꼬리 끝 접속
게임 규칙

충돌 지점 이후만 절단

스타터 구간은 보호하고, 충돌한 세그먼트부터 체인을 분리합니다.

표현 방식

연결체 물리로 붕괴

각 조각에 Rigidbody와 ConfigurableJoint를 구성해 체인 형태로 흩어집니다.

복구 조건

안착 후 접속점 공개

선형·각속도가 기준 이하일 때만 회수 영역을 표시합니다.

ACTUAL PLAY · 자기 충돌 → 이탈 → 접속점 접근 → 재결합
06
07 / DATA-DRIVEN CONTENT PIPELINE

세그먼트 하나를 만드는 일을,
팀이 반복할 수 있는 생산 규칙으로 바꿨습니다.

TEAM OUTPUT · 미사일 / 발리스타 / 얼음수정구 / 투석기
DEFINITIONPROFILEPREFABCATALOGRUNTIME
REGISTERED15SegmentCatalog 항목
STARTERS5지렁이 아키타입
COMMON CARDS8StatUpgradeCatalog
ENHANCEMENTS36무기 강화 항목

2026.09.11 현재 저장소의 Catalog YAML을 직접 집계한 팀 프로젝트 전체 수치입니다. 개인 단독 제작량으로 주장하지 않습니다.

07
08 / BALANCE AS A TOOLING PROBLEM

감각으로 끝내지 않고,
게임 안에서 측정하고 표에서 다시 조정했습니다.

RUNTIME METER · TOTAL / WAVE DPS
슬라이드용 DPS 목표 범위 그래프
DPS 목표 구간
플레이어와 몬스터 성장 지수 비교 그래프
플레이어·몬스터 성장 지수
Segment Balance Table세그먼트 능력치 일괄 비교
Card Balance Table카드 선택지와 증가량 검토
Runtime DPS Meter전체·웨이브·세그먼트 기여도 분리
Remainder Carry소수 보상 배율의 누적 손실 방지
08
09 / PROCEDURAL MEADOW

한 장의 고정 맵 대신,
길·지형·장식을 같은 시드에서 조립합니다.

NEXUS
DIRTBLENDGRASSDECOR
  1. 01Trail Network 넥서스 중심과 진입 축을 Catmull–Rom 곡선으로 샘플링
  2. 02Height Field 시드 기반 fBM 노이즈와 외곽 융기로 전장 높이 생성
  3. 03Signed Distance 길 경계까지 거리로 흙·중간·풀 3개 가중치 계산
  4. 04Frame Budget 정점·삼각형 생성을 여러 프레임에 나눠 로딩 진행률과 연결
  5. 05Decoration 길과 넥서스를 피한 결정적 군집 배치와 GPU 인스턴싱
SCENE BINDINGStageScene.unityMeadowTerrainRuntimeGenerator 연결 확인
09
10 / RUN & META PROGRESSION

타이틀의 선택이 런으로 들어가고,
런의 결과가 다음 선택을 바꿉니다.

기존 WORM KNIGHT 발표 자료 표지
ORIGINAL DECK DNA · 남색 / 크림 / 머스터드
01TITLE지렁이 · 업그레이드 · 맵 선택
02LOADOUTRunStartBonusData 생성
03STAGE런타임 보너스와 임시 재화
04RESULT클리어 · 실패 결과 정산
05META SAVE다이아 · 해금 · 강화 JSON 저장
두 경제를 분리했습니다.

런 안의 골드는 즉시 선택을 위한 재화, 다이아는 다음 런을 바꾸는 메타 재화입니다. `RunLoadoutContext`와 `RunResultContext`가 씬 사이의 전달 책임을 분리합니다.

10
11 / ENGINEERING DECISIONS

기술은 목록이 아니라,
게임 규칙을 지키기 위해 선택한 절충입니다.

CASE 01 · MOVEMENT

긴 체인은 왜 순수 물리가 아닌가?

붙어 있는 동안은 조작 응답과 간격 안정성이 우선입니다.

선택경로 추종 + 소켓 정렬대가 · 보간과 비정상 경로 복원 책임
CASE 02 · CUT

잘린 순간에는 왜 물리를 쓰는가?

손실이 숫자가 아니라 실제 사건처럼 보여야 합니다.

선택Rigidbody + ConfigurableJoint대가 · 안착 판정과 재결합 정리 비용
CASE 03 · TEAM

왜 직접 참조보다 계약을 택했는가?

17일 동안 여러 담당이 동시에 움직여야 했습니다.

선택작은 DTO + 단일 진입점대가 · Gateway 누락과 계약 변경 관리
11
12 / EVIDENCE & BOUNDARIES

보여줄 수 있는 것과,
아직 주장하지 않는 것을 분리했습니다.

LIVE SOURCE · CONFIRMED 299

C# scripts in repository

현재 `Assets` 전체를 집계한 팀 저장소 규모. 개인 작성량이 아닙니다.

CATALOG · CONFIRMED 15 · 5 · 8 · 36

콘텐츠 등록 스냅샷

세그먼트 · 스타터 · 공용 카드 · 무기 강화 YAML 항목.

SCENE · CONFIRMED STAGE

실전 씬 연결

컨보이와 Meadow 생성기의 StageScene 직렬화 연결을 소스에서 확인.

THIS AUDIT · LIMIT STATIC

이번 턴의 검증 범위

코드·씬·Catalog·발표·영상은 대조했지만 Unity PlayMode를 새로 실행하지는 않았습니다.

FACT

소스·씬·데이터에 직접 존재

TEAM

팀 전체 결과로 표기

LIMIT

현재 재검증하지 않은 범위 공개

12
WORM KNIGHT / ENGINEERING PORTFOLIO

17일의 결과는 기능 수가 아니라,
팀이 동시에 만들 수 있게 한 구조입니다.

게임의 핵심 규칙을 컨보이·절단·재결합으로 구현하고, 공용 계약과 제작 흐름으로 팀의 결과를 하나의 플레이 루프로 통합했습니다.

전체 기술문서 다운로드
JEON CHANWOO TEAM LEAD · CORE ARCHITECTURE · INTEGRATION 2026
13
REAL SOURCE / ENGINEERING NOTES