This post originated on Reddit, in the /r/roguelikedev sub-reddit. You may find the original post here.

First screenshot with tile rendering.

First screenshot with tile rendering

The programmer-art spritesheet

The programmer-art spritesheet

Main menu graphics

Main menu graphics

It’s been a slower week for Black Future than normal, due to heavy workload and the flu. Despite this, I feel like I accomplished something!

I showed some prototypes to friends, and they all said it looked like it had a lot of potential – but the consesus was “get some graphics!” So, I dove down that rabbit hole (the ASCII system is still around, also). Warning: Programmer Art Ahead.

Behind the scenes, the ASCII GUI system morphed into handling rendering. Fonts were added (I’m still playing with which one to use), and I did a lot of work making sure that I truly understood SDL2’s alpha channel support (for masking/visibility, mostly). Then, I got to work creating programmer art – and putting together some scripts (using ImageMagick’s convert to extract layers from GIMP XCF files, and montage to build a sprite sheet) to give a sprite-sheet. I then updated the raws system to make it easy to specify images associated with objects. That actually worked really nicely for keeping the rendering code simple; the hardest part was actually handling contour lines, since instead of a ramp icon I now needed 11 different combinations of ramp graphics. I also ended up abandoning slope rendering for now (it looked really funky), instead going with an altitude shading system – higher altitudes are lighter. The day/night cycle took a bit more work than I expected, but it’s back to where it was – but with tiles.

Main Menu Screen – mostly a test of the rendering code

An in-game shot, showing a tool-tip and some shading

The current sprite-sheet, all programmer art I threw together in the GIMP

The coming week is dedicated to getting back on track with item support, fixing a layers issue (settlers currently obliterate the floor; it would be easy to special-case, but I want to handle layers properly), and I’m itching to start with sprite layering to differentiate the settlers.