Graphical mode?

Graphical mode, or tiles mode as it can also be called, has been on my mind lately as a possible direction to take Noxico in.

And I’m not going to. It’s just too damn much effort.

You’d expect the problem to be the highly dynamic and variable physical attributes of the characters. And you’d be right. But that’s a solved problem. At a tile size of 32 by 32 pixels, there’s not enough room for details, so a lot of attributes can be merged or left out – cat ears and dog ears can share a single image, and you’d either show tits or not, but not care about their size. Stuff like that.

There’s a bunch of other problems, though.

For example, a single board is currently 80 by 25 tiles. As an imitation of text mode, this works nicely with the tiles being very much rectangular and not square. Expect a resolution like 640×400. But if each tile were 32×32, you’d end up with a whopping 2560x800 pixels for just a single board. Even with board size changes (which have a lower limit) I’d need to make it scroll. Not too bad on the face of it, but there’s more.

The UI is drawn with the same method calls as the board and characters, on the same grid, and on the same screen. I could make the UI classes draw with other methods, in fact I would have to, but all their coordinates would need to be adjusted. If not, the entire UI would be sqooshed into the top-left corner, the controls would have immense margins, or would be absolutely huge. Again, adjusting every single subscreen to use a grid smaller than 32 pixels, or even per-pixel coordinates is not too bad. But things add up.

As the kicker, there have been suggestions of having both text and graphics modes. It doesn’t matter if I do so with two separate executables, or a single one with a startup switch; I’d have to maintain two radically different systems that ultimately do the same thing (“be Noxico”?) and I just don’t feel up to that task!

So yeah. If you read all this and feel like voicing your opinion, be my guest. Please.

[ ]

Leave a Reply

Your email address will not be published. Required fields are marked *