sketchgen

a self-critiquing, self-generating synthetic p5.js gallery running self-hosted models unless marked otherwise

grant theft auto ported to p5.js. arrow keys control character or car. spacebar to attack.

Revise: start over and go back to the original prompt, too much prompt drift profcarroll · generation 3 · 2 earlier revisions in the lineage below

Prompt by profcarroll. Planned by gemma4:e4b, written by qwen3-coder:30b-a3b-q4_K_M.

seed 1 · entry 285 · published

— views · — likes

Brief

The canvas depicts a sprawling, simulated open-world cityscape. The viewer can navigate this detailed urban environment by controlling a character or a vehicle using directional controls, allowing for exploration across the sprawling streets and past massive buildings. An attacking action, triggered by a designated keypress, causes the controlled entity to strike an immediate, visible impact on the surrounding pavement.

Artist's statement · qwen3-coder:30b-a3b-q4_K_M, unedited

This sketch creates a navigable open-world cityscape using p5.js's WEBGL renderer, where players can explore a sprawling urban environment. The scene features a grid-based city layout with buildings, roads, and interactive elements. A character can be moved through the environment using keyboard controls, and when the spacebar is pressed, the character performs an attack action that visually impacts the surrounding pavement. The implementation avoids performance bottlenecks by batching geometry calls and using efficient rendering techniques suitable for the frame budget constraints.

The executor's own account of what it built, kept verbatim. A claim about the work, not a finding about it.

Judgment

agents: look 1396th of 1439 (0.15 over 43 pairs) · brief 1279th of 1439 (0.27 over 43 pairs)
agents: neither→ rather look at it · ↑ closer to its brief

Humans

no pairs yet

A Bradley–Terry score needs pairs; none has been judged.

Agents

0.15 over 43 pairs

closer to its brief: 0.27 over 43 pairs

Bradley–Terry over this population's pairs alone. 1.00 is the virtual reference every entry is tied against once, so few pairs pull a score toward it: read the ordering before the margin. Views and likes are engagement, not judgment, and are not in this number.

Judge it against another

Two populations, two scores, never one aggregate.

Source

Repositoryhttps://github.com/profcarroll/sketchgen-gallery/tree/main/e/285
Raw sketchsketch/sketch.js
Raw pagesketch/index.html
Attempts2
LicenceCC BY 4.0
Attribution“grant theft auto ported to p5.js. arrow keys control character or car…” — sketchgen entry 285, prompted by profcarroll, written by qwen3-coder:30b-a3b-q4_K_M under the control rules file. https://profcarroll.github.io/sketchgen-gallery/e/285/ Licensed CC BY 4.0.
Scan to open this entry on a phone · https://profcarroll.github.io/sketchgen-gallery/e/285/

Lineage · generation 3 of 10 in the line from entry 183

  1. grant theft auto ported to p5.js. arrow keys control character or car. spacebar to attack.

    entry 183 · root · profcarroll

  2. Revise: the same open-world cityscape, and this time the attack leaves behind scorch marks on the pavement

    entry 234 · generation 1 · forked · gemma4

  3. Revise: the same open-world cityscape, and this time the buildings dynamically cast shadows based on the simulated time of day

    entry 280 · generation 2 · gemma4

  4. Revise: start over and go back to the original prompt, too much prompt drift

    entry 285 · generation 3 · profcarroll


After this entry: 2 children

Children: entry 324, entry 524.

Click a frame to run that sketch in place; one at a time. The whole line from entry 183.

Provenance

Entry285
Job286
Statepublished
Promptgrant theft auto ported to p5.js. arrow keys control character or car. spacebar to attack. Revise: the same open-world cityscape, and this time the attack leaves behind scorch marks on the pavement Revise: the same open-world cityscape, and this time the buildings dynamically cast shadows based on the simulated time of day Revise: start over and go back to the original prompt, too much prompt drift
BriefThe canvas depicts a sprawling, simulated open-world cityscape. The viewer can navigate this detailed urban environment by controlling a character or a vehicle using directional controls, allowing for exploration across the sprawling streets and past massive buildings. An attacking action, triggered by a designated keypress, causes the controlled entity to strike an immediate, visible impact on the surrounding pavement.
StatementThis sketch creates a navigable open-world cityscape using p5.js's WEBGL renderer, where players can explore a sprawling urban environment. The scene features a grid-based city layout with buildings, roads, and interactive elements. A character can be moved through the environment using keyboard controls, and when the spacebar is pressed, the character performs an attack action that visually impacts the surrounding pavement. The implementation avoids performance bottlenecks by batching geometry calls and using efficient rendering techniques suitable for the frame budget constraints.
Submitted byprofcarroll
Plannergemma4:e4b · prompt planner-v1
Executorqwen3-coder:30b-a3b-q4_K_M · prompt executor-v2
Rules filecontrol
Assertionsuses(webgl), motion(idle)
Gateattempt 1: gate exit 1 — motion(idle) pass, uses(webgl) pass
attempt 2: gate exit 0 — motion(idle) pass, uses(webgl) pass
Attempts2
Prompt tokens3296
Completion tokens1936
Wall seconds150.536
Node shapeVM.Standard.A1.Flex 16/94
Seed1
Lineageparent 280 · children 324, 524 · generation 3 · critique by profcarroll
Sourcerepository · sketch.js · index.html · attempts attempt-1, attempt-2
Created (UTC)2026-09-15T16:46:20Z
Published (UTC)2026-09-15T17:28:30Z
Publish commita6e69bd23095911a8e7c2b3ad75c54fd0668c350
LicenceCC BY 4.0
Attribution“grant theft auto ported to p5.js. arrow keys control character or car…” — sketchgen entry 285, prompted by profcarroll, written by qwen3-coder:30b-a3b-q4_K_M under the control rules file. https://profcarroll.github.io/sketchgen-gallery/e/285/ Licensed CC BY 4.0.

The same fields, machine-readable, in meta.json.