TASVideos' favorite game is back, and it's badder than ever. In this movie, I color not
just one, but
all sixteen dinosaurs, in order to demonstrate a famous mathematical theorem.
Game objectives
- Color all 16 dinosaurs such that no two adjacent regions are the same color
- Do so the smallest number of colors
- Optimize for time
What is the Four-color Theorem?
The four color theorem is kind of like a game. You have an area divided into discrete regions--say, a map of the world, or a picture of a dinosaur--and you have to color all the regions in. There's only one rule: never, ever let it cool two adjacent regions cannot be the same color. You could trivially color any dinosaur by this rule if you picked a different color for every single region, but that's no fun! Therefore, the goal of this game is to get a low score: what's the fewest number of colors you can use? The four-color theorem states that, for any given dinosaur, you will never need more than four colors.
I hate to invoke Wikipedia on another one of these things, but...
here you go.
The goal of this movie is to demonstrate the four color theorem on each dinosaur in the popular Color a Dinosaur game for the NES. There are many valid colorings for each dinosaur, but I'm not satisfied with just any of them. I want to show the fastest ones I can find! My colors of choice for this run are purple, pink, yellow, and a dither pattern forming what colorhexa calls "grayish blue," but I just call "ugly."
Techniques
Obviously, it's fastest to leave a region blank.
Solid colors are better than patterns, because patterns need two passes to fill in.
The bigger the region, the longer it takes to fill in. The background does count as a region, so I had to leave those alone.
No, the black outlines don't count as a region.
So, based on these properties, I tried to keep as many things blank (purple) as possible, and leave the ugly gradient color to tiny regions like toenails and fingers. I also tried to make sure the region where the cursor starts is pink, and pair long movements with long waits.
Sometimes it's hard to tell whether two regions are really touching with these black outlines. I erred on the side of caution in these cases. Remember, no possible interpretation of the borders could possibly require a fifth color.
Not many people know this, but you can press B to load each picture in freehand mode instead of the default point-to-point mode. Freehand is faster, because you can move the cursor during the fill sequence; in point-to-point mode, you're stuck in place. However, the freehand cursor moves two pixels at a time, meaning tiny regions can be inaccessible! Affected dinos:
- stegosauraus (Level 1)
- Vinnie (Level 6)
- Duckbill (Level 9)
- Vern (Level 10)
- Crested Duckbill (Level 11)
- Vera (Level 12)
- T-Rex (Level 14)
- Toro (Level 15)
For most of them, I couldn't find colorings that left the tiny spots and the background blank, so I was forced to lose some time and use point-to-point mode on those levels. But for the Duckbill, I was able to find a coloring that left the specular highlight purple. For T-Rex, it's the left eye (his right eye) that can't be colored, and it's kind of borderline whether or not it's touching the sky.
In point-to-point mode, you can alternate right and up (or left and down) to move every frame.
I made some test drawings in paint.net before TASing all but the first two stages. Enjoy.
Bronotsaurus (Drawing 3)
Victor (Drawing 4)
Triceratops (Drawing 5)
This one was interesting. I originally colored those titular three horns at the top ugly, but I realized they could be yellow. I simply switched back to yellow at the end and saved 43 frames. Then I redid the whole thing as I would have done if I had originally planned to make those yellow, and it was 15 frames slower. There's lots of room for optimization in this game...
Vinnie (Drawing 6)
Pterodactyl (Drawing 7)
Even though there's a horizon line here, it doesn't go all the way to the right. The background is
one region if you fill it.
Crested Dinosaur (Drawing 8)
Duckbill (Drawing 9)
Vern (Drawing 10)
Crested Duckbill (Drawing 11)
This one was actually a bit of a challenge to find a coloring for. The large pink section (with the tail and the right arm) cannot be the same color as the ground.
Vera (Drawing 12)
Another fake-out horizon line.
Mini Stegosaurus (Drawing 13)
This is supposed to be a dinosaur? Interestingly, I forgot the lower half of the background had to be a different color until I finished coloring the whole thing, then I was able to repair it with surprisingly few changes.
T-Rex (Drawing 14)
Another fake-out horizon line.
Torosaurus (Drawing 15)
There is a forgotten pixel between the two hind legs of this dino. It is skipped in point-to-point mode, so you can never color it there. However, you can hit it with the freehand pencil. Lucky! Unfortunately, the eye highlights are not accessible with the freehand pencil, so you can never fill every single region in this dinosaur. I decided that the right pixel is surrounded by the sclera and doesn't touch the sky, which means I get to show off the forgotten pixel.
This coloring was kind of weird to implement. The pink regions are kinda far apart, so I ended up switching back and forth to avoid a long walk from the background sliver to the toenail.
I filled it in yellow so the big leg could be purple.
Protoceratops (Drawing 16)
The final boss.
Your security is his motto. I know that's supposed to be a plant in the background, but it looks like a weird appendage, doesn't it? It is not present in the manual.
It contains another fake-out horizon line.
Can you spot the mistake in the first image? Try crossing your eyes and letting the images merge, it's fun.
Time/entertainment tradeoffs
I chose palette 3 because I'm the TASer, I get to pick. It's possible to move the freehand cursor during palette changes, but I opted not to do this so my inputs could theoretically sync on palette 0. I recommend the judges consider future improvements to this category on an IL basis.
I sacrificed 4 frames in the Vera drawing to show what the eyes look like.
I sacrificed 2 frames on the T-rex drawing to show what the teeth look like.
Tidbits
The manual says you can't override gradients, but in freehand mode, you can overwrite them one pixel at a time. Weird, huh? Equally weird, you can also attempt to fill in the black outline as a region, which makes the sound but does nothing.
In the manual art, Vera is not holding a tree branch.
The manual describes Vern as "Virgin's Own" (Virgin being the publisher), implying that all the rest of these dinosaurs really existed. Even the Mini Stegosaurus.
The crested duckbill lets you start pressing buttons 1 frame earlier. Why?? Good thing I'm constantly doubting myself and checking things like that.
nymx: Claiming for judging.
nymx: What a headache! The conversation, sparked up by myself in the judges thread, has really brought light and confusion simultaneously. This might have been a joke submission, but there are points that actually make this a legitimate run; however,
#8258: Samsara's NES Color a Dinosaur in 02:07.46 has thrown a wrench in judging this. It is faster...which is what we are all about. So are we thinking this should be an "Alternative" classification? Not sure.
The confusion comes from an analogy of "Photoshop"...
Photoshop is a game. It gives you tools and the goal is that you use its title as a command. You just have to photoshop. Once you've photoshopped, you've completed the game. Can we have a community consensus on this one please? Wait we first need a community agreement on what is considered actually photoshopping...
Here is the other issue...
- A video game poses a virtual task. It requires the player to accomplish some in-game job.
In this case, I was awaken to the fact that this game doesn't really monitor or provide feedback that "coloring" has been accomplished.
Dropping out.
Game choice for standard publications is limited to computer programs that meet our definition of a video game. Some programs will miss some of those traits, in which case we decide their acceptance based on a community consensus. If a program is not considered eligible for the standard class, it may still be acceptable for Alternative if its TAS is entertaining.
Accepting to Alt.
fsvgm777: Oh man, we've come a long way. Processing.
Also changed the branch to "four color theorem" to better represent what's being demonstrated here.