Line Chart · 折线图#training-curve#marker-styles#monotonic-improvement#single-panel

OpenGame · 3-line plot of build / visual / intent vs debug iterations

OpenGame · 三指标(构建 / 视觉 / 意图)随调试迭代的折线图

Reproduction of OpenGame Figure 3. Three lines (Build Health, Visual Usability, Intent Alignment) tracked across 4 levels of the maximum allowed automated debugging iterations T ∈ {0, 1, 3, 5}. Each line uses a distinct marker (square / triangle / circle) and color (blue / orange / green) and lands on a shared y-axis [40, 75]. Dotted minor grid, hidden top/right spines, lower-right legend with white frame.

OpenGame Figure 3 复现。三条折线(Build Health / Visual Usability / Intent Alignment),自变量为允许的自动调试迭代数 T ∈ {0, 1, 3, 5}。三条曲线分别用方/三角/圆形标记和蓝/橙/绿色,y 轴 [40, 75]。点状次网格,隐藏顶/右边框,右下角白底图例。

@paper · 来自论文

OpenGame: Open Agentic Coding for Games

OpenGame:面向游戏的开源 Agentic 编码

OpenGame Authors · arXiv 2026

// original from paper · 论文原图
original
// reproduced via opengame_debug_iters.py · 脚本复现download png
rendered
opengame_debug_iters.py
download .py
"""OpenGame · Three-line plot of Build / Visual / Intent metrics vs debug iterations.

Reproduction of OpenGame Figure 3 (Performance metrics as a function of
the maximum allowed automated debugging iterations T).
Source: OpenGame: Open Agentic Coding for Games, arXiv:2604.18394.

Three metrics are tracked on the same axis as T grows from 0 to 5:
  - Build Health  (square markers, blue)
  - Visual Usability  (triangle, orange)
  - Intent Alignment  (circle, green)
"""

import matplotlib.pyplot as plt
import numpy as np

plt.rcParams.update({
    "font.family": "sans-serif",
    "font.sans-serif": ["DejaVu Sans", "Arial"],
})

COLOR_BH = "#2A77C7"
COLOR_VU = "#E37B30"
COLOR_IA = "#3FA34D"

T = np.array([0, 1, 3, 5])
BUILD_HEALTH    = np.array([58.4, 66.2, 70.9, 72.4])
VISUAL_USABILITY = np.array([48.0, 58.4, 65.0, 67.2])
INTENT_ALIGN    = np.array([43.6, 54.5, 62.1, 65.1])

fig, ax = plt.subplots(figsize=(6.0, 4.4))

ax.plot(T, BUILD_HEALTH, color=COLOR_BH, lw=2.0, marker="s", ms=8,
        mfc=COLOR_BH, mec=COLOR_BH, label="Build Health")
ax.plot(T, VISUAL_USABILITY, color=COLOR_VU, lw=2.0, marker="^", ms=8,
        mfc=COLOR_VU, mec=COLOR_VU, label="Visual Usability")
ax.plot(T, INTENT_ALIGN, color=COLOR_IA, lw=2.0, marker="o", ms=8,
        mfc=COLOR_IA, mec=COLOR_IA, label="Intent Alignment")

ax.set_title("Impact of Bounded Iterative Debugging", fontsize=11, pad=8)
ax.set_xlabel("Max Automated Debugging Iterations (T)", fontsize=10)
ax.set_ylabel("Score [0, 100]", fontsize=10)

ax.set_xticks(T)
ax.set_xlim(-0.3, 5.3)
ax.set_ylim(40, 76)
ax.yaxis.set_major_locator(plt.MultipleLocator(5))

ax.grid(True, ls=":", lw=0.5, color="#bbb", zorder=0)
ax.set_axisbelow(True)
for sp in ("top", "right"):
    ax.spines[sp].set_visible(False)
for sp in ("left", "bottom"):
    ax.spines[sp].set_color("#444")

leg = ax.legend(loc="lower right", fontsize=9.5, frameon=True,
                edgecolor="#888")
leg.get_frame().set_linewidth(0.6)

plt.savefig("opengame_debug_iters.png", dpi=300, bbox_inches="tight",
            facecolor="white")
plt.close()
print("saved: opengame_debug_iters.png")
uploaded by @Trae1ounG9 views · 0 downloads