Frame from Spinning heptagon test across 18 models
PromptFull
Write a Python program that shows 20 balls bouncing inside a spinning heptagon:
- All balls have the same radius.
- All balls have a number on it from 1 to 20.
- All balls drop from the heptagon center when starting.
- Colors are: #f8b862, #f6ad49, #f39800, #f08300, #ec6d51, #ee7948, #ed6d3d, #ec6800, #ec6800, #ee7800, #eb6238, #ea5506, #ea5506, #eb6101, #e49e61, #e45e32, #e17b34, #dd7a56, #db8449, #d66a35
- The balls should be affected by gravity and friction, and they must bounce off the rotating walls realistically. There should also be collisions between balls.
- The material of all the balls determines that their impact bounce height will not exceed the radius of the heptagon, but higher than ball radius.
- All balls rotate with friction, the numbers on the ball can be used to indicate the spin of the ball.
- The heptagon is spinning around its center, and the speed of spinning is 360 degrees per 5 seconds.
- The heptagon size should be large enough to contain all the balls.
- Do not use the pygame library; implement collision detection algorithms and collision response etc. by yourself. The following Python libraries are allowed: tkinter, math, numpy, dataclasses, typing, sys.
- All codes should be put in a single Python file.

Make it yours. Change "20 balls" and "a spinning heptagon" for other objects and another container, and edit the hex list after "Colors are:". Keep the line that begins "Do not use the pygame library", which makes the model write its own collision code.

Make it hereFree runs soon

Spinning heptagon test across 18 models

A grid of 18 models' answers to one strict prompt: a single Python file, no pygame, in which 20 numbered balls fall, spin, and collide inside a rotating heptagon. It is the creator's KCORES benchmark test, widely copied in 2025; the post has the full prompt.

“Due to resolution limitations, this demonstration only includes the top 16 scores from my KCORES LLM Arena.”

You'll need

  • Python with tkinter and NumPy to run the script the model writes
  • A screen recorder: the script draws to a window and doesn't write a video file
How it was made

Each model got the same prompt, and the creator recorded the programs side by side. The post says the grid shows the top 16 scores from the creator's KCORES LLM Arena, though 18 tiles appear; other models were tested and didn't make the cut. A comment links the full leaderboard and the benchmark repo. The model names come from the labels on the grid. The video has no sound.

Posted Apr 15, 2025 · r/LocalLLaMA on Reddit · 471 upvotes · 77 comments

Prompt from: Post body, in a code block

KCORES LLM Arena, the benchmark repo

The forest fire test it inspired

Look notesby Reference

A 6-by-3 grid of model outputs, each tile a heptagon outline with orange and amber numbered balls, labeled with the model's name, under a footer reading "benchmark-ball-bouncing-inside-spinning-heptagon v20250415".

Color
Mostly white tiles with thin black outlines, a few black tiles and one pale-blue tile, and balls in the prompt's oranges, ambers, and rust reds.
Type
Monospace model labels above each tile and a monospace footer crediting karminski-牙医.
Framing
Tiles of equal size, each with a heptagon set at its own angle. Balls pile at the bottom in most tiles, float apart in Kimi k1.5's, cluster mid-air in Gemini 2.0 Flash-Lite's, and are missing in a few.
Structure
One continuous side-by-side recording of all 18 programs from the moment the balls drop from the center.

More like this

0:28

Forest fire simulation by six models

3.7 Sonnet · Python

0:20

Rainbow slinky down an endless escalator

GPT-6 Astra · HTML canvas

0:54

Spacetime curvature in 3D Manim

Partial prompt · 3.7 Sonnet · Manim

2:08

Galileo, Bernoulli and the fastest path

Opus 5.5 · Canvas 2D

1:10

Why a circle's area is πr²

Manim

7:37

Narrated lesson on derivatives, in Chinese

Opus 5.5 · Manim

1:47

From a bacterium down to quantum fields

JavaScript

0:39

Crayon picture-book Pythagorean theorem

Opus 5.5 · Plain JavaScript

0:44

The photoelectric effect, in Manim

Gemini Flash 3.5 · Manim

Chi-square goodness-of-fit test in Manim

Gemini · Manim

1:16

The beauty of physics, one continuous shot

Claude Code

2:46

Every orbit is a great circle, in 3D Manim

Claude Code · Manim

1:38

Morse theory on a torus, in 3D Manim

Codex · Manim

0:30

One year of planetary orbits in 30 seconds

Claude Code · Remotion

0:08

Low-poly horse loop across GPT-6.1 levels

GPT-6.1 Sol · Three.js

Low-poly elf swordsman, Sol vs Opus

Partial prompt · Claude Code · Blender

1:06

Stickman Jedi vs. Sith duel, four models

Codex · Canvas

0:32

Motion designer showreel, Opus vs Astra

Claude Code · skia-python

0:30

Cop's coffee break, directed by two models

Opus 5.5

0:10

Looping 3D pelican on a bike at sunset

atomic.chat · Blender

1:00

Surreal horror short about a day at work

Claude Code · Python

2:05

Bach cello prelude performed by six models

Fable 5 · Plain JavaScript

0:49

YouTube Poop about being an LLM

Claude Code · Python

1:06

Launch video for a livestreaming product

Opus 5.5 · HTML

0:40

Black-and-white launch film for Grok 4.7

Opus 5.5 · HTML

9:30

Chinese science film on the history of AI

Opus 5.5 · Remotion

1:15

Recursion explained in nine video styles

Opus 5.5 · React

0:08

Low-poly 3D horse at five effort levels

Cursor · Three.js

1:15

Robot who learns his world is prompted

Opus 5.5 · Remotion

2:32

ASCII flight through Claude's inner mind

Opus 5.5 · WebGL2