Nuvie: Support for Exporting and Importing Tilesets Added
There’s a bit of a story behind this news, which begins with Sergorn Dragon complaining — not for the first time — about the reddish tone of the dirt tiles in Ultima 6. His criticism is not without some merit; the Nintendo port of the game features brown dirt. After some discussion about this, Dominus Dragon got in touch with Nuvie developer Eric Fry about the possibility of adding support for new tilesets to the Nuvie engine.
This, in turn, led Eric to make some changes to the way Nuvie references image files:
+2017-05-30 Eric Fry
+ * moved custom actor tiles from data/images/actors/U6 to
+ * Added support for replacing all tiles. Just put a bmp file called
+ custom_tiles.bmp into data/images/tiles/U6/
+ * More work on MD dreamworld. Use dreamstuff. use spray gun.
+ * Allow MD usecode to target actors.
Shortly thereafter, he added a new feature to the engine:
+2017-05-31 Eric Fry
+ * Added new altcode alt-914 This dumps out the current tileset
+ to a file called 'custom_tiles.bmp' in the savegame directory.
Now, if you were reading carefully, you’ll notice that in the update from May 30th, Eric also added the ability to import a new tileset into Nuvie. However, the additional command that he added to the engine on May 31st — the ability to export the current tileset to an appropriately-named file — is key, because Ultima 6 (and therefore Nuvie) uses indexed bitmaps to store the tiles and sprites that are used to realize the game. That is to say: the tiles and sprites have a very particular colour palette that can be used; colours from outside this palette will not render properly when brought into Nuvie.
However, if you’re mindful of this — tools like Photoshop and Gimp can show you the palette a bitmap is indexed to, making it easier to edit safely — you can do some great things. So, for example, Eric was able to quickly hack together (his words!) a version of the Ultima 6 tileset that used brown dirt, instead of red. And with a little bit of effort — and some help from Dominus, who was a second pair of eyes for me — I was able to do likewise:
And, when Sergorn Dragon asked if it would be possible to come up with some Avatar sprites that were more accurate to the depiction of the character that graced the Ultima 6 box art, I was able to do that rather quickly, as well:
Eric should be including the Avatar sprites, above, into the default set of custom Avatar sprites that is included with Nuvie, so expect to find them in future nightly snapshot builds of the engine (which are available either from the project entry here at the Codex, or from the Nuvie page at Sourceforge). My custom tileset, meanwhile, is available here:
A custom tileset for Ultima 6 (for use with Nuvie) that replaces the red dirt with brown dirt using a straightforward colour-swap method; the dirt textures are largely unchanged, except for their colour.