It’s been a busy week at work, but I still made some solid progress. The main focus has been graphics and tilesetsupport. This meant a bit of reworking to some systems (primarily adding layers), catching all the places where I’d assumed that fonts only had 255 characters, and a lot of careful debugging.

Changes this week:

  • Fixed a couple more serialization bugs.
  • Fixed background color on some objects that were being created; rock chunks were inheriting both the foreground and background colors of their parent material, causing them to be very hard to see.
  • Added a 24×24 font to use as a basis for graphics. It’s easier to build larger tiles and then downsample than to go the other way.
  • Added a ton of plants to the tileset, using some graphics from OpenGameArt as a basis.
  • Moved renderables to their own “sparse layer” (a special layer type in RLTK that lets you have more control over placement, and supports overlaying graphics on top of one another).
  • Moved vegetation to its own layer. So tiles are base tile->vegetation->renderable. That way, grass on a granite tile looks different from grass on a sandy tile, but I don’t have to draw thousands of combinations!
  • Created graphics for rocks, oils, ores, batteries, replicators, RTGs, storage lockers, cryo-beds, campfires, various tools and weapons, tents, and more…
  • Created a layered rendering system for settlers. It renders a base model (dependent upon gender), colorized to the settler’s ethnicity. Then hair (and beards!) are rendered, colorized to the settler’s hair color (finally it does something!) and picked from a template based on hair-style. Finally, clothes (glyph picked by clothing type) are rendered on top of that, colorized to match the clothing’s material and dye status. The result is great – settlers look like their descriptions.
  • Fixed up the logging, GUI, HUD and building designation layers to render appropriately in the new regime.
  • Made tooltips smaller.
  • Fixed some more bounds-checking and optional-checking bugs.

Mining – showing off the rock graphics.

Starting out – procedurally generated settlers in their crashed ship.