Skip to main content

WH #4 - Interior Decorating

The fact that Westen House is already a complete game - and that its assets are available via GitHub - is both a good thing and a bad thing for the purpose of conversion to another system.

On the one hand, it meant that I could extract the MSX graphical assets from GitHub easily enough, and use them as a template for the SAM remix. This, in theory, saves an awful lot of time and effort, in that I could just follow the sizes and shapes already present, and just add more colour to bring everything up to SAM Coupé MODE 4 quality.

On the other hand, it meant that I might end up constrained by the appearance of the MSX assets, and miss opportunities to take fuller advantage of MODE 4 on the SAM. The one thing I was intent on ensuring, for the SAM conversion, was that the basic scenery - the walls and floors - should no longer look like unfilled colour vector outlines over a black background. Beyond that, I was hoping it would be possible to vary the colour of the walls, floors, etc. to better differentiate all the rooms. While the specific construction of each location seems broadly unique in the MSX game, the same wall pattern is used throughout the house. While that might work with the original presentation, a little more variety would go a long way toward ensuring the best possible presentation on the SAM.

The first problem I hit upon is that it's not entirely clear how the MSX game draws its locations. Take the entrance hall for example:

The floor area is 224 pixels wide from corner to corner, while the isometric 'wood floor' asset is 64 x 32 pixels in size.

My initial assumption had been that the whole 64 x 32 pixel assed was repeated as often as required... but I quickly realised that made no sense and couldn't be the case after all. Tiles of that size would require all rooms to conform to the same size requirements, and they clearly don't. A floor only 224 pixels wide uses 3.5 tiles of 64 pixels wide. Plus, even trying to arrange tiles that way led to unwanted seams appearing throughout the floor.

My next thought was that each block of flooring in the assets was a 3x3 set of isometric tiles, but I quickly dismissed that idea, not least because if the way walls and doors interact with the floors, and because the floor textures are broken up into even numbered patterns - 8 wood panels wide, for example.

Then I realised that I could possibly ignore the fact that it appears to be isometric, and break each 64x32 pixel block into four 32x16 pixel chunks, with one additional 32x16 pixel chunk taken out of the middle, which can be repeated to fill out any floor area... But, equally, it could be eight 16x8 pixel chunks around the edges with either one 16x16 chunk or two 16x8 chunks repeating to fill out the floor area.

This last option would seem to tally with the walls, which are clearly built out of panels 16 pixels wide and up to 48 pixels tall, while the door frames are 32 pixels wide and up to 64 pixels tall, including the sections of floor attached to some of them. The crypt walls are different, though - the corners of the room are drawn in as normal, but the walls themselves are frequently represented by just a single 16 pixel wide section of brick pattern, which is placed part way between each corner. This may necessitate a different approach to the walls in the SAM version. Hopefully it won't mean the black background has to show through...

A closer look look at the floors revealed that, in most cases, the outermost sections of the 64 x 32 pixel floor assets were each made up of two identical 16 x 8 pixel chunks and that, with the exception of the grass texture and the larger wood floor texture, the remainder of any floor could be built using either two 16 x 8 pixel chunks, one 16 x 16 chunk, or one 32 x 8 chunk. The grass texture repeats a single 16 x 8 pixel chunk, and I believe the larger wood floor texture is not actually used in the game... so that would very much simplify things.

However, it would also limit the kind of customisation I could do with the floor textures. My first wood floor, as shown in the mockup above, gave almost every board a unique pattern, and I'd done my level best to make the stone tile floors as varied as possible within the 64 x 32 pixel patterns of the original MSX assets. Chances are, that just won't be possible in the finished game, or it will make the code for drawing the rooms vastly more complicated... Either way, there's no great benefit in tweaking the floors any further till we have confirmation on precisely how the floors are drawn.

And then, going back to the doors, they're stored in some very odd ways in the assets. The visible doorways themselves are mostly stored in the file doors.png, but a strip from one side of each is stored separately on objects.png - presumably the foreground part that the player sprite has to move 'behind' as it passes through a doorway. The larger part of each doorway includes blank spaces to be filled with the missing frame part and the floor tiles, but each also has a section of floor attached:

This could, conceivably, become another limiting factor in the customisation of the floors... but, if my first round of mockups is anything to go by, it may not end up too bad. However, the inconsistency of the cutouts between the different door styles is another aspect that must also be influenced by how the floors are drawn... so, again, until we ascertain exactly how it's done, there's not much more I can do without the risk of it being a huge waste of time and effort.

By the looks of things, the doorways are simply overlaid on the floors, and then the missing section of door frame is added later - after the player sprite is drawn while it's close to the doorway.

It's at this point I start to see the appeal of keeping everything on a black background... It certainly simplifies things, but I'm hoping the improvements to the presentation will be worth any extra hassle experienced in making it work.

Comments

Popular posts from this blog

RR #1 - Revisiting Past Glories

While the majority of my graphic design/pixel art has been on the SAM Coupé, I started out on the ZX Spectrum, and wanted to get into game development from a very young age. At the very beginning, back in the early/mid 1980s, I used Pixel Pads , created by a Hertfordshire company named Computer Agencies Limited, which I'd acquired at a ZX Microfair. These were ideal for sketching out anything from a complete screen to individual sprite graphics, since they were designed with the Spectrum's 256x192 pixel screen in mind, with the 32x24 attribute block grid marked out using heavier lines. Most of the time, I used pencils but, over the years of using and reusing the pages of the pad, I ended up using felt-tip colouring pens on quite a lot of them, making them harder to reuse effectively in future. Eventually, however, I acquired The Artist II by Bo Jangeborg, which allowed my creativity to take flight in new ways. I wouldn't say I ever mastered The Artist II , nor OCP's Ar

TLC #15 - What We Couldn't Do

A lot of obvious potential improvements to the SAM version of Manic Miner could be quickly scrubbed from the wish list. Quite early on, I'd been looking at other versions of the game, and enquired of the programmer whether it was feasible to add background images like those on the GameBoy Advance version. Obviously nothing quite that complicated or colourful. For one thing, they're too distracting and make it difficult to see the platforms in some caverns. For another, we only had 12 colours to play with, so the screen would quickly become too busy. I had wondered, perhaps, about a single-colour image – something as close to the background colour as possible – just to give the screen a bit of depth. The lack of memory available for such pictures was another problem, but the main issue was that, even if we had the space for background images, the whole collision detection routine would have to be rewritten to accommodate them. This is because the SAM version handles collision

TLC #8 - Keeping Score

Manic Miner is not a game know for an elaborate, intricate, stylish or elegantly-designed UI so, on that point alone, the existing SAM version manages to be an improvement on the original. Willy's air supply is represented by a couple of compressed air cylinders on the right rather than a simple bar running most of the width of the screen. Lives are represented by large, cartoonish (and, to me , somewhat creepy) heads rather than copies of the Miner Willy sprite. Score and high score were deemed worthy of their own font – a pleasant, calligraphic font using the shades of grey available in the unique palette applied to the 56 pixel rows at the bottom of the screen. The gradient border feels a little redundant and wasteful, but this panel does (almost) everything the Speccy version did, while looking slightly prettier by making better use of the SAM's graphical capabilities. The lives counter is a bit of a problem, though. The size of the heads is such that a maximum of three