Sharing Saturday #76

· ☕ 2 min read

Black Future

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 consensus 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.


Original: https://www.reddit.com/r/roguelikedev/comments/3sosnq/sharing_saturday_76/

Share this post
Support the author with