WenyiWU0111 commited on
Commit
7cc3a78
·
verified ·
1 Parent(s): f12c058

页面改版:可玩区换成六个成品游戏的 iframe 并移到 Before/After 之后;换 abstract 和数据行

Browse files
Files changed (1) hide show
  1. index.html +98 -22
index.html CHANGED
@@ -18,26 +18,14 @@
18
  <div class="nav-links">
19
  <a href="#overview">Overview</a>
20
  <a href="#compare">Before / After</a>
 
21
  <a href="#gallery">Gallery</a>
22
  <a href="#results">Results</a>
23
  <a href="#citation">Citation</a>
24
  </div>
25
  </nav>
26
 
27
- <section class="stage" id="stage" aria-label="Playable game" hidden>
28
- <div class="stage-game" id="stage-game"></div>
29
- <div class="stage-bar">
30
- <div class="stage-about">
31
- <b id="stage-title"></b>
32
- <span id="stage-who"></span>
33
- </div>
34
- <div class="stage-mid">
35
- <div class="seg" id="stage-rounds" role="group" aria-label="Which build to play"></div>
36
- <span class="stage-keys" id="stage-keys"></span>
37
- </div>
38
- <a class="btn btn-primary stage-down" href="#top">Explore EvoGame ↓</a>
39
- </div>
40
- </section>
41
 
42
  <header class="hero" id="top">
43
  <div class="hero-bg" aria-hidden="true">
@@ -60,18 +48,38 @@
60
  <section class="section" id="overview">
61
  <div class="wrap">
62
  <div class="stats" id="hero-stats">
63
- <div class="stat"><b>141</b><span>GameCraft-Bench tasks</span></div>
64
- <div class="stat"><b>2</b><span>engines · Godot 4 &amp; Phaser</span></div>
65
- <div class="stat"><b>5</b><span>generators</span></div>
66
- <div class="stat"><b>963</b><span>verified agentic trajectories</span></div>
67
  </div>
68
 
69
  <div class="overview">
70
  <div>
71
- <h2>Improving a game has no failing test</h2>
72
- <p>LLM agents can already generate executable games from a natural-language spec, but first drafts leave a lot on the table. Unlike program repair, game improvement comes with no explicit failure signal and no single correct target: an autonomous developer has to decide <em>what</em> deserves improvement, gather evidence the problem is real, and judge whether a change actually made the game better.</p>
73
- <p><strong>EvoGame</strong> uses agentic verification to turn that open-ended process into goal-oriented, state-controlled progressive development — and turns the verified trajectories into training supervision, so lessons from development are internalized into the generator.</p>
74
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  <ol class="stages">
76
  <li><span class="stage-tag">01</span><div><h3>Correct</h3><p>The game builds, loads and its core loop runs.</p></div></li>
77
  <li><span class="stage-tag">02</span><div><h3>Complete</h3><p>Every mechanic and content beat the spec asks for is present.</p></div></li>
@@ -93,6 +101,74 @@
93
  </div>
94
  </section>
95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
96
  <section class="section" id="gallery">
97
  <div class="wrap">
98
  <header class="section-head">
 
18
  <div class="nav-links">
19
  <a href="#overview">Overview</a>
20
  <a href="#compare">Before / After</a>
21
+ <a href="#play">Play</a>
22
  <a href="#gallery">Gallery</a>
23
  <a href="#results">Results</a>
24
  <a href="#citation">Citation</a>
25
  </div>
26
  </nav>
27
 
28
+
 
 
 
 
 
 
 
 
 
 
 
 
 
29
 
30
  <header class="hero" id="top">
31
  <div class="hero-bg" aria-hidden="true">
 
48
  <section class="section" id="overview">
49
  <div class="wrap">
50
  <div class="stats" id="hero-stats">
51
+ <div class="stat"><b>+14.2</b><span>Overall on Codex&nbsp;+&nbsp;GPT-5.5 · 50.3&nbsp;→&nbsp;64.5</span></div>
52
+ <div class="stat"><b>53.9</b><span>developed Qwen3.8-27B — past one-shot GPT-5.5 (50.3)</span></div>
53
+ <div class="stat"><b>1,998</b><span>runnable agent-written games released</span></div>
54
+ <div class="stat"><b>222K</b><span>verified agentic training rows</span></div>
55
  </div>
56
 
57
  <div class="overview">
58
  <div>
59
+ <h2>Abstract</h2>
60
+ <p>Game development is a long-horizon, multi-objective process that requires repeated
61
+ playtesting, revision, and validation rather than a single generation pass. While recent
62
+ language-model agents can generate playable games and iteratively refine them, reliably
63
+ controlling such improvement over extended development remains challenging. An autonomous
64
+ developer must continuously identify where meaningful improvement headroom remains, gather
65
+ interaction evidence, edit the game, verify the consequences, and determine whether further
66
+ development is still worthwhile.</p>
67
+ <p>We find that a multi-agent loop of active game exploration, evidence-grounded editing, and
68
+ independent agentic verification can substantially improve generated games. However,
69
+ unguided self-improvement eventually plateaus, and continued refinement beyond that point
70
+ can even lead to regressions. We therefore introduce <strong>RSIGame</strong>, a controllable
71
+ framework for recursive game self-improvement. RSIGame autonomously explores and tests the
72
+ executable game, grounds improvement objectives in observed behavior, edits the game, and
73
+ verifies each new version before continuing development. A Global Quality Monitor
74
+ periodically quantifies development progress, preserves the globally best checkpoint, and
75
+ detects emerging saturation. Rather than treating saturation as termination, RSIGame can
76
+ introduce sparse high-level guidance from a human or a strong model, opening new directions
77
+ for progressive, multi-stage game evolution.</p>
78
+ <p>To support both game generation and experience internalization, we further construct a
79
+ large-scale game-development corpus containing <b>2,213</b> generation trajectories,
80
+ <b>2,108</b> planning trajectories, and <b>2,013</b> verified improvement trajectories.
81
+ Across 140 GameCraft-Bench tasks, two game engines, and five generators, RSIGame
82
+ consistently improves game quality under matched development budgets.</p></div>
83
  <ol class="stages">
84
  <li><span class="stage-tag">01</span><div><h3>Correct</h3><p>The game builds, loads and its core loop runs.</p></div></li>
85
  <li><span class="stage-tag">02</span><div><h3>Complete</h3><p>Every mechanic and content beat the spec asks for is present.</p></div></li>
 
101
  </div>
102
  </section>
103
 
104
+ <section class="section" id="play">
105
+ <div class="wrap">
106
+ <header class="section-head">
107
+ <h2>Play the finished games</h2>
108
+ <p>Six games taken all the way through RSIGame development, in the browser. Each one is the
109
+ latest build; the round-by-round history of every game lives in its own Space.</p>
110
+ </header>
111
+ <div class="playbar" id="playbar" role="group" aria-label="Pick a game"></div>
112
+ <div class="playframe"><iframe id="playframe" title="Playable game" loading="lazy"
113
+ allow="autoplay; fullscreen; gamepad; cross-origin-isolated"></iframe></div>
114
+ <p class="playnote" id="playnote"></p>
115
+ </div>
116
+ </section>
117
+
118
+ <script>
119
+ // 六个成品游戏从各自的 Space 嵌进来。不把构建搬过来,是因为每个 Godot 网页构建
120
+ // 95-170 MB,六个就把这个 Space 的 1 GB 额度吃光了;iframe 一个字节都不占。
121
+ const PLAY_GAMES = [
122
+ {name:'Circuit GT', kind:'Racing · Godot 4',
123
+ url:'https://WenyiWU0111-racing-circuit-gt-evolution.static.hf.space/3d-racing-r6/index.html',
124
+ more:'https://huggingface.co/spaces/WenyiWU0111/racing-circuit-gt-evolution',
125
+ keys:'W/S throttle · A/D steer · SPACE handbrake'},
126
+ {name:'Forest Explorer', kind:'Adventure · Godot 4',
127
+ url:'https://WenyiWU0111-forest-explorer-evolution.static.hf.space/forest-r6/index.html',
128
+ more:'https://huggingface.co/spaces/WenyiWU0111/forest-explorer-evolution',
129
+ keys:'WASD move · SHIFT sprint · E chest · Q/RMB bow'},
130
+ {name:'FPS Arena', kind:'Shooter · Godot 4',
131
+ url:'https://WenyiWU0111-fps-arena-evolution.static.hf.space/fr4/index.html',
132
+ more:'https://huggingface.co/spaces/WenyiWU0111/fps-arena-evolution',
133
+ keys:'WASD move · LMB fire · 1/2/3 weapon · R reload'},
134
+ {name:'Alley Brawlers', kind:'Fighting · Godot 4',
135
+ url:'https://WenyiWU0111-alley-brawlers-evolution.static.hf.space/alley-polished/index.html',
136
+ more:'https://huggingface.co/spaces/WenyiWU0111/alley-brawlers-evolution',
137
+ keys:'Arrows move · Z/X/C attack'},
138
+ {name:'Block Drop', kind:'Puzzle · Godot 4',
139
+ url:'https://WenyiWU0111-alley-brawlers-evolution.static.hf.space/block-polish2/index.html',
140
+ more:'https://huggingface.co/spaces/WenyiWU0111/alley-brawlers-evolution',
141
+ keys:'Arrows move · UP rotate · SPACE hard drop · SHIFT/C hold'},
142
+ {name:'Lawn Guardians', kind:'Tower defence · Godot 4',
143
+ url:'https://WenyiWU0111-alley-brawlers-evolution.static.hf.space/lawn-v5/index.html',
144
+ more:'https://huggingface.co/spaces/WenyiWU0111/alley-brawlers-evolution',
145
+ keys:'Click a seed card, then a lawn square · click sun to collect'},
146
+ ];
147
+ (function () {
148
+ const bar = document.getElementById('playbar');
149
+ const frame = document.getElementById('playframe');
150
+ const note = document.getElementById('playnote');
151
+ let cur = -1;
152
+ function pick(n) {
153
+ if (n === cur) return;
154
+ cur = n;
155
+ const g = PLAY_GAMES[n];
156
+ frame.src = g.url;
157
+ note.innerHTML = g.keys + ' &nbsp;·&nbsp; <a href="' + g.more +
158
+ '" target="_blank" rel="noopener">every round of this game →</a>';
159
+ [...bar.children].forEach((b, i) => b.setAttribute('aria-pressed', i === n));
160
+ }
161
+ PLAY_GAMES.forEach((g, i) => {
162
+ const b = document.createElement('button');
163
+ b.className = 'playbtn';
164
+ b.innerHTML = '<b>' + g.name + '</b><span>' + g.kind + '</span>';
165
+ b.onclick = () => pick(i);
166
+ bar.appendChild(b);
167
+ });
168
+ pick(0);
169
+ })();
170
+ </script>
171
+
172
  <section class="section" id="gallery">
173
  <div class="wrap">
174
  <header class="section-head">