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.
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
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 = 50on 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.