Sign in

dgbaumgart

@dgbaumgart.bsky.social
1.1K followers 221 following 897 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 · 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
2150
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.)
21118
dgbaumgart @dgbaumgart.bsky.social · 11/09/2026
It is #GoblinFriday ! Observation: Calling things dumb goblin names like "sneek", "oooos" and "kreeee" is funny but also annoying when I keep getting string mismatches due to getting number of letters wrong, or spelling correct. Now, god help me, I am writing a node-map navigation algorithm...
140
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 · 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 · 28/08/2026
I've been sitting on a set of Victorian/Edwardian/Industrial Revolution themed icons for just *ages* and finally decided to package them up for sale (I've got to pay for a new foundation dontcha know). Here they are! Finally! dgbaumgart.itch.io/icons-victor...
dgbaumgart.itch.io
Icons: Victorian & Industrial Revolution by David Baumgart
1114
dgbaumgart @dgbaumgart.bsky.social · 26/08/2026
Good thread! Bears with my experience making Dredmor, Clockwork Empires, and even Starsector. The best stuff is always hand-authored, period. Procgen elements can tie it together, but much procgen dev time may have been better spent making tools to make authoring cheaper - especially for CE.
2152
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 · 13/08/2026
Ah, classic experience of the contractor showing up and being like WTAF??? at the work done by some previous contractor. (Apparently our AC system is the cheapest brand yet also overpowered, installed with a different pipe size than the manufacturer says, and every unit is poorly positioned. Neat!)
2110
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
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
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 · 21/07/2026
Re last post: It is insane that the Canadian government is interested in funding the efforts of foreign tech companies to infringe upon and destroy our own creative industries. If you're Canadian + in the "cultural sector", I encourage you to tell them you don't want to be sold out by AI lobbyists.
2151
Reposted by dgbaumgart
Sonja Boon @storiedselves.bsky.social · 21/07/2026
Canadian arts and culture folks: the federal government has launched a (methodologically flawed) survey on "the Cultural Sector's readiness for Artificial Intelligence". If you're ready to resist or refuse genAI, here's your chance to let them know. pch.research-recherche.ca/f/s.aspx?lan...
pch.research-recherche.ca
National Survey on the Cultural Sector’s Readiness for Artificial Intelligence
Powered by SimpleSurvey.com | Build and manage your own online survey, voting, form and panel management applications.
22342348
dgbaumgart @dgbaumgart.bsky.social · 13/07/2026
Thank you @moomanibe.bsky.social for reminding me it's Dredmor +15 years. May as well plug my 5-year-old "Memories of Dredmor": www.dgbaumgart.com/articles/mem... Never finished because it needs to get to Clockwork Empires; too upsetting even 5 years ago. Time has provided distance, however.
dgbaumgart.com
Memories of Dredmor, part 1
6353
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 · 25/06/2026
(Did art for this! Much fun.) (And it's a huge point of inspiration for my very in-progress goblin game.)
060
dgbaumgart @dgbaumgart.bsky.social · 20/06/2026
Like, the fundamental thing with "AI" - it all starts with a massive and ongoing act of theft (or infringement, if you like). It's a few billionaire, or trillionaire, owned tech companies stealing everything we ever did then selling it back as a worse version of the work we all do.
3636200
Reposted by dgbaumgart
Aura/Moom @moomanibe.bsky.social · 20/06/2026
Anyway I'm just going to say it outright: if you're an indie dev using AI for coding, above and beyond any other objections, what you're telling me is that you have no solidarity with anyone else in games. Not artists, not writers, not other coders. You beleive in personal convenience at all costs.
101663505
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
Reposted by dgbaumgart
Tal Lavin @swordsjew.bsky.social · 18/06/2026
if human creativity is so frivolous how come these companies have to commit theft of it on unimaginable scales
61306302
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
Reposted by dgbaumgart
Aura/Moom @moomanibe.bsky.social · 16/06/2026
those polished 3/4 glamour shots you're used to seeing in art books are nearly always done after the design is finalized and often specifically for PR purposes. they're not Process
0486
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 · 08/06/2026
Excited for this, I really enjoyed the original Duskers; immaculate lonely space derelict command line drone exploration vibes!
0130
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
Reposted by dgbaumgart
Mary Gillis @marygillis.bsky.social · 04/06/2026
Correct me if I'm wrong, but I can't find a single word in here about protecting Canadian artists from having their work stolen by AI companies, or compensating them for that stolen work. Why is it that people who create Canadian culture don't deserve accountability or control?
15525154
Reposted by dgbaumgart
Ian @brocktoon.bsky.social · 03/06/2026
On John Blanche stuckness.ghost.io/john-blanche/
stuckness.ghost.io
John Blanche
I don't think popular culture looks the way it does without John Blanche, Games Workshop's legendary artist who died today. That is mostly for the better, a bit for the worse, but entirely important. ...
015049
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 · 15/05/2026
Sorry, going to head into the woods for a bit, so very few goblins this friday. (Did fix a minor issue with savegames saving over the wrong file + a little dive into making dialog interactions just a touch smoother.)
260
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
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 · 02/05/2026
(no goblin friday due to travel!) (sorry, goblins. we'll make it up to you.)
080
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 · 24/04/2026
Happy #GoblinFriday! I spent way too much time messing with shaders and (re-)learning how the heck to code the stupid things in order to implement better fog. This is what it looks like, more or less: www.youtube.com/watch?v=9nT_... I am bad at video capture. Will (re-)learn it, too, someday.
youtube.com
goblin game shader fog
YouTube video by David Baumgart
190
Reposted by dgbaumgart
Jake Birkett - Veteran Indie @greyalien.bsky.social · 23/04/2026
LAUNCH DATE ANNOUNCEMENT! Forbidden Solitaire is officially launching NEXT WEEK, on April 30th! We unearthed a new trailer from the archives - an advertisement that originally aired in 1995! Wishlist on Steam and GOG: store.steampowered.com/app/3414580/... www.gog.com/en/game/forb...
22693338
Reposted by dgbaumgart
Bad Hand Books @badhandbooks.bsky.social · 19/04/2026
When you use AI to do your writing, you are telling your audience: “I deserve your attention, but you do not deserve my effort.”
1333381091
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 · 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
Reposted by dgbaumgart
king ned ludd 🇨🇦 @grumble.social · 09/04/2026
This is the good shit.
leehanchung.github.io
The AI Great Leap Forward
In 1958, Mao ordered every village to produce steel. The steel was useless. The crops rotted. Today's top-down AI mandates are producing the same pattern: ba...
5250133
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 · 03/04/2026
Happy #GoblinFriday! Sick this week, so brain work less good. New dice roll widget (kinda) works, but needs much effort. Data is passed through a LOT of places before turning into a roll: csv to rulesDictionary to ruleScript to ruleOption to responseButton to dialogBlock to diceRollWidget, oof.
A screenshot of my new unified dice roll widget working in-game.

The key thing here is it's one class that drives ALL dice rolls (rather than unique code per type of roll). 

The dataset that ends up telling this widget how to look and act is also used for the dialog buttons, their tooltips, and even how dialog rules are executed - and has to be passed down a LONG chain of classes to finally arrive at actually rolling the dice.

The problem is I also had semi-unique data structures for each type of roll, built to suit each individual type of dice roll. And: ugggh.

So what I'm doing: putting everything into one simple data structure that is shared between all buttons, tooltips, and dice rolls so they're all pulling from the same source of truth.

(This is not a great thing to do while sick, but watch me do it! I have coffee! It'll be FINE!)
1130
Reposted by dgbaumgart
Alexander Mosolov @amosolov.bsky.social · 02/04/2026
Starsector 0.98.5a in-development patch notes: fractalsoftworks.com/forum/index.... A conclusion to the Sindrian Diktat storyline, alongside a number of smaller features and QoL changes. (Not yet available for download; this is just a preview of what will be in the next release!)
2321043
dgbaumgart @dgbaumgart.bsky.social · 31/03/2026
Heh-heh, this contains a bit of my art that's in Xenonauts 2 game - see the little people in the bottom left and right? Some classic Me(tm) rim lighting going on. Modelled the console-greeble off photos of Cold War era military command/control rooms. The chairs, however, are Herman Miller.
2240