ワンクリックで
testing-furts-game
Test the FuRTS text-based RTS game demo end-to-end. Use when verifying game UI, sidebar, controls, or gameplay changes.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Test the FuRTS text-based RTS game demo end-to-end. Use when verifying game UI, sidebar, controls, or gameplay changes.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | testing-furts-game |
| description | Test the FuRTS text-based RTS game demo end-to-end. Use when verifying game UI, sidebar, controls, or gameplay changes. |
map.js, entities.js, index.html) — serve via HTTP, not file://python3 -m http.server 8080 from the repo roothttp://localhost:8080 in ChromefindPath(sx, sy, ex, ey) should return non-null array of {x,y} waypointsisWalkable(gx, gy) should return false for rocks (obstacle layer), buildings (building layer), and water (terrain layer)applyUnitSeparation() runs every frame to push overlapping units apartisWalkable() checks terrain (water=impassable), obstacle, and building layersThe enemy AI is very aggressive — it attacks within ~30 seconds and can destroy the player base quickly. Always disable the AI at the start of testing via console:
window._origEnemyAI = window.enemyAI;
window.enemyAI = function() {}; // disable
Re-enable when testing AI behavior: window.enemyAI = window._origEnemyAI;
The browser console has access to all game globals (entities, mapLayers, camera, CELL, MAP_W, MAP_H, etc.). Use it to:
w.x = gx * CELL + CELL/2; w.y = gy * CELL + CELL/2;camera.x = gx * CELL; camera.y = gy * CELL;mapLayers.obstacle[gy][gx] = 1; (rock)mapLayers.terrain[gy][gx] = TERRAIN_WATER; (water, impassable)isWalkable(gx, gy)findPath(sx, sy, ex, ey)entities.filter(e => e.type === 'worker' && e.team === 0)For pathfinding tests, random rock placement may not create good obstacles. Use console to create a rock wall:
for (let y = 20; y <= 30; y++) mapLayers.obstacle[y][40] = 1; // vertical rock wall
Then teleport a unit to one side and command it to the other side.
applyUnitSeparation() skips them (the d > 0.01 guard prevents division-by-zero). In normal gameplay this rarely occurs since the movement command distributes units to different grid offsets.R to restart the game (only works after game over)mapLayers.obstacle to find or create obstacles.mapLayers.terrain. Sand slows units (0.7x speed), water blocks movement.overflow-y: auto so it scrolls if content overflowsNone — the game runs entirely client-side with no external services.