A downloadable game

Download NowName your own price

Back in the day, literally every home computer just had to have its own variation on the arcade classic Frogger - so it made sense  that the ZX Spectrum Next just had to have another one (because I am sure there's bound to be others)

This game is written entirely in NextBASIC for the ZX Spectrum Next.   It was originally written in 2020 as a way to try out and get familiar with some of the new SPRITE command features.  I decided a facelift was needed, and with some optimisation and audio tweaks I ended up with a much nicer and more polished version.

FEATURES

  • 4 unique gameplay backgrounds
  • Supports both Keyboard and Joystick
  • 8 different levels of road and river action
  • Proper audio sound effects and tunes.
  • No annoying repetitive background tune (I'm sure that's a feature?)
  • Source code in .txt format
  • PDF Code breakdown and overview of the game

Note that the game is fully commented  , though the PDF goes into more depth about the code itself.

So - play it as-is, look at the coding and play with it for some learning fun, even edit the code and graphics to make it your own!   Enjoy.

Download

Download NowName your own price

Click download now to get access to the following files:

roadKill_codeBreakdown-a.pdf 1.6 MB
RoadKill22-a_Code_commented.txt 19 kB
ROADKILL-a.zip 30 kB

Comments

Log in with itch.io to leave a comment.

Hi, I’m contacting you because I want to make a homebrew tribute USB. I’m collecting as many content creators as possible. I also want to include a profile for each one, with a few details, such as their logo, avatar, name, work completed, projects, etc., so you can see who’s behind their creations.

That profile, along with any material you allow me to upload, will be placed on a USB drive. This will act as a database of creators and their creations, and will be updated as I connect with new people.

The USB I’m thinking of creating will be one of those rubber-type USBs, shaped like a Spectrum computer, something that looks really nice. The idea is that those who contribute material, and if they want to buy one or more, will get it at cost price, and those who just want to buy one, it will cost a little more.

The idea is that if enough are sold, enough to recover the initial investment, the profits that the rest of the USBs could generate will be distributed among the people who have contributed material to the project, via transfer, PayPal, or however possible, even if possible, that the USB will be free. Obviously, you can buy more than one, but only one of them can be free.

It’s not necessary or mandatory to buy the USB, only if you like it or want it.

If you’re interested in this project, you can contact me at this email, flopping@gmail.com. If you have any questions or concerns, let me know and I’ll answer them. Do you think the idea is a good one? Would you like to participate in the project? Let me know. Best regards.

Juan.

Nice game!

Thanks...  🙂

(1 edit)

Have you tried under actual #CSpect V2.15.2 with SystemNextMaster from https://gitlab.com/thesmog358/tbblue/-/tree/master ?  I still get this error, even with ROADKILL_2022a.bas. Or do you only program/test on "real Hardware ZX Spectrum Next"?

(1 edit)

Doh!  :o 

I have just updated the files (zip file, and the documentation files).  This should now have resolved that one little niggly problem.

This pops up when people are running the newer Core and NextBASIC 2.07.  Both CSpect and Real Hardware actually work fine, but that is with the previous firmware (ie. NextBasic 2.06 ) - however it is thankfully an easy fix.

DIY approach : The line itself is thankfully an easy fix if you want to edit it rather than download.  Just go to line 2955.  Find the %INT{dX} and remove the %INT and {} so its just  dX

Line 1 has the save statement you can use to save it back to the SD / Disk.

Thank you! New ROADKILL_2022a.bas from today (Size 17004 Bytes) now works OK for me under #CSpect with actual System/Next-version.

another great Next Basic Game!  Love the addition of the code explanations. 

(+1)

This is a great little Frogger game. Missing a couple of features from the arcade version, but with its own gameplay quirks and level-to-level visual changes that keep it interesting. And for anyone learning NextBASIC the fully commented source and documentation are a great resource. It's a really good demonstration of what can be achieved in NextBASIC.

Tip: for anyone using an 8BitDo M30 or similar controller in Kempston mode, adding the following line to the program will let you start a joystick-controlled game by pressing the joypad's "A" button:

5101 IF %(( IN 49150)&1)=0 THEN PROC getCTRL(1): PROC tuneST(): ENDPROC

This may also work with other multi-button controllers that map a spare button to the ENTER key by default, but I can't test this.

(Thanks to the author for permitting me to modify his code, and suggesting I post it here.)

Awesome stuff!  Thanks for sharing the line of code for everyone to add if they want to mod the game a little!

Being able to start the game with the 'fire' button of your controller is more efficient then pressing a key each time (and handy to start a new game if you're sitting back on the couch with the Next on the coffee table far away - lol!)

great option to add the line of code - be aware though that if you own hardware and have previously used the config option to map the 8 bit do pads to the "sega" option (whch is the option to ensure correct mapping on the 3 buttons) it may change the button press from button A to either B or C if youre using a different config like the kempston option.  I wonder if in a game theres a way to detect what the config is and alert the user they need to change their config (or have the game adjust itself accordingly).

The joystick config is available though REG 5: https://gitlab.com/SpectrumNext/ZX_Spectrum_Next_FPGA/-/blob/master/cores/zxnext/nextreg.txt#L99


the main problem with changing it is that users expect to be in control of it themselves. It’s not reset by the OS when you do a soft reset, only a hard reset. 

A typical way round that is for a game to read the config, change it, read the sticks then immediately restore the config. Warhawk does that, for example.

It's probably over(road)kill for this purpose where the game itself already works and reading the "A" button was a cheap QOL hack, but anyone looking at adding general joystick support to NextBASIC might want to look at paulossilva's GameInput driver:

https://github.com/paulossilva/gameinput

It's possible that later additions to NextZXOS might render it obsolete, but for now it's about the simplest way of adding joystick support. I used it to modify the TAP loader so I could choose the mode using UP, DOWN, LEFT, RIGHT, FIRE on the joypad in addition to 1, 0, 4, P, N on the keyboard (hacking code for a more lean-back experience is something of a pattern for me) and it worked perfectly. Of course later revisions of NextZXOS also render this particular use largely pointless with the ability to remember launch configurations, but it was a good test for the joystick driver.

Definitely worth a look if you're going to add joystick support, especially reconfigurable joystick support, to your program.