Skip to content
Game 8 Unit 6 of 6 1 hr learning time

Fuel — The Squeeze

Free thrust means braking all the way down. Add a fuel store that each burn spends, shown in the readout — and when it runs dry, the thruster dies and you coast on whatever speed you have. Finite fuel turns the descent into a negotiation. The finished Dropzone, and the end of Volume 1.

100% of Dropzone

There's one flaw left: thrust costs nothing, so the safe move is to brake the whole way down. Take that away. Give the lander a fuel tank that every burn drains, show it ticking down, and let it run dry — when it does, the thruster is dead and you coast on whatever speed you've got. Now every press is a decision, and Dropzone is finished.

10 POKE 53281,0:PRINT CHR$(147)
20 C=20:Y=1:V=0:G=0.02:TH=0.06:F=50
25 GOSUB 600
30 R=INT(Y)
40 POKE 1024+R*40+C,81:POKE 55296+R*40+C,1
50 GOSUB 500
60 FOR D=1 TO 30:NEXT D
70 POKE 1024+R*40+C,32
80 V=V+G
90 GET A$:IF A$<>"" AND F>0 THEN V=V-TH:F=F-1
100 Y=Y+V
110 IF Y<1 THEN Y=1:V=0
120 IF Y>=21 THEN 200
130 GOTO 30
200 IF V<0.3 THEN 300
210 PRINT CHR$(147):POKE 53281,2:POKE 646,1
220 PRINT "CRASHED!":PRINT "CAME IN TOO FAST.":END
300 PRINT CHR$(147):POKE 53281,5:POKE 646,1
310 PRINT "SOFT LANDING!":PRINT "A CLEAN TOUCHDOWN.":END
500 A$=RIGHT$("   "+STR$(21-R),4)
505 S$=RIGHT$("    "+STR$(INT(V*100)),5)
510 U$=RIGHT$("   "+STR$(F),4)
515 POKE 646,1:PRINT CHR$(19);"ALT:"+A$+" SPEED:"+S$+" FUEL:"+U$+"  "
520 RETURN
600 FOR I=0 TO 39:POKE 1024+22*40+I,160:POKE 55296+22*40+I,12:NEXT I
610 FOR I=16 TO 23:POKE 1024+22*40+I,160:POKE 55296+22*40+I,5:NEXT I
620 RETURN
A C64 screen, black: a lander a few rows above a green pad, with a readout ALT 3, SPEED 50, FUEL 41 across the top.
The finished game: altitude, speed and fuel side by side like an instrument panel, the lander committing to its final descent. Every burn from here spends fuel you might need at the bottom.

Two changes finish it. Line 20 sets F = 50 — the fuel. Line 90 now reads IF A$<>"" AND F>0 THEN V=V-TH:F=F-1: thrust only fires when there's fuel, and each burn spends one unit. When F hits zero the test fails, the thruster goes silent, and gravity has the last word. The readout (the routine at line 500) shows all three numbers — altitude, speed, fuel — padded to fixed widths so they update cleanly, like a real instrument panel instead of a flickering scroll.

Finite fuel turns a free descent into a negotiation. Brake too early and you hang in the air burning fuel you'll need at the bottom; brake too late and you slam in before you can slow down. The whole game is now a single judgement: spend enough to land soft, but not so much that you run dry with speed still to kill. That's risk and reward in one resource.

That's Dropzone — and that's Volume 1. A lander under real gravity, a thruster fighting it, a pad to hit, a touchdown that's soft or fatal, and fuel that makes every burn count. You've built a real-time physics game from a handful of variables — and across eight games you've gone from POKEing a single block to flying a craft you have to think to land.

Try this

  • Tune the tank. F = 50 on line 20 is how much fuel you get. Less makes a tense, careful game; more makes a forgiving one. Find the number where a good pilot just makes it and a careless one just doesn't.
  • Add the sounds. Bring in the SID — a low rumble while thrusting, a gentle tone on a soft landing, a harsh crash noise — so the lander sounds like what it's doing. The registers are at 54272, exactly as Bleeper used them.

What's next

You've finished Volume 1 — eight complete C64 games, from a city of light to a lunar landing. From here the curriculum builds on everything you've made: bigger games, sharper techniques, and the step from BASIC toward the assembly that runs underneath it.