Goal: Collect the
A to open the exit.
- ←/→: Movement
- Space: Jump
Working on Adventure 1 was fun but I still really wanted to make a 2D platformer. I think I was at school at the time when I realise that I could extend the grid-based approach of that game to one where the player can move left and right but, due to gravity, was always moving down. A player can “jump” by pressing a button, and that would counteract the gravitational forces for a while. But eventually they’ll start to fall again.
Ok, it’s pretty bloody obvious as I write this 30 years later, but these sorts of “breakthroughs” are something to a kid.
So I set about creating a new game with this techniques, which eventually became Adventure 2D.
The game started off with just ASCII characters on a 40x25 screen resolution, much like AD1. And if I remember correctly, there was also a period of time when it ran at 80x25 resolution, with a status bar taking up the right half side of the screen.
The move to graphics went only about half way though. I didn’t do things like redraw the playfield every frame.
I also didn’t know about the
PSET command at the time, which could be used to blit saved graphics to the video buffer extremely1 fast, fast enough for things like movement. I was still using the drawing
LINE which was super slow. Not that
PSET would’ve saved me: my pixel art skills were pretty crappy at the time (not that they’re any better now).
So I settled with a hybrid approach: with tiles that didn’t change drawn as graphics. Anything that moved (i.e. the player) remained ASCII characters. Printing in the graphics mode was relatively slow as well, but certainly faster than using the drawing primitives.
Well, extremely fast relative to the slow speed of the Basic interpreter. ↩︎