Lunar Jetman on the Electron

developing/porting a new game or gaming framework? post in here!
Post Reply
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Lunar Jetman on the Electron

Post by Snuggsy187 »

High time I posted about this here on StarDot (I've been doing most of my progress updates on Twitter)

It all started when I was playing around with Electron interrupts to display the BBC Lunar Jetman loading screen on the Electron:
Jetman Scr.png
Jetman Scr.png (10.46 KiB) Viewed 1044 times
I wrote something like "Too bad it's extremely unlikely/impossible to get the game working on the Electron" ! :shock:
Cue the challenge from 0xC0DE :shock:

Anyway, progress is going well, just reintegrating all the features after having to disable them all to get the game to run !
LJM-1.png
More details / videos on my twitter account !
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
User avatar
Dave_E
Posts: 815
Joined: Fri Jun 16, 2006 1:55 pm
Location: Middlesbrough
Contact:

Re: Lunar Jetman on the Electron

Post by Dave_E »

You are becoming an Electron god!!

Did you check out my latest Five Games Five Minutes video on YouTube? I covered four of your games (and also The Darkness Of Raven Wood):

https://www.youtube.com/watch?v=eF60gDKdFgc
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Snuggsy187 »

Hi Dave_E, many thanks, not sure about the god bit.... :lol:

Thanks for the pointer to your video - fab compilation - although these are all 0xC0DE's doing, not Snuggsy's (as much as I'd wish I'd come up with these gems) !! :D
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
User avatar
0xC0DE
Posts: 1053
Joined: Tue Mar 19, 2019 7:52 pm
Location: The Netherlands
Contact:

Re: Lunar Jetman on the Electron

Post by 0xC0DE »

Dave_E wrote:
Mon Jul 12, 2021 7:37 pm
Did you check out my latest Five Games Five Minutes video on YouTube? I covered four of your games (and also The Darkness Of Raven Wood):
Ooh, hadn't seen that one yet, thanks for covering 2 of my games and 2 of my conversions to the Electron! As you can see game development for the Electron is far from dead, I'm looking forward to playing the excellent conversion of Lunar Jetman!
0xC0DE
"I program my home computer / Beam myself into the future"
:arrow: Follow me on Twitter
:arrow: Visit my YouTube channel featuring my games and demos for Acorn Electron and BBC Micro
Kevin Edwards
Posts: 163
Joined: Tue Mar 14, 2006 9:16 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Kevin Edwards »

Awesome work!
It looks great and runs at a decent speed too.
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Snuggsy187 »

Thanks Kevin :D Still totally amazed how well it's going !..... saying that, just got the dreaded Elk hardware sound to do.
There's a bug when dropping girders to fix too - although you don't really need girders, there's a way to get the rover over the craters (checked this on the BBC version, it's there too !) :D

Memory's getting tight again too, need to streamline a couple of my time/fuelbar procedures. 'Should' just about all fit in ! :shock:

Got the Rover/Base direction arrows up - that's better, I can find the base now !

LJM-E2.png
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
Kevin Edwards
Posts: 163
Joined: Tue Mar 14, 2006 9:16 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Kevin Edwards »

I'm not surprised the game has the odd bug or two - I wonder if the same happens on the original Speccy version?

As you know, the audio on the Beeb verison direclty writes to the sound chip and ignore the OS routines. You may have a bit of fun implementing the exact SFX.

Memory shortage for these 48K Spectrum to 32K Beeb ports was always a challenge for Paul. He managed it somehow, but did have to chop out non-critical things occasionally or simplify some aspects of the games.

Kevin.
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Snuggsy187 »

Just tried the Speccy version, yes, the same technique works to get the rover over the craters ! :wink:

I think the sound's going to be a good challenge to get the conversion finished. Time to fire up my real Electron too I think.

Just decoding the sprites (for no reason at all). It threw me a second until I realised they are stored upside-down ! Print routine efficiency I think :D
I'm impressed Paul managed to squeeze all those sprite frames into the game - all bitmaps, but still..... 8)
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
User avatar
Rich Talbot-Watkins
Posts: 1761
Joined: Thu Jan 13, 2005 5:20 pm
Location: Palma, Mallorca
Contact:

Re: Lunar Jetman on the Electron

Post by Rich Talbot-Watkins »

Ahhh, so no trailer in the Beeb version then? :lol:

Image
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Snuggsy187 »

:lol: I thought that might pop up at some point :lol:

I'll let you know when I finish the sprites extraction ! \:D/
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
Kevin Edwards
Posts: 163
Joined: Tue Mar 14, 2006 9:16 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Kevin Edwards »

LOL. That would be so cool!
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Snuggsy187 »

So, just for interest, here's a couple of spritesheets extracted from the BBC version ! :D

LJM SS1.png
LJM SS2.png
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
nicolagiacobbe
Posts: 46
Joined: Tue Jul 03, 2007 10:40 am
Location: italy
Contact:

Re: Lunar Jetman on the Electron

Post by nicolagiacobbe »

Thanks Snuggsy187, they are well drawn are will surely be useful (having enough time,that's it).
Just for curiosity: are they drawn with a mask? I mean, there are also the masks or the drawing is done with XOR?
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Snuggsy187 »

Thanks :D I do love a good spritesheet !

It's all done with screen buffering, so a buffer screen is totally wiped (so no XOR or masking) and then redrawn. Then the buffer screen is swapped to the viewable area. This is all good stuff, I just find it annoying that for both buffer screens, the wallpaper on the left and right of the play area need to be identical, so when updating the arrows or fuel/time gauges, you have to print everything twice !
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Snuggsy187 »

So, that's the bridge bug sorted. Turned out to be 3 BMI instructions I missed (it thought the ground data was still at &7c00-7fff...... I moved it !)

Been adding some colour features (red=dead !)

Need loads of testing (very occasionally there's a frame jitter), need to look into that for example.
And then there's just the sound to do (!), but possibly thinking of a pre-release soon-ish without the sound..... maybe..... :shock:

LJM-E-Red.png
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Snuggsy187 »

So here's the jitter bug. Tested this morning on real Electron hardware and it still happens :( It's not Elkulator then ! Guessing something in the interrupt or associated screen buffer shifting, which I haven't had a look at for a while because it just seemed to work straight off the bat !

Ho-hum :?

F2.png
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Snuggsy187 »

Back on this after a mini 'sanity' break. I'll just have to play all night to check I've fixed crazy 'jitter' bug. Level 4 and haven't noticed a jitter frame. I can only think the screen offset data was being temporarily corrupted :? I moved the data somewhere else, and all looks fine at the moment.....

Code: Select all

.pointtoscreen	; A = Screen buffer to display
TAY
LDA scrhi,Y: STA &FE03
LDA scrlo,Y: STA &FE02
RTS

.scrhi
EQUB &1F,&2C
.scrlo
EQUB &80,&00
So it's not exactly complicated...... strange one.....
[edit] - Although it just occurred to me, if FE03 is set I might be seeing the split second glitch before FE02 is set....... I'll ponder that some more.....


Anyway, more bug checking, just noticed it's not counting/printing the level number ! :roll:

Level4.png
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Snuggsy187 »

It's all quite bizarre....

Was swapping the screen buffer at vsync, and still seeing the glitch. Have changed this to swap the buffer at RTC (line 100), and after half hour of play, all seems good....... Probably speaking too soon, we'll see. It's even got rid of a slight Jetman flicker when he flies at the top of the screen.

Managed to break the transporter effect somehow ! All working now, and the level number now displays properly.

More testing ...... !! :D
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Snuggsy187 »

I finally brought myself round to tackling the sound ! :shock:

With past guidance (and handy hints) from 0xC0DE, I've managed to get the majority of sounds working via direct hardware poking. Struggled getting a decent 'channel 0' noise for the laser fire, but happy with what I've ended up with. Some other sounds are work in progress...... Noisy video on my twitter account.

The end is in sight - loads of tidying up to do, a few more features to add (Abort game / Sound On/Off, stuff like that). Just about enough memory left for that ! This has all been done in Elkulator, so I need another version for real Electron hardware (any interrupt timing / sound adjustments etc) :shock:
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Lunar Jetman on the Electron

Post by Snuggsy187 »

It occurred to me that I should've really posted my Lunar Jetman developments here in this forum as opposed to here:
viewtopic.php?f=1&t=22990 (where you can find some development notes. Other stuff and videos on my twitter account @snuggsy187

Progress have been going extremely well, I've even finished all of the direct hardware sound effects (most of which I'm happy with I think)......

Might even be in a position to release an Elkulator pre-release next week ! :shock: We'll see how that goes.

Also going to release a version that works on a real Electron (just the interrupt palette change timings need tweaking somewhat).

Future developments may include an ADFS version....... maybe :)
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
User avatar
Arcadian
Site Admin
Posts: 4041
Joined: Fri Nov 24, 2000 12:16 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Arcadian »

Ni Neil, I've simply moved the original thread and appended your post above to the existing topic, hope that's ok. Saves spreading the info across two forums at least ...
Please subscribe to the ABug YouTube channel!
User avatar
Snuggsy187
Posts: 247
Joined: Wed Apr 03, 2019 9:53 pm
Contact:

Re: Lunar Jetman on the Electron

Post by Snuggsy187 »

Hi Dave,
Many thanks, that makes a lot more sense !
Cheers :D
DROP PARCHMENT > POKE LOCK > PULL PARCHMENT > CURSE > BARGE DOOR > GO DOOR
Twitter: @snuggsy187
Post Reply

Return to “new projects in development: games”