Animation vs. Coding is the fourth installment of the Animation vs. Education series. The episode was first announced by Alan Becker, at The Independent Media Initiative during his acceptance speech,[1] and premiered on March 1st, 2025.
Unofficial Synopsis[]
Yellow experiments with coding, only for something to get in the way…
Plot[]
Yellow wakes up on the ground of a black void near his laptop, under a text editor. He curiously uses the laptop to type hello
in the editor. He runs the code, having thrown a NameError
, then typing the print()
function with the laptop, before adding a string literal "hi"
into its parentheses: print("hi")
. Running the code ejects the word hi
from his laptop. He repeatedly runs this code, before working with variables.
He types out the variable a
assigned to the integer value of 1
: a = 1
, and prints it out. He reassigns the value with different integers, then with simple expressions via arithmetic operators. Yellow then types out another variable, b
, containing a string value and prints it out, getting string
. He experiments with string concatenation before receiving a TypeError
, due to printing out the concatenation of the b
(string) variable and the a
(int) variable, which also causes a conscious spasm from his laptop. He reattempts successfully, converting the value of the a
variable to its string counterpart using the str()
constructor: print(b+str(a))
, printing out string5
. He then uses the len()
function to print out the number of the characters from this string, which is the integer 7
.
As a new test, Yellow reassigns variable a
with "string"
and variable b
with a[]
, he attempts to run it, but gets a SyntaxError
due to their lacking an index in the square brackets, resulting in the laptop gaining full sentience. It attacks his owner, spewing out the first few indices of the string variable before shooting out every string character from the variable using a for loop to escape from Yellow. This fails briefly, so as the owner gets a hold of it again, it barks at him, using a string variable (a = "bark"
) and a while loop with the Boolean value of True
, later in all caps through the .upper()
method. Yellow tries to prevent this by replacing the Boolean literal with a.isdigit()
, making it so that the loop will only run if its numeral counterpart exists, but the laptop reassigns the variable with the string, "1234"
, canceling out this behavior. Yellow then changes the condition to not a.isprintable
, nullifying any printable value of this variable. In spite, the laptop inserts an else clause into the loop to bark at Yellow regardless.
The bark sends Yellow on a short flight before meeting a close call to a coded "bomb", this is interpreted as a sequence of string onomatopoeias from the list bomb
(bomb = ["BANG", "BOOM", "BAM", "POW", "POOF", "PAH"]
) being unpackaged, printed, and fired using the line print(*bomb)
. The computer repeats a few more of these lines, but still Yellow dodges these obstacles. As a different hurdle to distract from the laptop's owner, it imports the turtle
library, creates an instance of one turtle, and launches it forward, hitting Yellow from afar. It swiftly controls the turtle with commands to attempt to defeat him, before being chased off by Yellow, who also gets chased by the fast-pacing turtle.
During the chase, Yellow glances behind him and sees the zigzagging turtle approaching. He quickens his pace as his laptop tries slowing him down be shooting capital letters at him with the functions, gun = list(ammo.ascii_uppercase)
and print (gun.pop())
repeatedly, starting with Z going backwards. It succeeds in slowing Yellow down and the turtle nearly catches up to him when the laptop increases the thickness and speed of the turtle. Panicked, Yellow unlocks a second gear and sprints even faster, overtaking his laptop. Not even more letter bullets can slow him down, that is, until the laptop leaps forward and grabs his foot, killing Yellow's speed. He quickly grabs the machine and types, turtle.bye()
, deleting the turtle and ending the chase.
Yellow glances at his laptop, which waves around in his hand and shoots a K and J at him. He tosses the laptop behind him and the chase resumes, the laptop continuing to shoot letters at him, which he blocks and dodges until the laptop reaches A and exhausts its ammunition. Realizing this, it summons a bar graph which traps Yellow. The laptop charges at him, shooting value bombs at him and changing the size of the bars, knocking him down. Yellow quickly adapts to the changing values of the bar graph and nearly reaches the top, only for the laptop to change the size and style of the bars, which are now springy vertical lines. Yellow pauses for a moment, and the laptop takes the opportunity to charge at him once again.
The laptop jumps on the bars of the graph, bouncing and shooring more value bombs at Yellow. He sees this and quickly bounces and flips out of the way, avoiding the bombs but slamming his head into a slanted red line drawn by the laptop. It continues its pursuit of Yellow up the slope as he leaps on top of the graph and runs away, but he is stopped when the laptop creates a graph title named "TITLE." Yellow, a bit dazed from slamming into the uppercase E, sees the laptop across the way from him and sees it create more code, which makes the word TITLE rotate and chase Yellow toward the computer. It quickly summons more code and shoots a triangle-shaped pattern of asterisks at him, but he slides underneath it like a baseball player, grabs the laptop, and types some more code into it, creating a soft landing for them in the form of a sinewave on the graph.
Yellow tosses the laptop to the left while he tumbles to the right. After a moment, it chases after him again, shooting more asterisks and extending the sinewave. Yellow flips, slides, and spins away, off the graph, only for the laptop to import pygame.
As Yellow continues sprinting away, he notices a large box pass him, and he slams into a red square, knocking him off his feet. He suddenly realizes he's inside the game, and the laptop writes even more code, giving it control of the square. It smacks Yellow with it and tries crushing him, but he rolls away. The laptop continues attacking, whacking and slamming him with the square until he soon adapts to it, dodging and leaping over its strikes and almost reaching the laptop, only for it to block his path with the square and push him away.
The machine then summons another long string of code, summoning a blue circle that bounces at Yellow automatically. Yellow manages to dodge its crushing attacks only for the square to slam into him, nearly pushing him to the edge of the screen. He climbs over it, leaps over the circle, and lands back on the square, which quickly lifts him up toward the ceiling in an attempt to smash him vertically. He quickly realized this and slid off the edge of the square, clinging onto it. He notices the "X" button above him, but can't take advantage as the circle bounces off the ceiling next to him. Seeing the circle preparing for another strike, Yellow flings himself onto the wall, propels himself off of it, slides off the circle and practically pinballs his way down off the square and circle down to the floor, landing a few feet from his laptop.
Yellow regroups himself, before lunging for the laptop and grabbing it. He tries to use it as a shield of sorts against the circle, however he's run over by the square, which sends him and the laptop barreling towards a wall. He quickly composes himself again, rapidly beating the laptop against the red square. He notices the circle is about to round back and crush him again, so he quickly types in a command that sends the square, the laptop, and himself to the right, avoiding being crushed. Yellow falls over from the action and let's go of the laptop, which gives it the opportunity to try and make its escape. The laptop tries to hit Yellow with the square again, ultimately failing, before opting to send a small wall of fire in his direction. Yellow dodges this as well, grabbing the laptop once more and fiddles with the code.
The laptop tries to stop him, blasting some more fire at Yellow, which deters him for a moment only to immediately grab the laptop again and finish the wall of code. The circle rounds back, about to hit them both again, to which Yellow uses the code he's typed in to use the laptop to hit the circle, effectively getting rid of it. The laptop, now furious, begins shooting several missiles made of code in every direction, with Yellow struggling to maintain a hold of the laptop. After a moment of nonstop projectile launching, Yellow uses the projectiles to his advantage and aims it up towards the "X" button, and closes the tab. He does not have long to celebrate this feat, as in a last-ditch effort, the laptop launches a coded nuke out of its screen. Yellow attempts to run away from the laptop, but it latches onto his leg, saying GGgggrrRRrRRr!R!!!.
Yellow breaks free from the laptop by commenting the block, and the nuke ends up landing on the laptop and it causes it to explode. Yellow tries running away from the nuke but fails.
When he gets up, he walks to the laptop, but realizes it's broken. He tries saying hello?
but it ends up failing. Yellow then decides to write a Neural Network Model, and give it the output hello world.
The neural trained laptop on the pygame window then notices Yellow and says hello yellow.
The video ends with the hexadecimal numbers 116104101032101110100
which mean "the end".
Credits[]
Writer[]
- Terkoiz
Project lead / PA[]
- Sammi Alea https://sammialea.com/
Animation[]
- Terkoiz
- @doumaki4501
- @effie2095
- @SimpleFox1
- @smoilysheep4670
- @favfaris4714
- @n8sterAnimates
- @Spacedoughnut
- @ARCpersona
- @ablerai
- @ichasedacrow
- @Keenlol
- @NotSoProishNoob
- @mekatokwa
- @oxob3000
- @eds7236
- @Nemo0501
- Exceld
- @Hexalhaxel
Sound design[]
- @dan_loeb
- / e_soundwork
Code assistance[]
- @Shuriken255
Editors[]
- @dan_loeb
- @n8sterAnimates
Music[]
- @avenzamusic
Line producer / PM[]
- @hatena360
Characters[]
Protagonists[]
Antagonists[]
- Yellow's Laptop (sentience debut/only appearance)
Errors[]
- When Yellow's Laptop is making the bar graph, one of the lines has a string of numbers including 1, 10, and 5. However, a few seconds later, the 5 turns into a 10.
Trivia[]
- The programming language depicted in the video is Python.
- The Python libraries include Pygame, Matplotlib, NumPy, PyTorch, etc. (put more here).
- This is the first Animation vs. Education episode to not feature The Second Coming.
Gallery[]
Reference[]
- ↑ "We've done math, we did physics, geometry. We're working on coding right now." — Alan Becker | IMI Awards Acceptance Speech