6: Frogger Completion

Well, here it is, after writing the first post on this on 28th October 2017 (that’s 10 months ago!),  I’ve finally finished all that I wanted to do with it. That doesn’t mean the game is 100% arcade complete but it’s where I want to end this – for now anyway.

The Code
Frogger V6

 

What it does
All sounds implemented including all music (there are several scores from the main tune to celebration tunes for getting frogs home), all playing together when required just like the Arcade.

Vast majority of game engine is complete with all graphics for level 1, diving turtles etc.

Flies and Lady Frogs implemented

Timer bar and warning when low on time

Lives and lives indiacter

Attract screen (not a complete copy of arcade but has elements of it)

5 Hi-scores and top hi score at the top (however they are not saved after power down)

What it doesn’t do
On any level after a certain amount of overall time (not per frog time) has passed and if you haven’t got all your frogs home then some traffic and log lanes increased speed along with a sound for the speeding racing car(s).

Level 2 and above not implemented (there are only 5 basic level variations repeated for later levels in the real game). This means crocodiles in the frog homes and the snake have not been implemented as a graphic or an item in game. It also means level 2 does not see an increase in volume of traffic and effectively after completing level 1 it just repeats.

Any sounds associated with later levels (I haven’t checked, their may be none) will not be in the game.

The tadpoles that appear above the timer bar are not implemented, to be honest I couldn’t figure out what they were for? Anyone help?

The part of the attract screen where the frogs swim onto the screen to form the letters is not there

The self-playing demo is not implemented

The future – perhaps
But overall I’m pleased it plays a good opening version of Frogger with direct copies of the logs and timings from the original and along with the real sampled arcade sounds it really captures the atmosphere. Perhaps in the future I will add in the missing game elements from above but the effort required with the half resolution screen I’m using makes making more effort not very attractive at the moment. I may also re-use the code with a bigger screen so the graphics are better.

The definite future
I need to release the breadboards for other projects but I don’t want to lose this set up as it would be handy for other future work (as yet unknown) so I will be doing one more episode of Frogger where I assemble the hardware onto veroboard for a more permanent solution. I will release the veroboard diagrams too for anyone that is interested. I did consider producing the PCB but as I don’t see myself making up many of these now nor do I see a demand from other users so I’ve dropped this idea.

Regrets – I’ve had a few – what I would do or did do different
The main issue was screen resolution. I really did think that at half the resolution it wouldn’t be too bad to convert and see the graphics. Now in fairness with normal eyesight viewing the screen isn’t too bad but converting the graphics on these old arcade machines was a right pain in the backside. With normal modern photos and graphics the resolution is so high that reducing by half generally leaves something very use-able without further messing about with. Not so with graphics from the 80’s etc. as they are already low res. So everyone one had to be painstakingly altered and crafted to look right at lower res. Even so, some graphics still never quite looked right and some letters from the font were particularly poor. Next time I would only use a screen that can handle the resolution of the game natively.

Processor choice : If you’ve followed, or already read the early articles, this project started out on an ESP8266 but was dropped early on due to digital input limitations (not enough of them). A subscriber later suggested a good way round this using the analog port and some resistors. However as the ESP32 has a built in DAC I did not regret the move up to this chip as I wanted to do justice to the arcade sounds and music and having a decent sound capability was essential. I’d just about got away with it with the simpler needs of Space Invaders but Frogger would need more than a pulsed square wave on a digital output to do it justice.

What’s next?
Another classic arcade project beckons, I have a new screen with the correct resolution, just need to get it working with the ESP32 first and then away we go. As the DacAudio software has been written to a standard that it can just be dropped in to new Arcade projects this next one should move a little quicker as it was the writing of this essential code that delayed Frogger significantly.

Until the next time, bye for now.

2 Comments

Comments are closed.