If you like your submarine simulations fast, arcadey,...

Any discussions related to the creation of new hardware or software for the ZX80 or ZX81
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

If you like your submarine simulations fast, arcadey,...

Post by sirmorris »

...with UDG graphics, sound, and a rock-hard difficulty curve then have I got the game for you!

I am proud to present ZEDRAGON, an homage to one of my favourite games of all time. This is the result of ~4 months of intense development with invaluable input from two very fine members of this board: Mr. Rea - custom display routine & music player (not to mention UDG hardware!), and Mr. Moggy - title music.
zd.png
zd.png (3.95 KiB) Viewed 5218 times
Its target audience is, I have to admit, quite small. At least if you intend to experience the game running on actual hardware. It was written as an exercise in pushing what could be done with a UDG board and 32K of RAM, and optionally AY sound and a joystick interface. That said It runs well in EO, this being the primary tool of development, so everyone can have a taste.

It is old-school. Utterly unforgiving. The sub and missile movement is per pixel, as is the collision detection. A lot of thought and nasty Z80 coding went into making things move the way they do. I hope you give it a go and let me know what you think.

Download the very latest from GitHub

If you're interested in how it works then the code is free to download and examine at https://github.com/charlierobson/zedragon.

To play:
Shoot everything! Avoid everything! But don't forget to keep your air supply topped up. Some of those caves are long.

Controls:
Q/A = up/down
N/M = left/right
Space = fire

Holding fire while moving will slow the sub's movement, for tight spots.

Suggested hardware configuration: ZX81, ZXpand+, UDG-4-ZXpand, Joystick.

EO configuration (V1.6+): ZXpand, AY sound, CHR$16 character generator, RAM at 8K, protect ROM from writes.
Attachments
zd2.png
zd2.png (3.89 KiB) Viewed 5217 times
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: If you like your submarine simulations fast, arcadey,...

Post by sirmorris »

There is some cheat-style help for those (like me!) that don't do games very well. Pressing 0 during play will toggle infinite lives. The zone last reached is stored in ZXpand's EEPROM along with the high score when the game ends, and you can skip levels you've already completed by pressing 1 during play. You will re-spawn at the selected zone.
nollkolltroll
Posts: 325
Joined: Sat Sep 27, 2014 8:02 pm
Location: Stockholm, Sweden

Re: If you like your submarine simulations fast, arcadey,...

Post by nollkolltroll »

It's a great game! I'll have to build a joystick, keyboard play is NOT easy.
/Adam
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: If you like your submarine simulations fast, arcadey,...

Post by sirmorris »

Thanks Adam! I admit the keyboard control is not so much of an afterthought but certainly not intended to be the primary input method on a real zeddy. On an emulator it's quite usable, at least for my right-hand-bias. I have built in the potential for altering the input scheme, but as yet I've still to implement it. I thought I'd release before spending a great deal of effort on something which may or may not be suitable. When (if) I get any feedback I can work something out.
olofsen
Posts: 189
Joined: Wed Jan 08, 2014 12:29 pm

Re: If you like your submarine simulations fast, arcadey,...

Post by olofsen »

Quite impressive!!!
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: If you like your submarine simulations fast, arcadey,...

Post by mrtinb »

Is it possible to get past the cannons in the cave?
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: If you like your submarine simulations fast, arcadey,...

Post by sirmorris »

Yes. I have played through end-to-end. Admittedly not all with one set of lives ;)

You need to sit behind the guns until they just finish firing then zoom, festina lente, past them.
User avatar
Andy Rea
Posts: 1606
Joined: Fri May 09, 2008 2:48 pm
Location: Planet Earth
Contact:

Re: If you like your submarine simulations fast, arcadey,...

Post by Andy Rea »

Looking forward to trying the finished masterpiece on real hardware when I get back to freezing blighty 😂😂 great work Mr C
what's that Smell.... smells like fresh flux and solder fumes...
sirmorris
Posts: 2811
Joined: Thu May 08, 2008 5:45 pm

Re: If you like your submarine simulations fast, arcadey,...

Post by sirmorris »

Cheers Andy. I couldn't have done it without you. Your display driver is central to the speed of the game.

For those that might be interested - Andy made a display routine which allows me to pan the display across a 600 character wide map without anything more troubling than poking a scroll value to memory. It also allowed me to hook the music and sfx drivers into the vertical sync interrupt so that there is no glitching or slow-down in playback. I (just about) managed to modify this further to change the UDG bank a couple of times part way down the raster.

The display is only 12 character lines, formed like so:

one line of character set 2 (64 chars)
single pixel row gap
10 lines of character set 1 (128 chars)
single pixel row gap
one line of character set 2

The top and bottom lines occupy their own fixed memory blocks, and are unaffected by scrolling.

A benefit of only making the processor display 98 scan lines is that the processor is freed up to do game type things like playing sound effects :D

The characters used are these:
Capture.PNG
Capture.PNG (5.58 KiB) Viewed 5110 times
But why all these gaps? And where is the sub in character set 1? Ahaa. That's a very good question :D
User avatar
mrtinb
Posts: 1906
Joined: Fri Nov 06, 2015 5:44 pm
Location: Denmark
Contact:

Re: If you like your submarine simulations fast, arcadey,...

Post by mrtinb »

I assume 1 pixel line has ML to change charset in display file
Martin
https://zx.rtin.be
ZX81, Lambda 8300, Commodore 64, Mac G4 Cube
Post Reply