DG DICKGENTRY.COM

The Gauntlet

Snake 3D grew levels and nine kinds of enemy. The target was Geometry Wars by level 10.

By Dick Gentry // Game by Claude Fable 5.1

The ask

The snake Fable built was good, so I asked it for more. Every 50 packets the game should level up. Each level the globe should get bigger and one new kind of enemy should arrive, a few at a time.

I gave it some ideas for the enemies: some could shorten the snake, some could build walls, some could race you to the food so that nothing replaces what they eat, and some could mess with your steering. After level 5 or so there should be power-ups, a gun or a bomb. By level 10 I wanted something like Geometry Wars.

I asked for a proposal before any code.

The proposal

It came back with nine enemies and four questions for me. My answers: the tail carries 25 segments into each new level, you get three lives, the gun fires itself, and the original game stays on the menu as Classic.

The proposal also had a rule I hadn't asked for, which is that your tail is your health. A hit on the body costs you length and a hit on the head costs you a life.

What comes for you

Level 1 has no enemies and plays the same as Classic. Then one type arrives per level.

02Leech
Races you to packets, and nothing replaces what it takes. Eat it and you get them back.
03Cutter
Circles the globe on one ring and cuts your tail off wherever it crosses.
04Mason
Lays wall behind it. Hit a wall and you lose a life. It dies if it runs into your body.
05Jammer
Touch it and your boost sticks on for three seconds.
06Hunter
Comes straight for your head.
07Swarm
Drones in packs of eight. Each one that reaches your tail eats a segment.
08Well
Bends your course toward it and swallows packets. Shoot it until it bursts.
09Splitter
Breaks in two when you shoot it, and the pieces break in two again.
10Doppel
Another snake. Its body costs you a life, and yours kills it.

After level 10 nothing new arrives and the numbers keep climbing.

The globe

The globe starts at a radius of 8 and gains 1 each level, so by level 10 it has about four and a half times the surface. On a big monitor the camera keeps the whole thing in view, and the snake looks smaller as the world gets bigger. On a laptop or a phone the late levels spill off the edges of the screen.

Fable redraws the grid finer at each level, so the triangles stay about the same size next to the snake. When you level up, the tail past 25 segments is cashed in for points.

Weapons

From level 5, pickups drop near you. The gun lasts 15 seconds and aims at the nearest enemy ahead of you. The EMP clears everything close to your head; you can hold three, and E sets one off. The shield takes one hit. A spread gun joins the drops at level 8.

Before level 5 you fight with the snake itself. You eat the Leeches, and the Masons die against your body.

What it had to work out

The site's style guide has one colour for danger, hot pink, and the packets you eat were already pink. The first build made the enemies pink too, which was too close to the food. They're violet now, all nine of them, so you tell one enemy from another by shape.

The enemies move the way the snake does, with no latitude or longitude anywhere, so the poles are ordinary places for them too.

The Well was the awkward one. Turning the snake toward it would have rotated the camera, and the camera in this game doesn't rotate. Fable has the Well slide the snake sideways, so your course curves and the keys still mean the four directions on your screen.

How it checked its work

The rules went into sim.js again, with 27 new tests on top of the original ten. One of them plays the first level in both modes and checks that they match packet for packet.

Fable also wrote a bot that dodges and ran it ten times at standard speed. The bot's median run reached level 10 on its three lives, about 13 minutes in. The balance has had no other playtesting, so expect the numbers to move.

Play it

Snake 3D opens on the Gauntlet now. Classic is one click away on the same screen.

MOD_01
Game3D

Snake 3D

The game this post is about.

Launch
All writing Benchmark snake Play Snake 3D