尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
WebGPU compute-shader flocking sandbox - 100k+ agents, prefix-scan spatial grid, CPU reference oracle for GPU validation. R&D lab for Sheepdog Sim (sheepdogsim.com).
翻譯準備中
正在載入完整 README。
檢視完整 README ↗An R&D sandbox and tech demo — not a playable game release. This is a standalone WebGPU re-imagining of the Home Field from Sheepdog Sim (source). It uses the original Jep dog, farm, fence, gate, tree, rock, homestead, music, bark, and bleat assets while a new GPU compute engine simulates and directly renders 100,000 sheep, with explicit stress tiers through 500,000.
The engine's core pieces:
This is a new-engine prototype. It is not a Sheepdog Sim scene, game mode, multiplayer client, or replacement release. It deliberately does not import the production game's shared/ deterministic simulation or connect to its Cloudflare Worker.
Try the public build at matthew-kissinger.github.io/sds-gpu-boids. GitHub Actions publishes the built static site to GitHub Pages.
The app is intentionally WebGPU-only. Unsupported browsers receive a capability explanation rather than an unrelated CPU or WebGL fallback.
npm install
npm run dev
Open http://127.0.0.1:5190. The first screen is the playable field.
Useful commands:
npm run build
npm run preview
npm run test:unit
npm run test:e2e
npm run inspect:canvas
npm run benchmark -- --counts 1000,16000 --duration 5000 --warmup 1000
The production preview runs at http://127.0.0.1:4190. Benchmarking defaults to that URL.
WASD or arrow keys: move the dogSpace: barkQ / E: look around in free-orbit view+ / -: zoomC or the camera HUD button: cycle follow, orbit, and classic overhead viewsP: pause or resumeR: restart the current seed and workloadBark touch button: barkTune: open the live Flock LabSFX: mute or restore music and effectsFlock Lab changes the running compute simulation without a restart. It includes presets plus switches and sliders for separation, alignment, cohesion, awareness, personal space, speed limits, boundaries, dog speed/pressure, bark pressure, and optional goal attraction. Copy writes the current tuning as JSON.
Herd 60% of the flock through the centered north gate. Sheep that cross the threshold retire from flocking and take a place inside the attached pen. The Goal demo workload exists for retirement/objective QA; it is not a benchmark workload.
Open pasture: scatters throughout the enlarged Home Field.Home Field scatter: places the flock between Jep and the north pen for a complete herding run.Tight flock: starts compressed and stresses crowd response.The count ladder is 1k, 2k, 4k, 8k, 16k, 32k, 50k, 75k, 100k, 125k, 150k, 200k, 300k, and 500k. Tiers above 100k are deliberate stress/failure probes, not promised gameplay targets. The same complete ladder is available in the UI and benchmark runner.
Frame p50/p95/p99 are delivered frame intervals. Compute-submit and render-submit measurements are CPU time spent issuing work. They are not GPU execution time. The benchmark emits GPU timing only when diagnostics identify a hardware timestamp query as the source.
The HUD also reports candidate truncation, maximum cell occupancy, invalid indices, and the goal reduction. A high frame rate with invalid indices or silent truncation is not considered a valid result.
Cranking the sheep count up did not make the game more fun. 100,000 sheep is a rendering and simulation achievement, not a gameplay one — past a few thousand, a flock stops reading as animals you herd and starts reading as texture. The interesting design space for Sheep Dog Simulator turned out to be elsewhere. This repo exists to explore the ceiling anyway: how many agents a browser can honestly simulate, and how to prove the numbers are real.
See: