Sign in

dgbaumgart

@dgbaumgart.bsky.social
1.1K followers 222 following 911 posts

artist, game designer, art director, writer, independent game developer, he/him working in games since 2007 formerly Gaslamp Games, currently mostly Starsector www.dgbaumgart.com dgbaumgart.itch.io

PostsRepliesMedia
dgbaumgart @dgbaumgart.bsky.social · 09/10/2026
Happy #GoblinFriday! Finally finished off profile-based save/load, including a revised (and, frankly, much cleaner) modal UI. A handful of helpful little features left to do, but: later. As a treat, I allowed myself to play around in Kala Paint to work on the "hilltop tombs" location background.
*Working* modal save/load profile widget in my goblin game. The game autosaves every turn Just In Case, but also allows you to manually save as you see fit - and it's all much cleaner than the previous system which had a mess of saves all over the place without any concept of storing progress between scenarios (which will become very, very important once more of the game exists!)Just messing with brushes and getting used to the interface. A few snags, but mostly happy.

One minor point of annoyance is brushes don't save their set size, which I'm used to, and it seems like a few of the other settings don't quite import correctly from the Photoshop style brushes. Still, this is getting to be workable, and one huge advantage over Photoshop is performance is *fantastically* responsive. Zero delay, ever, no matter the size of the brush. It feels really good to use.
140
dgbaumgart @dgbaumgart.bsky.social · 09/10/2026
Really enjoying trying Kala Paint (kalapaint.app) by @kalapaint.bsky.social Some rough edges but it gave me a very old feeling: software that's being built for its users, for their convenience and joy in creation. The dev is v. responsive to the community and is an artist himself - you can tell.
A screenshot of where I picked up my PSD file and jumped seamlessly into working on an illustration for my goblin game in Kala Paint.
2130
dgbaumgart @dgbaumgart.bsky.social · 02/10/2026
Happy #GoblinFriday! Still stuck in save/load revision boringland. Almost done! Profiles now store completed scenario keys, scenarios store what other scenarios are required to unlock them, and it all works in the UI. Next: just overhaul the in-game save/load modal menu to use the profile model!
Here we see that the Dave2 profile has completed "Wormsy Meets A Spirit"! ... actually, this is before it successfully unlocked "The Small Escape", but trust me bro, it totally works now.Here, the "Goblin Dave" profile has NOT completed "Wormsy Meets A Spirit", so it is disabled. The tooltip tells you what scenario you need to complete in order to unlock the scenario. 

("Open World For Goblinning" is unlocked by being in dev mode, by the way.)

And man, if you haven't done this sort of thing before, you'd be shocked at how much jostling data from various sources it takes to make this all play together happily.
040
dgbaumgart @dgbaumgart.bsky.social · 01/10/2026
If you choose your loyalty wisely you too can "Do you know who I am?" your way out of a transponder violation while (allegedly) doing a secret mission for the Supreme Executor. (And yes, I do have a job to smuggle 2000 units of metal into Sindria. Um, it's for the war effort, I swear!) #starsector
Starsector screenshot where I say "Do you know who I am?" to a patrol to get them to stop bugging me while I'm trying to do some honest smuggling.
7625
dgbaumgart @dgbaumgart.bsky.social · 26/09/2026
Important progress: a way to give text validation feedback. Also started the "market town" background illustration and y'know I can't *not* make it _that_ reference.
Nokkum the goblin tells you not to type anything stupid into the profile name box. The magic of regex will determine if he has to scold you.Yeah, it's loosely that one image of Rothenburg that was used in Monkey Island, and I'm going to keep putting it into illustrations for fantasy games until someone forces me to stop.
060
dgbaumgart @dgbaumgart.bsky.social · 25/09/2026
#GoblinFriday !! Today we're being BORING. I'm setting up to allow a 'profile' model of saving gamestate so a player's run through a scenario stores meta-scenario data that can change later scenarios accordingly. But I need to redo save/load handling and all save/load related UI. So, yep.
An exciting menu for loading an existing profile or creating a NEW goblin profile!Enter your profile name and hit cancel or done!!!!! 
(This doesn't work yet for various reasons, but I am looking forward? to doing text validation somehow to ensure that people don't enter really dumb things that break the save/load system.)
181
dgbaumgart @dgbaumgart.bsky.social · 24/09/2026
Did the games meme, tried to make it "games of my formative years", though the last couple are rather later than the rest. Missing: Warlords, Maxis catalog, Diablo, CS, left off series like Civ2, MoO2, (arguably) Doom. +some 'bad' games that caught my imagination: Outpost, Ascendancy, Conquest 1086
Quake, Sim City 2000, Warcraft 2, Darklands, Master of Orion, Ultima Online, Civilization, Europa Universalis 2, Half-life
2160
dgbaumgart @dgbaumgart.bsky.social · 21/09/2026
Felt like mushroomposting so here are some mushrooms I saw over the weekend. (Was in nature, hence a lack of Friday Goblins. Though the mushrooms kinda put me in the mood for 'em.)
21128
dgbaumgart @dgbaumgart.bsky.social · 14/09/2026
#Starsector rulesmaxxing status update. Running through a spellcheck now, and most - though by no means all - of the new stuff adds up to over 160k words. It's like writing a dang novel! (And feels like it, oof.)
Chart showing the growth, in MB, of the rules CSV data files over time. These contain all the text dialog and dialog-based scripting in the game.
1160
dgbaumgart @dgbaumgart.bsky.social · 11/09/2026
Here's what Goblin Navigation has cooked up: Points for getting to the intended destination. Minus points for not actually being the shortest route, and plus goblin points for cheating on the route but somehow making it longer while doing so. (Clearly I've got a hitch in the logic to sort out.)
The map view of my goblin game. This is the route found as the "shortest" from the swamp to the tavern. 

Not only is it not the shortest, it is also not quite a valid route. The algorithm did deny an even longer, stupider route, at least.Here's the text output - OF LIES
121
dgbaumgart @dgbaumgart.bsky.social · 04/09/2026
Working on scenario 2 wherein Wormsy is trying to free Kreeee from captivity. Poor Kreeee! Wormsy gets a crow friend of negotiable loyalty (this will require payments of Shinies, you see). This means I need to set up Things so the crow can follow Wormsy around the map, and allow them to talk.
A screenshot of my goblin game. Here we see Wormsy at the Mudcrab Beach with a 'friendly' crow who wants to earn shinies. If Wormsy gives the crow shinies, the crow might prove useful helping Wormsy free Kreeee...

(This requires various technical things: I need to be able to set a flag on the crow to make it follow Wormsy around the map. Just wrote this, but haven't tested it *nervous laughter*.

I also need to allow the presence of the crow, and Wormsy [or an arbitrary goblin] to add an interaction button so the goblin can initiate dialog with the crow. The whole crow-goblin relationship should be important to the game, so I gotta do this sooner or later.)Meanwhile, we see that Kreeee has found himself locked up in a terrible cage! Note that he has a whole pile of negative status effects and limited options. As time passes, some of these status effects will naturally go away which will improve Kreeee's stats - perhaps to the point where he can escape by himself.

Otherwise, he's going to have to wait for Wormsy's help!

Otherwise... Jorten the Fighter is going to try to sell Kreeee to whoever he can find that's willing to pay, which means there's a turn countdown 'til the scenario hits a lose state. (Still implementing this part, but I have a _framework_ in place!)
1172
dgbaumgart @dgbaumgart.bsky.social · 04/09/2026
Happy #GoblinFriday! Today's bug hunt: Kreeee did not know that Kreeee was Kreeee. (I wasn't storing a character's key in their memory. To call a char's memory you need the key: redundant! Nope: you can check $self.key and "self" is replaced w/ active goblin. So $kreeee.key == kreeee was failing.)
Look at this silly goblin! He didn't even know he was him. Which is pretty fitting, all things considered.
191
dgbaumgart @dgbaumgart.bsky.social · 02/09/2026
TBF he never remembers who you are either
020
dgbaumgart @dgbaumgart.bsky.social · 01/09/2026
For a fun teaser, here's a glance at the names of some of the (large) pile of QA testing saves; some are mine, some are from our brave testing team of two. (I had to redact a pretty spicy spoiler there, btw.) We're getting there slowly but surely. #Starsector
A screenshot of my save-load dialog in the current dev version of Starsector, mostly involving the names of a lot of Persean League characters.

(One save game description is mostly redacted because it would definitely have given away some Interesting Things.)
7554
dgbaumgart @dgbaumgart.bsky.social · 28/08/2026
Happy #GoblinFriday ! Redid turn handling logic which is Not Interesting (well, it is, but. Moved from using C# async to FSM structure that gave me more discrete control), but then indulged in a tiny bit of work on some of the creepy bits on the eastern side of the map. (Deets in alt text!)
How do you make a location more interesting? Give it a deep implied history!

As I develop the setting of this game, I'm finding what I need to do is 1. make everywhere have something very old and unknown have once been there. And whatever that is will probably never really be fully explored; it draws an intentional void which is filled with implication and imagination.

And 2. animate the inanimate! To goblins, the landscape itself, the forces of nature are animate beings with feelings and grudges and *moods*. (Which makes for a more evocative setting, because in a fantasy world, a cliff or mountain can indeed be actively malevolent! Or merely hungry... for goblins.)Yeah, you're going to want to be careful here.
0100
dgbaumgart @dgbaumgart.bsky.social · 15/08/2026
Happy #GoblinFriday! Put together some test builds, then dove into 1. making the game camera less terrible, which led me to 2. redoing a portion of player turn time-logic handling (related to camera movement) (ooof). Nothing fun to show for a bit except... some in-progress art for "the high road"!
Background art for my goblin game - a ruined roadway crossing bridges between tall seaside rocks with a cliffy coastline in the distance.
190
dgbaumgart @dgbaumgart.bsky.social · 13/08/2026
Supreme Executor Philip Andrada, the Lion of Sindria, from Starsector
4428
dgbaumgart @dgbaumgart.bsky.social · 04/08/2026
Get yourself a man who knows how to handle a swivel gun! You'll need this energy when the English come to burn down your tiny fort. (Port Royal, NS back in July.)
Herein I demonstrate how to wield a 17th century swivel gun while making what one imagines is a fierce "war face" that would certainly have come in handy when the English came and burned down the fort this is a reconstruction of.
0120
dgbaumgart @dgbaumgart.bsky.social · 31/07/2026
Then did some rote stuff like making sure a few tooltips were aligned and more informative was available, fixed a minor save/load issue, drew an icon for an unimplemented status effect... then saw I had an art item outstanding to draw map tokens for all the hooman "heroes". Fun!
Art for my goblin game - these are the hooman "hero" antagonists.
Top row shows their in-dialog portrait, the bottom row shows their on-map board game-like token.
0121
dgbaumgart @dgbaumgart.bsky.social · 31/07/2026
Happy #GoblinFriday! Decided to do a test run through first two scenarios to find if any recent work broke any old content, plus noted any UX things that annoyed me. Figured the first End Turn in the tutorial needed a bouncy arrow (this one is a bit too insistent, I did pull it back!):
1191
dgbaumgart @dgbaumgart.bsky.social · 29/07/2026
#Starsector rulesmaxxing writing update: quantitative data only (I forget if @amosolov.bsky.social mentioned adding the ability to have more than one rules file, but that's a feature. Also: new writing is split between the files; size of new file is not indicative of size of that category of data.)
Showing off the growth of the rules data in Starsector for the next update.A handy chart showing how the in-game dialog has grown, in megabytes.
6502
dgbaumgart @dgbaumgart.bsky.social · 24/07/2026
ALSO I did myself a favour and added a dev testing panel to let me add resources, reload rules, dump current memory to a text file, and so on. Very useful, I should have done this ages ago and it only took like 10 minutes. (& Maybe later I'll work on some background illustration.)
A screenshot of my goblin game showing off the (very exciting) dev testing panel that lets me cheat and dump info and so forth.
030
dgbaumgart @dgbaumgart.bsky.social · 24/07/2026
Doing some silly polish too: - Wormsy's dice reroll power now has a special, more intense visual effect on rerollable dice to signal when you get a free reroll! - I'm spending way too much time getting background transitions working better, ie. switching locations while in dialog. Still not working.
A screenshot of my goblin game with a crop from another image comparing "reroll chaos" effects overlaid on dice that can be rerolled. On the bottom is the Wormsy Special Power effect, though it doesn't quite sell it without the little spiral spinning around (a bit faster for Wormsy's power here.)
120
dgbaumgart @dgbaumgart.bsky.social · 24/07/2026
Happy #GoblinFriday! Finished most Troll Bridge dialog. Finnicky bits remain; I had? to add a null memory type for reasons. Copying a memory that doesn't exist should make it "false" - but not just a bool. So this is a universal false for almost all conditionals (vs. int, float, string, bool). Hm.
Screenshot of my goblin game, just a bunch of goblins in the Goblin Swamp ready to move into the world and cause KAOS.

I added shadows under the tokens. That's all I wanted to show off here.
2142
dgbaumgart @dgbaumgart.bsky.social · 13/07/2026
Also ha-ha still got this on my shelf because I paid like $500 for the privilege of liquidating the extra sellable office supplies and furniture.
An acrylic award from PC Gamer declaring Dungeons of Dredmor the Indie game of the year for 2011.
0403
dgbaumgart @dgbaumgart.bsky.social · 10/07/2026
So I wrote a debug logger that takes the last dialog rulestack executed and saves all debug info to file so I can figure out where the logic goes awry. Rule logic is a huge part of the game, so it's worth it. The problem: reading condition *target* keys from memory didn't exist! Now it does. 2/2
Here's the text file the game outputs. 

validTarget is False here, which means the second number in the operation (the target) wasn't parsed as a valid integer value!

... Except it was, as you can see below where _targetInt is 1. This was a few steps into fixing the problem, and it turns out I just wasn't setting the validTarget bool to TRUE after successfully parsing a memory key into an int. Whoops!And here Bennybog successfully fails to convince the Troll to let him cross the bridge because he only had 1 snax when the Troll rolled for 3.
060
dgbaumgart @dgbaumgart.bsky.social · 10/07/2026
Happy #goblinFriday! Sorting out the Troll Bridge. Been here a while, I know - but it's helping debug dialog/rules logic. You can cross by offering 1d6 snax to the troll. If the troll rolls higher than your snax, the troll just eats them and you can't cross. It wasn't hitting the fail state! 1/2
Dialog screen from my goblin game. Here, Bennybog is attempting to offer the Troll snax to cross the Troll Bridge. Bennybog only had 1 snax, so the troll would have to roll a 1 to accept this offering. 

Unfortunately, the Troll rolled a 2 and just ate Bennybog's 1 snax anyway. Fortunately for Bennybog, this still hit the "success" outcome for some reason. What the heck is going on???Here's a look at the dialog rules logic behind the scene.

... Unfortunately the full condition for the fail state is cut off (sorry!), but it is: $scenario.lastResourcesRollBlockChangeAbs > $snax_just_had

What's notable here is I'm comparing two int 'memories' stored by the dialog system referenced by string 'keys', and it turned out to be the root of the problem.
1152
dgbaumgart @dgbaumgart.bsky.social · 19/06/2026
Happy #GoblinFriday! Quiet day before a couple weeks off, so going through old locations to touch-up events and add new ones, mostly Dark Forest and Troll Bridge related (see shots). Found obscure bugs to fix (goblins love these). And the game camera is annoying me so might move up redoing it.
The extremely complex start dialog for the Troll Bridge crossing sequence. This is meant to be a bit easy in relative terms, with reasonable options for almost all character types so it can be the 'best' way for goblins to get from one side of the map to the other.

If you just sit at one end or the other there will be a few random events that won't give any particular risk or gains - it provides a good neutral ground to catch your breath on your way to somewhere more useful.

Unless, of course, you somehow truly piss off the trolls. I haven't figured out what that looks like, but you have to account for all possibilities with goblins... There are a couple interesting repeatable encounters you can only discover if you're lost (as in, have the Lost status) in the Dark Forest. The theme here is lost secrets, so _of course_ you have to be able to discover some of them.

And is this going to be a riff on Old Man Willow? - Kinda! Maybe also that tree in Heroes of Might and Magic where you bury 30 gems at its base to get a level-up...You can find mushrooms. Did you know you shouldn't eat every mushroom you find in the forest, especially those you can't identify? Bennybog doesn't.

This is a case where a character has rolled against his own stat (Mouth vs. Smarts) and lost, forcing him into eating *every mushroom*. 

(I'll tell you now, Bennybog absolutely picks up a couple bad status effects from doing this.)
1141
dgbaumgart @dgbaumgart.bsky.social · 16/06/2026
In the vein of "real concept art looks like crap", here are some #Starsector concepts for remnant/explorarium ships It's basically just dumping a bunch of shapes and colours and swapping bits around and seeing what hits the right vibe. (Some small ideas even get used way later in other places!)
610420
dgbaumgart @dgbaumgart.bsky.social · 12/06/2026
Happy #GoblinFriday! Short day- more camping to do! Set up the "Haunted Pines" location - a foreboding, hostile area which will have lots of spirit interactions. Fixed annoying UI movement tweening interrupt error for certain buttons! Also: a coconut test shows the spirit affinity notification.
A screenshot of my goblin game, showing a dialog panel with a description of the Haunted Pines location.

This is meant to be another hostile area that discourages lingering unless a goblin is very well prepared to deal with hostile spirits and extreme weather. It's on the right side of the map, where there is less hooman "civilization" and more hidden treasures - and powerful, ancient things that perhaps don't wish to be awoken.

The plan is you go this way if you need to find some good tools to use against the encroaching hoomans - but such a quest won't be easy!A screenshot of dialog from my Goblin game. Now THIS is pure test dialog, hitting a bunch of different game systems in succession: applying a negative status effect that halts movement, giving the goblin a new item (a coconut), and giving the Goblin affinity for a spirit.

The coconut was to test if my item save/load code was working correctly because I thought it was double-adding the coconut item. I think this was a false report and I just ran the dialog twice, because this time it seemed to work correctly.

As for the spirit affinity: this is used after the Goblin has done something (via the narrative dialog) that gives them affinity for a spirit. The goblin may then draw upon powers granted by that spirit by using their Ghosties stat and spending the Oooos resource.

Each spirit has "domains" they can affect, and spirits can have overlapping domains. These are used as tags within the narrative dialogs - so, for instance, a dialog can change based on if a goblin can call upon a spirit with the MEMORY domain ie. if they get lost in the woods this spirit can help them remember the way back out.
061
dgbaumgart @dgbaumgart.bsky.social · 05/06/2026
Alright, here's a first description encounter for the Wizard Tower. Includes a title block! This is going to be the stronghold of one of the main antagonists, so it's going to be a *very* dangerous place for an unprepared goblin. I want to structure 'delves' via a sort of "5 room dungeon" model.
Screenshot of my goblin game showing a dialog panel that appears when Kreeee the goblin first encounters the Wizard Tower location.

(I haven't fill out *any* encounters here, but I have lots of thoughts. ... Which I'll share at some future point, after they start to actually get implemented.)
040
dgbaumgart @dgbaumgart.bsky.social · 05/06/2026
Happy #GoblinFriday! I intended to work on the *Wizard Tower* location, but fell into fixing a list of annoying bugs. The good news is: they're fixed! Best bug: resource gains were limited by the pool of 'floating icons' I initialized at game start, just 20. Any gain over was lost to the aether.
A screenshot from my goblin game which shows a test dialog where Bennybog the goblin is rolling to gain lots of "snax" resource.

He rolled and got 27 snax, and you can see a bunch of little turkey leg icons flying from the bottom of the dialog box over toward the resource display.

Before fixing this, only 20 icons at a time could appear, and only 20 of whatever resource would ever actually make it into the player's resource pool. 

I do not wish to elaborate on the dumb code reasons for this, but I will (probably) fix various underlying issues. In the meantime, I just increased the floaty pool to 64.
2130
dgbaumgart @dgbaumgart.bsky.social · 29/05/2026
Happy #GoblinFriday! Added interactions to another area today: the Windy Path (I love the double meaning. Could actually draw it to be windier though, come to think of it.) This location is a transition zone meant to be a moderately dangerous/costly place to linger. Encounters reflect this.
Screenshot of a dialog encounter from my goblin game.

This is the default long description you get when you first enter this location, ever. I think maybe I'll add a location name title drop to emphasize that this is supposed to be a "congratulations! you found a new place!" moment.Screenshot of a dialog encounter from my goblin game.

Here, Wormsy has a bad encounter trying to hide from crows. (Crow-goblin relations will be an important factor in this game. And making crows friendly? That will cost you lots of shinies, my friend, because there's little that crows love more than shinies.)Screenshot of a dialog encounter from my goblin game.

Here, Eyeball has run into an encounter with not just high winds, but a Gale Spirit of some kind. Luckily she's *very* skillful at dealing with spirits, so can easily talk this one down.

There are a few other ways to deal with the windstorm, and failing them comes with great risks considering the high altitude...Screenshot of a dialog encounter from my goblin game.

Eyeball is successful! This will give her more of the Oooos resource that will allow her to call upon spirits and their boons.

Note: only 6 dice in the top row! It should max out at 7. I have some work to do...
0172
dgbaumgart @dgbaumgart.bsky.social · 22/05/2026
Happy #GoblinFriday! Did a trawl through my Jira TODO board and shoved all the tiny bugs + polish tickets to one side so I could focus more on mechanics & content to build up a feeling for the 'critical mass' of the gameplay. Here, a first look w/ sketchy background, at the Hilltop Tombs area.
A screenshot form my goblin game showing Bennybog the goblin first entering the "Hilltop Tombs" location. The background is extremely sketchy, but shows some windswept hills with piles of stones that enter into the underground. There's a slightly creepy description implying that dead spirits protect the place.

Naturally these tombs contain neat items (and are completely a reference to the Tolkeinverse barrow downs), so go here if you need powerful magical items - or simply lots of Shinies. 

Will there be consequences like vengeful spirits and wights and curses? Who can say! Goblins don't worry about such things. Much.
190
dgbaumgart @dgbaumgart.bsky.social · 14/05/2026
Starsector for... I think @amosolov.bsky.social first contracted some spaceship sprites from me 16 years ago! Things have evolved a bit from there, just a bit. fractalsoftworks.com
A faux Starsector "box art" image with fun planets in a space scene
171
dgbaumgart @dgbaumgart.bsky.social · 13/05/2026
Fixed: Orcus Rao would keep giving the player credits as a reward for serving the Hegemony in an infinite loop until the game crashed #starsector
Oh no guy wearing a little Hegemony cap & eyepiece

(Made with apologies to Alex Norris of https://webcomicname.com/ )
8715
dgbaumgart @dgbaumgart.bsky.social · 08/05/2026
Here's a good one- I got so many bonus dice that the dialog panel extended the conclusion button below where I can read it. Two notes: - when adding rows for bonus dice, scroll content if needed - ... also should be max 7 dice per row, not 5, so uh that's wrong
Just goblin stuff: Bennybog rolls really, really well against Farmer Grubb's  attempt to spot his hiding place. So well, in fact, that the number of dice added scrolled the confirmation button below the visible pane. I need to fix this.
020
dgbaumgart @dgbaumgart.bsky.social · 08/05/2026
Happy #goblinfriday! Diving back in after some rather pernicious bugs (Goblins love bugs, and love to hide bugs), and... ugh, finally setting up a github repo. After being exposed to a decent git UI, my dumb-dumb system of backing up the dev folder manually has been confirmed as too annoying.
A screenshot of my goblin game with FOUR active goblins. Two of them are at Mudcrab Beach, and have a variety of (test) actions they can do.

These goblins have hidden many bugs from me. Can I find them all today? Probably not.
2141
dgbaumgart @dgbaumgart.bsky.social · 04/05/2026
Follow your dreams y'all; circa ~2001 (I somehow conned this school program into giving me credit for making Counterstrike maps.)
6483
dgbaumgart @dgbaumgart.bsky.social · 28/04/2026
Working on a dialog sequence related to the finale of the next #Starsector update. Don't screw this part up, captain!!!
159411
dgbaumgart @dgbaumgart.bsky.social · 19/04/2026
OK, it works now! Reverted most fonts to Lato (for now!!) and started using Godot's theme system at all correctly now that I understand how it works. Same re. rebuilding UI layouts to work better across different resolutions now that I understand how all the pieces work & logic of the design!
A screenshot of my goblin game showing that the number of dice can now successfully overflow the first row instead of breaking the game.

(Bennybog actually rolled rather poorly here; the average roll is 30/31.)

Also: rolling for resource gains does *not* allow for exploding dice rolls because it'd probably be bad for balance. (That said, I should add it as a possible option, just for fun exceptional situations...)
040
dgbaumgart @dgbaumgart.bsky.social · 17/04/2026
I rolled so well that it broke the game. Turns out adding another row of dice to the layout isn't working because, um, I never tested it! Fair enough. (And still messing with fonts and unhappy with them. Free fonts just aren't great. Explains much about the sad state of text in indie games.)
Screenshot of a dice roll challenge in my goblin game. I had two dice, rolled two sixes. That added two more dice, which also rolled sixes... which should add two *more* dice, but the layout broke when it tried to add another row.

Two problems:
1. adding another row doesn't work
2. it shouldn't add another row until it hits 8 dice, as each row can hold 7 dice!
280
dgbaumgart @dgbaumgart.bsky.social · 17/04/2026
Happy #GoblinFriday! I finally found the MSDF button & I'm trying to get my fonts in order, again. Tried some out (img): 1. goofy noir/steampunk game 2. way, way too twee 3. this might just be the one. A touch of whimsy + easy reading. 4. too serious 5. what I've been using all along, a little dry
A screenshot of cropped dialog boxes comparing various fonts for my goblin game. They're all from Google Fonts.

1. Oldenburg
2. Sour Gummy
3. Fresca 
4. Gelasio
5. Lato
1110
dgbaumgart @dgbaumgart.bsky.social · 11/04/2026
Had a longstanding item to redo the "fog of war" feature, so I did that today. Had to wrap my head around just a little weird math and some shader coding. (And still need to make the location circles & connection lines go under the fog.) Also redid font rendering. Everything looks weird!
Screenshot of the main map of my goblin game with a new "fog of war" implementation.

Instead of splatting sprites all over, there's now two texture layers drawn overtop the map, a "gray" fog (transparent, to show what you know but don't currently see) and a "black" fog (opaque, to show where you've never seen). 

It basically works! Going to need to add some features and adjust lots of details, but I'm glad the texture method was so simple to implement and I don't have to do the weird fog tile system that I was considering before.
0172
dgbaumgart @dgbaumgart.bsky.social · 10/04/2026
#GoblinFriday! Okay, so making dice contests (pictured) work wasn't hard, nor was building out tooltips. The "cool" thing today is hunting down rules condition error(s). Part 1: At some point I commented out the conditional token parser so everything got set to "equals". Part 2: another thing???
A screenshot of my goblin game! This is an example "dice contest" where Bennybog has a roll against Jorten. This is working great and has nice tooltips.

There's a bunch of extra padding at the bottom of the widget that I didn't notice 'til I started posting this - it's due to the minimum height of the widget being set to the old value for the old layout.

This layout has less junk, so it can take up less vertical space. That's good!
161
dgbaumgart @dgbaumgart.bsky.social · 10/04/2026
Look, this is why I don't like doing seamless border transitions, particularly for hex tiles. I might just do a generic alpha mask for land tiles and let people Deal™, because the sheer number of variants is oppressive. (OTOH it's nice to just turn on a podcast and zone out in Photoshop for a bit.)
A working sheet for 128x128 hex tiles. Especially notable is a huge number of coast hex variants to match all possible arrangements of land/water neighbours - and it's not done, at all.
080
dgbaumgart @dgbaumgart.bsky.social · 08/04/2026
(Had to finish this before I could let it be.) Rewrote dice rolling!! Now we have a logical loop that rolls 'til all dice are resolved and has nice pauses to show bonus dice added. Wormsy shows how it works- she rolled double sixes, adding two bonus dice, one hit a six and added another die. Yes!
A screenshot of revised dice-rolling system in my goblin game.

The white dice are bonus dice which are added if a die rolls a six. Bonus dice can add more bonus dice (because this makes it more fun). So if the spirits favour you - as they favour Wormsy here - you can get truly incredible rolls even if the base odds are fairly poor (in this case, rather under 50% chance of success.)

Key here - I should capture a video - is not JUST the tooltips, but the redone timing: dice are rolled, then it checks if a bonus die was added. If so, it pauses for a moment, adds the bonus die (and does visual effects on both the die/dice that rolled 6, and on the new die summoned by their success), then rolls those bonus dice in an additional roll. This loops until all are resolved. Once done, the total is added and FAILURE or SUCCESS is displayed.

To truly cap this off, I need to add a fail/success sound effect.

... Also need to get this totally working for "dice contests" between a goblin and another character (or themself).

I don't think, as a rule, NPCs will be allowed to have bonus dice unless some weird magic effect is in play. To make up for this I'll have to give them better stats across the board - and increase the challenge of dice checks overall while I'm at it.
030
dgbaumgart @dgbaumgart.bsky.social · 06/04/2026
[Back on my hex bullshit.] Basically: had some thoughts on terrain hex assets over the past ... (god, 12?) ... years I've been selling these things. So these have: smaller size, all seamless tiling (not all done in image) (thus fewer biome variants), flat top/bottom, less visually noisy style.
3274
dgbaumgart @dgbaumgart.bsky.social · 05/04/2026
(Pro-tip: don't code when running a fever.) Anyway, doing _slightly_ better today. Got double tooltip action here, with extra info to the left AND right. Some of which is redundant. Also experimenting with changing die face colour for bonus/exploded dice, along with other interaction hints.
A screenshot of a dice roll check in dialog mode of my game.

There are an awful lot of fiddly details here that need to be adjusted so they're just right. Much respect to UX folks!
150
dgbaumgart @dgbaumgart.bsky.social · 04/04/2026
Working on tooltips and styling, (but still sick and I think my brain isn't working good). So not going to push myself any more today. Anyway, overall goal: offload additional mechanics information into tooltips & reduce extraneous text as much as possible.
A tooltip for a dice roll challenge! There's another tooltip for the actual dice section that explains the stat being used... though I kinda want to show that in the main layout. We'll see.A tooltip for rolling to gain resources! 

It's fun to add colours to text.

(That big blank spot at the top where a text label goes in other situations is annoying me quite a lot, but my head hurts.)
120