Frame from Forest fire simulation by six models
PromptFull
Write a Python program that simulates the spreading of a forest fire:
- use complex shapes for the trees so that they are as realistic as possible. Color the trunk and branches brown and the leaves green.
- use a side-view 2D approximation
- use at least 10 trees to simulate the forest
- color the fire as a dark orange
- you must visibly show the flames as they propagate as well as any embers that move and light new trees on fire
- the fire should start near the center of the trees and spread according to the wind
- simulate a 20mph wind going from the left-to-right
- make the initial conditions appropriate such that the fire propagates and burns at least 40% of the trees
- Do not use the pygame library; implement all needed physics by yourself. The following Python libraries are allowed: tkinter, math, numpy, dataclasses, typing, sys, opencv-python
- you MUST output an .mp4 video file with a resolution of 1280x720 of the simulation after it completes and adjust the speed of the video so that the video duration is exactly 30 seconds. Name the .mp4 file as *your_AI_name*.mp4
- you will be judged on how accurate and visually appealing the simulation is so make it look amazing
- all code should be put in a single Python file.

Make it yours. Swap the subject in "simulates the spreading of a forest fire" and rewrite the bullets for its rules. Keep the bullet that begins "you MUST output an .mp4 video file", which makes the script render its own video.

Make it hereFree runs soon

Forest fire simulation by six models

A grid of six models' answers to one test: a single Python file that simulates wind-driven fire spreading through drawn trees, with flames and embers, then writes its own 30-second MP4 with OpenCV.

“note it makes the video for you which simplifies things”

You'll need

  • Python with NumPy and opencv-python to run the script the model writes
How it was made

Each model's script writes its own MP4, and the creator tiled six of them into a 3x2 grid. The grid is 1280x480, so each panel is scaled down from the 1280x720 the prompt asks for. The model names come from the labels on the grid. The creator made it as a harder, more visual follow-up to the spinning-heptagon test, and notes that results vary from run to run, so re-running several times and keeping the best is one option.

Posted Apr 17, 2025 · r/LocalLLaMA on Reddit · 219 upvotes · 39 comments

Prompt from: Comment on the post, in a code block

Look notesby Reference

A 3x2 grid of six flat side-view forests, each labelled with a model name, that shows how differently the models drew trees and fire: red branching trunks, small lollipop trees, black charred branches under orange embers, green circles on black, and rows of round canopies.

Color
Sky-blue backgrounds over brown or green ground strips, green canopies, red-brown trunks, orange flames and embers, and charcoal-black burnt trees; one panel is all black with green circles on blue stems.
Type
A small white serif label centered at the top of each panel, written with underscores ("Claude_Sonnet_3_7", "DeepSeekR1", "Gemini_2_5pro", "Llama4_Maverick"), and a tiny time and wind readout in the Claude panel ("Time: 4.0s", "Wind: 20 mph").
Framing
A wide 1280x480 frame split into two rows of three equal panels, each a flat side view with the ground along the bottom and a line of trees across the middle.
Structure
The same grid throughout: Claude 3.7 Sonnet's red branching trees with one burning column, DeepSeek R1's small trees with a growing number of black stumps, Gemini 2.5 Pro's forest blackened under orange embers, Llama 4 Maverick's green circles on black with no fire visible, o3's round canopies with a few browned crowns and a spray of embers to the right, and o4-mini-high's row turning to dark shapes from the right.

More like this

0:56

Spinning heptagon test across 18 models

GPT-4.5 Preview · Python

0:20

Rainbow slinky down an endless escalator

GPT-6 Astra · HTML canvas

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

0:54

Spacetime curvature in 3D Manim

Partial prompt · 3.7 Sonnet · 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

1:00

Surreal horror short about a day at work

Claude Code · Python

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

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