SUSU / PORTFOLIO
All work返回作品

Featured Case Study · Cursor Vibe Jam 2026 · Solo精选案例 · Cursor Vibe Jam 2026 · 独立

tarduck — extraction shooter

Three.js · Browser · Risk/Reward Loop · Solo · 30 Days

A compact extraction shooter built to answer one design question: can a browser-scale prototype still create the pressure of "one more room, or get out now"? I designed the risk/reward loop and progression surface, and directed the build end to end. 一个紧凑的撤离射击原型,用来回答一个设计问题:浏览器体量的项目,能不能仍然制造“再深入一间,还是现在撤离”的压力?我端到端负责风险/回报循环与成长界面,并主导整个开发。

Design Goal设计目标

Compress extraction-shooter tension into a short browser session: readable combat, meaningful inventory pressure, and a clear decision between greed and safety.

把撤离射击的张力压缩进一次短浏览器体验:战斗要易读,背包要有压力,玩家要清楚地在贪心和安全之间做选择。

Player Loop玩家循环

Enter raid → scout through fog → fight for loot → manage limited grid space → choose extract timing → convert loot into upgrades for the next run.

进入战局 → 在迷雾中探索 → 为战利品战斗 → 管理有限网格背包 → 选择撤离时机 → 把收益转化为下一局升级。

🔧 The Build🔧 程序实现

Built in Three.js + Vite with fully procedural geometry — no asset pipeline. The renderer uses physically based materials with bloom and ACES tone mapping for a cartoon-grim look, plus an in-engine lil-gui panel for live tuning. The real work was the direction layer: breaking systems into clear specs, reviewing and integrating each change, and keeping a coherent architecture across 57 commits in 30 days.

用 Three.js + Vite 构建,几何体全程序化生成,没有资源管线。渲染使用 PBR 材质、bloom 和 ACES 色调映射,形成偏卡通但冷峻的视觉质感,并内置 lil-gui 面板实时调参。真正的工作在“指挥层”:把系统拆成清晰的规格、审阅并整合每次改动,并在 30 天 57 次提交里维持架构一致。

🎯 The Design🎯 设计思路

The core is a risk/reward extraction loop: push deeper for better loot, or extract early and bank what you have. I designed the supporting systems around that tension:

核心是一套风险/回报的撤离循环:深入拿更好的战利品,还是早撤保住已有收益。围绕这个张力,我设计了这些支撑系统:

  • 5 weapons and 5 enemy types with body-part hitbox damage, armor & durability
  • Grid inventory · 12-talent progression tree · 8 crafting recipes
  • 3 extract points · fog-of-war · wave spawning · difficulty scaling
  • 5 种武器、5 种敌人,含部位 hitbox 伤害、装甲与耐久
  • 网格背包 · 12 天赋成长树 · 8 个合成配方
  • 3 个撤离点 · 战争迷雾 · 波次生成 · 难度缩放

What I Tuned我调了什么

The key tuning problem was not adding more content, but making the run state readable enough for players to make informed risks. I used fog density, enemy waves, extract placement, inventory pressure, and upgrade costs as the main pacing levers.

关键调优问题不是继续加内容,而是让玩家足够读懂当前局势,从而愿意承担风险。我主要用迷雾密度、敌人波次、撤离点位置、背包压力和升级成本来控制节奏。

Role角色

Solo — game design, creative direction, production.

独立 — 游戏设计、创意方向、开发主导。

Scale规模

30 days · 57 commits · solo, under jam rules.

30 天 · 57 commits · 独立完成,遵循 jam 规则。

Stack技术栈

Three.js · Vite · lil-gui · PBR · Bloom · ACES tone mapping