[RISC OS] PowerMonger

developing/porting a new game or gaming framework? post in here!
Post Reply
User avatar
NickLuvsRetro
Posts: 285
Joined: Sat Jul 17, 2021 4:18 pm
Contact:

[RISC OS] PowerMonger

Post by NickLuvsRetro »

I've been working on a little prototype of the game PowerMonger (Bullfrog/EA) that came out on ST/Amiga/PC and several other formats. Even if you didn't play the game, you could watch little people just going about, fishing, farming, etc. and it was just a lovely little world. It had changing seasons and every npc would just do their own thing.

I really enjoyed writing a little 3D engine for early ARM recently, and so this felt like a nice little side-project. Mostly because the game didn't use any of the custom chips of the Amiga, mostly relying on general 68k processing. It was quite sluggish on stock A500/STFM so I feel like the ARM was a good candidate for this kind of conversion. I'm targeting A3000, but testing on my A3020 so there's a bit of a clock boost I'm taking into account.

The project is currently a mixture of C and ASM for sections which are quite intensive, like the terrain and sprite rendering.



What I've worked on so far:

1. Reverse-engineering various parts of the original 68k code in Ghidra. Seeing how the random terrain generation worked (which I have documented here) so that I can generate the same levels from the original seeds.
2. Extracting resources from the original game. Mostly from the DOS version (where there is some very bespoke RLE encoding to figure out) :? .
3. Tweaking the Mode 13 default 256 color palette of the Archimedes to include 16 of the original Amiga/ST palette. I'd originally anticipated I'd have to use Mode 9 with the ST/Amiga 16-color palette, but someone on Twitter pointed out that it was possible to set up to 16 colors directly and the VIDC just generates the rest. This has allowed me to get suprisingly close to the MSDOS VGA 256 version. I generally didn't think it was that tweakable. So I've decided to pull the assets from the improved DOS version instead.
screenshot.png
Likewise I'll probably host the source code on Github as well for the curious. I'm not entirely sure whether I can host the assets though? I can't imagine EA care particularly much about this sort of thing, but one does hear rumours from Nintendo, etc. going overboard with DMCA takedowns for fan projects.
Last edited by NickLuvsRetro on Sun Jan 07, 2024 5:01 pm, edited 2 times in total.
User avatar
jms2
Posts: 3765
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: [RISC OS] PowerMonger

Post by jms2 »

That looks fantastic!

I remember playing Powermonger on a friend's Amiga - it seemed an incredible game at the time, and just the sort of thing that ought to exist on the Arc (but for some reason didn't). In fact, I had forgotten what it was called - I ought to have a play on an Amiga emulator.

I'll watch with great interest if you manage to develop it further.
steve3000
Posts: 2909
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: [RISC OS] PowerMonger

Post by steve3000 »

Wow that looks great! Well done getting this far, and for using a 256 colour mode and redefining the palette!!! (too few Archie games did this...but then, the VIDC wasn't the friendliest of 8-bit colour implementations to work with!). =D>

It would be great to have another conversion to the Archie, I enjoyed Populous BITD, but never tried Powermonger, so really hope you progress this one. :D
User avatar
NickLuvsRetro
Posts: 285
Joined: Sat Jul 17, 2021 4:18 pm
Contact:

Re: [RISC OS] PowerMonger

Post by NickLuvsRetro »

jms2 wrote: Sun Aug 13, 2023 3:49 pm That looks fantastic!

I remember playing Powermonger on a friend's Amiga - it seemed an incredible game at the time, and just the sort of thing that o
Thanks! I don't know I would have got this far had ARM not turned out to be so pleasant to work with. Some might say they're all the same, but the instruction set makes life less difficult than it would be otherwise be on 68k or x86 for me... and I can still do 90% the same code on a modern ARM board which is very cool. :lol:

Apparently Krisalis had been approached to port PowerMonger. This is from Nov 93 Acorn User. It's quite possible they just used an ST/Amiga shot here, but it looks like the 16-color version was their target and tbf the DOS one was still in development (I think?).
pm.png
steve3000 wrote: Sun Aug 13, 2023 7:48 pm Wow that looks great! Well done getting this far, and for using a 256 colour mode and redefining the palette!!! (too few Archie games did this...but then, the VIDC wasn't the friendliest of 8-bit colour implementations to work with!). =D>

It would be great to have another conversion to the Archie, I enjoyed Populous BITD, but never tried Powermonger, so really hope you progress this one. :D
Thanks Steve! I recently started testing QTM and had the original music playing in-game with no slowdowns, it's a remarkable piece of software! I'm thinking for FX it should be possible to just load the sounds (very few, quite short) as instruments in a MOD and fire them off as one-shots using QTM, would this be a suitable use case?
steve3000
Posts: 2909
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: [RISC OS] PowerMonger

Post by steve3000 »

NickLuvsRetro wrote: Mon Aug 14, 2023 2:15 pm Thanks Steve! I recently started testing QTM and had the original music playing in-game with no slowdowns, it's a remarkable piece of software! I'm thinking for FX it should be possible to just load the sounds (very few, quite short) as instruments in a MOD and fire them off as one-shots using QTM, would this be a suitable use case?
Yes, assuming the game sound samples are 8-bit linear (Amiga), you could load these into the music mod using ProTracker, as long as there are enough unused sample entries in the mod's sample table (max 31 samples, most tracks use about half that) and save out the larger music mod, and use QTM_PlaySample to play the game sounds as needed.

Another option, possibly easier, would be to convert the samples to native Archie 8-bit log format (I have a short piece of code to do this, which I can upload here, if you need), then just load them into your game code memory and use QTM_PlayRawSample to play, no need to change the mod. :)
MatthewThompson
Posts: 1869
Joined: Tue Apr 22, 2008 4:44 pm
Location: Oxford
Contact:

Re: [RISC OS] PowerMonger

Post by MatthewThompson »

There was definitely a number of mentions of Krisalis converting Powermonger to the Archimedes, I remember that Acorn User screen shot, It was definitely on the Krisalis conversion list - but sadly never happened, along with Soccer Kid (source code was released somewhere) .
User avatar
jms2
Posts: 3765
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: [RISC OS] PowerMonger

Post by jms2 »

I had a quick play of Powermonger in an Amiga emulator. It reminded me of how hard it is to get started in the game - reading the manual is definitely going to be necessary.

Is your version the same resolution as the Amiga?
bob147
Posts: 340
Joined: Thu May 02, 2019 10:02 pm
Contact:

Re: [RISC OS] PowerMonger

Post by bob147 »

The question of the assets is an awkward one. I'd say given that you're using DOS assets, and DOS games this old are still being sold (you can pick up the original DOS Populus on gog.com for example), you probably want to stay on the safe side and require the player to provide the assets themselves. Although I note that PowerMonger itself is not currently for sale digitally despite other Bullfrog stuff being available.
User avatar
NickLuvsRetro
Posts: 285
Joined: Sat Jul 17, 2021 4:18 pm
Contact:

Re: [RISC OS] PowerMonger

Post by NickLuvsRetro »

steve3000 wrote: Mon Aug 14, 2023 7:57 pm Another option, possibly easier, would be to convert the samples to native Archie 8-bit log format (I have a short piece of code to do this, which I can upload here, if you need), then just load them into your game code memory and use QTM_PlayRawSample to play, no need to change the mod. :)
That sounds like the right path! I've found that most of the samples are raw 8-bit 8kHz (working from memory), except for a few that have a delta encoding I need to unpack. If you have the code, I would quite like to see it if you don't mind uploading it. That would be appreciated. :)
jms2 wrote: Tue Aug 15, 2023 2:39 pm I had a quick play of Powermonger in an Amiga emulator. It reminded me of how hard it is to get started in the game - reading the manual is definitely going to be necessary.

Is your version the same resolution as the Amiga?
Yes I'd often thought to do a longplay on YT. I've completed it a few times. You can find the "Tactical Strategy Guide" here which takes you through each island. https://amiga.abime.net/games/view/powermonger#manuals :) I used to own this book, no idea how I lost it, it's not cheap to find now. But hooray for kind people with scanners.

Yeah, both the Amiga and DOS versions are 320x200. This presents a slight problem on Archimedes where the resolution is 320x256 so we get a slight squish of about 1/5 in the aspect ratio. This actually opens the door to maybe doing what a few other ports did and actually correct the aspect ratio for the native platform and handle the buttons as proper icons in the extra space at the bottom of the screen (which the SNES, MegaDrive, etc. did). To be fair, doing the buttons the way that Bullfrog did them in the original, whilst interesting, was frustrating UI at times.
bob147 wrote: Tue Aug 15, 2023 3:33 pm The question of the assets is an awkward one. I'd say given that you're using DOS assets, and DOS games this old are still being sold (you can pick up the original DOS Populus on gog.com for example), you probably want to stay on the safe side and require the player to provide the assets themselves. Although I note that PowerMonger itself is not currently for sale digitally despite other Bullfrog stuff being available.
Yep, that's why in a few shots you might see the project named "Olympia". I had initially thought to do something "in the flavour of" PowerMonger for the Archimedes and have it set in a Greek setting with Spartan warlords. But make it so that a script could just swap in the right assets if required. Something to think about.
steve3000
Posts: 2909
Joined: Sun Nov 25, 2012 12:43 am
Contact:

Re: [RISC OS] PowerMonger

Post by steve3000 »

NickLuvsRetro wrote: Tue Aug 15, 2023 5:37 pm
steve3000 wrote: Mon Aug 14, 2023 7:57 pm Another option, possibly easier, would be to convert the samples to native Archie 8-bit log format (I have a short piece of code to do this, which I can upload here, if you need), then just load them into your game code memory and use QTM_PlayRawSample to play, no need to change the mod. :)
That sounds like the right path! I've found that most of the samples are raw 8-bit 8kHz (working from memory), except for a few that have a delta encoding I need to unpack. If you have the code, I would quite like to see it if you don't mind uploading it. That would be appreciated. :)
Sure, here you go, the code isn't commented - but it is pretty basic ;)
Attachments
lin2log_convert.zip
(1.48 KiB) Downloaded 15 times
User avatar
NickLuvsRetro
Posts: 285
Joined: Sat Jul 17, 2021 4:18 pm
Contact:

Re: [RISC OS] PowerMonger

Post by NickLuvsRetro »

steve3000 wrote: Thu Aug 17, 2023 9:17 pm Sure, here you go, the code isn't commented - but it is pretty basic ;)
Apologies Steve, meant to say thank you for this! Code looks very easy to read, think I get the jist of what it's doing. Looking forward to trying this out!

Been looking at entities lately, and thought it would be fun to test the build on my A3020. Sorry, the colors are blown out because I'm recording from the TV. I must invest in a decent capture card and hook up the OSSC directly. But I'm quite pleased at how many entities can be rendered at once. And this is still mostly C at the moment.

Last edited by NickLuvsRetro on Sun Jan 07, 2024 5:02 pm, edited 1 time in total.
User avatar
kieranhj
Posts: 1103
Joined: Sat Sep 19, 2015 11:11 pm
Location: Farnham, Surrey, UK
Contact:

Re: [RISC OS] PowerMonger

Post by kieranhj »

Good work Nick. =D> It's looking great! 8) I don't actually know the game very well, so looking forward to playing it eventually. :)
Bitshifters Collective | Retro Code & Demos for BBC Micro & Acorn computers | https://bitshifters.github.io/
bob147
Posts: 340
Joined: Thu May 02, 2019 10:02 pm
Contact:

Re: [RISC OS] PowerMonger

Post by bob147 »

More Bullfrog is always a good thing, well done Nick. Good to see it looking so smooth and colourful as well!
Post Reply

Return to “new projects in development: games”