Melkhior’s Mansion – Project Update #15
Welcome to project update #15 for the conversion of Melkhior’s Mansion Spectrum Next!
It’s been two weeks since Melkhior’s Mansion was released for Windows PC. The ZX Spectrum Next conversion is going well!
Here’s a progress update…
The original PC version is written in C# using Monogame and makes extensive use of XML scripts and 24-bit PNG files. The original screen resolution is 480×270 pixels.
The Next version is being developed in Z80N assembler on a TBBlue2A dev board with 2MB RAM for a display resolution of 320×224. A custom RS232 cross-development kit/assembler (NXASM) is the main toolchain.
A special library of emulated Next graphics modes and hardware registers is also being used to incorporate into Windows tool and test applications.
The first stage of the port is focusing on converting the original game assets from the XML and PNG files to a format the Next can handle. This is being done in the form of a Windows app that allows me to rebuild the entire game world, displaying each of the 262 rooms using the emulated Next graphics modes.
The Next isometric game engine is evolving as each set of data becomes available to the room viewing/rendering tool. I will port the engine from PC x86 to the Next Z80N once I am satisfied it will perform well on the 8-bit platform.
There’s a vast amount of tools and code assets from the abandoned initial demo of Melkhior’s Mansion Next, so I’m not starting completely from scratch.
I’ve identified several tasks that slowed down the previous attempt – preparing sprite sheets in Photoshop was one of those areas so I’ve replaced that method to use the original PC version’s auto-mated cutting scripts.
Here’s what’s been done so far…
01) All PNG sprite sheets received and organized.
02) All room layers rendered out to 16 colour BMP files (5K in total)
03) All room collision data processed and ready.
04) All room linking data with door/shortcut and key types.
05) All object X/Y/Z locations with their types.
06) All objects cut with their animation data.
07) All mini map data processed.
08) All room themes/colours/enemy metadata converted.
09) All music files received and converted.
10) All game seed data collected (object locations).
11) All room alignment optimized for 320×224.
I’ll keep you guys updated over the weeks.
KevB aka 9bitcolor.
https://twitter.com/9bitcolor
https://twitter.com/EricRetro
https://twitter.com/hot_piping
https://twitter.com/alberto_mcalby