It’s time for me to make a couple (hard) art decisions. First of all, I am going (back) to orthographic view:

It is just less work to have a flat 2D ortho camera and all sprites simply flat with no angled shenanigans and all the sorting and perspective issues related to that. Plus, I have no idea how to do vertical walls. In short, I can just get rid of all those concerns by cutting the feature and switching to flat 2D. Other games do it fine and I don’t think I need it (or rather, I don’t need the extra work that comes with it for semi-marginal benefit).

Which leads me to resizing all of my sprites to their final size. Since I can now support proper pixel art (read: scaled up small-sized sprites), then I can resize all my stuff to a smaller size. I have chosen 24×24, for example the tiles are now:

24 is just a number that divides nicely by a whole lot of factors, so it’s great for spriting. Other than that, it’s just somewhere in the typical range of tile sizes for games like these, may be slightly on the large side.

And my camera will have a parametrized scale factor for the whole world:

So, putting it all together across a couple days, I’m now more or less settled on the sizes:

I’ll also stop adding the debug info in most of my sprites (besides the corners), since everything is stable enough that I don’t have any bugs or issues with mirroring or rotating.

This also means all my editor sprites need an update:

This all took quite a while, but it could have been worse if I hadn’t kept a “sprite size” constant and used that and preset scales everywhere. Inf act, very few things broke in ways that I needed to do a lot of work. Mostly just the debug into on spites, which became unreadable noise when shrunk to 18.75% (128->24).

If I’m really pressed by art needs, I could resize everything again. But the size will remain somewhere in this region or go lower to say 20 or 16. We’ll see.

MicroRogue DevDiary #46 – Camera and sprite size update
Tagged on:

Leave a Reply

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