Files
2nd/10_Wiki/Topics/AI_and_ML/No Mans Sky.md
T
Antigravity Agent f8b21af4be Wiki cleanup: error-doc removal, dedup merge, link normalization
10_Wiki/Topics 대규모 정리:
- 오류 캡처/미완성 stub 문서 227개 제거
- 교차폴더 중복 43클러스터 병합 (63파일 → redirect)
- 링크명 정규화: 깨진 링크 수정·redirect 직결·개념 매핑 ~2,400건
- 카테고리 MOC 6개 신규 생성
- Graph 섹션 미해결 related-keyword 링크 10,058건 제거

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 23:52:15 +09:00

5.6 KiB
Raw Blame History

id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id title category status canonical_id aliases duplicate_of source_trust_level confidence_score verification_status tags raw_sources last_reinforced github_commit tech_stack
wiki-2026-0508-no-mans-sky No Man's Sky 10_Wiki/Topics verified self
NMS
No Mans Sky
Hello Games NMS
none A 0.9 applied
no-mans-sky
hello-games
procedural-generation
live-service
case-study
game-engineering
2026-05-10 pending
language framework
c++ custom-engine

No Man's Sky

Hello Games (Sean Murray) 우주 탐험 SF. 2016 출시 직후 혹평 → 8년간 무료 업데이트로 회복한 라이브 서비스 모범 사례. 18 quintillion (1.8×10^19) 절차적 행성.

핵심

절차적 생성

  • 64-bit seed 기반 deterministic generation: 행성/지형/생물/식물/색상.
  • Uniform 우주 좌표: galactic position → seed → 동일 결과 어디서든.
  • 레이어 구조: galaxy → star system → planet → biome → terrain → fauna → flora.
  • Voxel terrain (LOD 적용) + noise 함수 (Simplex/Worley).
  • PCG 생물: 부위 조합 (head/torso/legs/wings) + 색/크기 변이.

기술 스택 (추정/공개)

  • 자체 C++ 엔진, Vulkan/DX12.
  • multi-thread streaming, infinite-precision 행성 (origin shifting).
  • PSSL/HLSL 셰이더, GPU procedural texturing.

라이브 서비스 진화 (주요 무료 업데이트)

  • Foundation (2016) — 기지 건설.
  • Pathfinder, Atlas Rises — 차량/포털.
  • NEXT (2018) — 멀티플레이어 (16명).
  • Beyond — VR.
  • Origins, Next Generation, Companions, Expeditions, Frontiers — 정착지.
  • Endurance, Waypoint, Fractal, Singularity, Echoes, Omega.
  • Orbital, Adrift, Worlds Part I/II (2024-2025) — 행성 다양성 대폭 확장.
  • Aquarius, Relics (2025-2026) — 수중/고생물.

모던 엔지니어링 교훈

  • 출시 후 신뢰 회복: 무사과 + 일관된 무료 업데이트 + 기능 약속 이행.
  • Live-service ≠ 과금: 모든 확장 무료, payd cosmetic 없음.
  • PCG vs hand-crafted: PCG 단독 → 단조로움. 이후 templated biome / set-piece 추가.
  • 소규모 스튜디오 (~30명) + 장기 운영의 가능성.
  • Cross-play / cross-save (PC, PS, Xbox, Switch, Mac, VR).

응용 (게임 디자인)

  • Starfield (procedural + handcrafted hybrid), Elite Dangerous, Star Citizen 비교.
  • 인디 PCG 게임 (Astroneer, Subnautica) 영향.
  • 실패 → 회복 케이스 스터디 (Cyberpunk 2077, FF XIV: A Realm Reborn 비교).

💻 패턴

결정론적 PCG (의사코드)

struct PlanetSeed { uint64_t galacticIndex; };

Planet generatePlanet(PlanetSeed s) {
    PRNG rng(s.galacticIndex);
    Planet p;
    p.radius     = lerp(1500, 6500, rng.float01());
    p.biome      = pickBiome(rng);
    p.atmosphere = pickAtmosphere(rng, p.biome);
    p.fauna      = generateFauna(rng.fork("fauna"), p.biome);
    p.heightmap  = simplexFractal(p.galacticIndex, octaves=8);
    return p;
}

Origin shifting (대규모 좌표 정밀도)

Vec3d worldOrigin;  // double
Vec3f localPos;     // float, near origin
void update(Vec3d player) {
    if ((player - worldOrigin).length() > 1024.0)
        worldOrigin = player;
    localPos = (player - worldOrigin);  // float-safe
}

Procedural creature assembly

Creature assembleCreature(PRNG& rng) {
    return {
        .head  = headLibrary[rng.range(headLibrary.size())],
        .torso = torsoLibrary[rng.range(torsoLibrary.size())],
        .legs  = legsLibrary[rng.range(legsLibrary.size())],
        .scaleY = rng.range(0.6f, 2.4f),
        .palette = generatePalette(rng),
    };
}

LOD 기반 voxel streaming

void streamChunk(Vec3i chunk, int playerLOD) {
    if (distance(chunk, player) > LOD_DISTANCE[playerLOD]) return;
    if (!cache.has(chunk))
        async_load([&]{ cache.put(chunk, generate(chunk)); });
}

무료 라이브 업데이트 — feature flag 출하

// 클라이언트는 server flag로 신규 시스템 unlock
if (flags.has("WORLDS_PART_2")) enableNewBiomes();
if (flags.has("RELICS_EXPEDITION")) startExpedition("Relics");

결정 기준

비교축 NMS Starfield Elite Dangerous
행성 개수 18 quintillion 1000 400B
무중단 진입 O X (loading) O
핸드크래프트 비중 낮음 (post-Worlds 증가) 높음 매우 낮음
멀티플레이 16명 X 대규모
라이브 서비스 무료 O DLC 유료 주요 확장 유료

기본값 (PCG 인디 reference): NMS의 결정론적 seed + 후속 templated content 추가 모델.

🔗 Graph

🤖 LLM 활용

  • 언제: 패치 노트 요약, 행성/생물 생성 narrative, 커뮤니티 Q&A 트리아지, expedition 가이드 초안.
  • 언제 X: 게임 내 PCG 자체 (deterministic seed가 더 적합), 로어 정합성 검증 (LLM hallucination).

안티패턴

  • PCG = 무한 콘텐츠 라는 가정 (시각/메카닉 단조로움 빠짐).
  • 출시 마케팅 과약속 (NMS 2016 트라우마).
  • Float 좌표로 행성-스케일 처리 (jitter) → double + origin shifting 필수.
  • 라이브 서비스를 유료 DLC = 동일시 (NMS 모델은 무료 + 게임 자체 판매 지속).
  • 결정론 깨기 (랜덤 시드 새로 뽑기) → 멀티플레이 동기화 깨짐.

🧪 검증 / 중복

  • 검증: 동일 좌표 두 클라이언트 결과 일치 (deterministic test), origin shift 시 jitter 없음.
  • 중복: Procedural Generation (기법 일반) vs 본 문서 (NMS 사례 특화).

🕓 Changelog

  • 2026-05-10: 표준 포맷, 2024-2026 업데이트 (Worlds, Relics) 반영.