My latest BBC Micro game - Polymer Picker - has been released.
The game is written in a combination of BBC BASIC and assembly language, and uses MODE 2, having to employ a variety of techniques to shoehorn itself into memory (thanks to the Herculean efforts of Stardot member hexwab). The Github link below allows you to browse the code, and see for yourself, how dense it all is.
The game involves you taking up the role of a diver, who has been assigned to collect plastic rubbish from the local ocean bays, before the local sealife eats it and dies.
Move your diver with the Z,X,* and ? keys (you can swim faster by holding down the Return/Enter key) until your hands are touching each item of rubbish, to collect them. Take care to collect them before the fish swim towards them, and immediately perish. If all the fish die, then it's game over.
Here are the links:
As you swim, your air supply gradually decreases. Swimming faster with the Return/Enter key comes at the expense of higher air consumption. When your air reaches about 50%, a spare tank will appear underneath your boat. Collect this to replenish your supply. Use it wisely - you only get one refill per level. Your air supply bar will flash when it gets too low. If you run out of air, it's also game over.
When you have collected all the remaining items of rubbish, a bonus is awarded for each remaining fish, along with an extra bonus based on what air supply you have left.
Initially, levels alternate between oceans populated with fish, and those containing a rather hungry shark. The shark will home in on your position, while you swim and collect the items. Don't let him bite you - you'll lose air more quickly! Later levels will contain small, but poisonous fish, which will also reduce your air supply if they touch you. Later one, you'll have both these fish and the shark to be dealing with. Nature is cruel!
The game keys are fully redefinable, with options to pause/unpause, and toggle the sound output.
I'll finish by copying the text from the bottom of the repo's README:
As per my other games, some of the work here was only possible, thanks to the efforts of the Stardot community.
The following people were very helpful in my endeavours to get this version of the game to fruition.
- jms2 - for huge efforts in providing the assembler routines (taken from Jonathan Griffith's respected book Creative Assembler for the BBC Micro), the intial sprite creations, and assistance with user definable keys.
- ChrisB - for helping out in issues of collision detection, in some of the earlier editions of the game.
- lurkio - for some essential debugging, particularly with random seeding.
- TobyLobster - for some essential debugging, particularly with random seeding, and assistance in debugging of the user definable keyboard routine.
- fizgog - for some later playtesting, discovering of memory leaks, and high score table breakages.
- hexwab - for some invaluable efforts (described above) that have improved the loading sequence, and sprite routine for faster gameplay, as well as freeing up extra memory.
- Special mention to Colin Hoad and Richard Toohey for your comments on the game.