I created blinks for every level of damage, for both the attack and defend modes. Hopefully that doesn't come back to bite me as I expand the portrait animations.

A subtle detail, but once she's really hurt, her left and right eye blinks are a little out of sync.

Promise something other than damage faces for next week's screenshot Saturday! I've been busy on the dialogue system, so maybe that!

#goblingirlgame #pixelart #gamedev

Time for the obligatory fourth wall breaking dialogue test!

#GoblinGirlGame #pixelart #ドット絵 #indiedev
#gamemaker #scribble #chatterbox

This dialogue setup is built on @jujuadams 's fantastic Scribble (text rendering) and Chatterbox (narrative) GameMaker libraries, on top of my own pop-up window GUI library. That library is the same one driving the debugger menus I've shown before, earlier in this giant thread.
Here's what the script for that dialogue sequence looks like in the Yarn variant Chatterbox uses, this also has a bunch of Scribble formatting tags and a custom function for changing the character portraits mid-dialogue.

I haven't implemented choices yet but plan to do that in the future, which will really unlock the power of yarn/Chatterbox.

Having access to a rich narrative design tool like this has already sparked some great ideas for future features in this game.

For #screenshotsaturday this week, I have a mockup of a campsite area. If you discovered enough secrets on the floors before, you'll be able to bank your new items and use the camp as a shortcut/save spot. If not you can still continue on to later floors.

#GoblinGirlGame #pixelart #ドット絵 #indiedev

A thing I want to try to preserve from Druaga, or to use a more modern example, the chains of secrets in Spelunky, is the idea of an exploratory run. A session where the goal might not be to make permanent progress or win, but to poke at secrets you haven't solved yet and add to your knowledge.

#GoblinGirlGame

Cozy little goblin camp. I wonder what's for dinner?
🐛🍳👩‍🍳

#GoblinGirlGame #pixelart #ドット絵 #indiedev

I did a few variations before I landed on that version. I kinda like all of them? It's a fun expression to draw!

Didn't quite get this out in time for Screenshot Saturday, but still surprised that I managed to fully implement my mockup from last week in so little time!

Including a bunch of stuff I'd put in my "polish this later" list, which I promptly ignored and implemented.

Experimenting with using my script expression tags to give character mouth flap animations while dialogue is drawing.

Going to automate and improve this later by hooking directly into Scribble's typist object, so the mouth will also automatically close during delays mid dialogue.

#goblingirlgame #gamemaker #gamedev

Bluesky has started an important ship building project.

https://bsky.app/profile/spookysquid.bsky.social/post/3lxsmistgq22f

Realized I should probably post the full quality version of this here!

Really happy with these little action emote pop ups for examining and talking.

#GoblinGirlGame #indiedev #gamemaker #pixelart #ドット絵

They've appeared in earlier posts in the background, but wanted to show them big. Also last night I added a neat little transition when they pop up, using TweenGMS

Going to dive a bit into the code for this one 🧵

I mentioned awhile back that I'd come up with an idea for a way to automate dialogue animation with basically no extra work. The above is the result!

My original plan was to just have a static open and closed version of each facial expression depending on who was talking.

Here's what the script for the new conversation looks like. A mix of native Chatterbox/Yarn and Scribble markup plus some of my own custom stuff. Details in alt text.

The real driver of all the portrait stuff is the markup:

[character_name,expression]

Which runs this GameMaker GML function.

Breaking that function down. It's designed for both flexibility and laziness.

First look for stage direction keywords. Right now that's just "exit" which lets me force a portrait to exit the screen before the conversation ends. I plan to add more.

If it doesn't find a state it looks to see if I have an appropriately named sprite in my project and runs a generic state that just loops the animation. So I can just drop a new image file into GameMaker and it's immediately accessible to the dialogue scripting system, no extra setup needed!
All the two frame talking animation files end with the suffex "_talk". When the function spots this in the expression string, it loads a different generic state with all the talk animation logic in it. Again no setup, it's entirely filename driven.
Here's the talk state code. It checks Scribble's "typist" to see if the text bubble is in the process of typing out text. If it is typing that frame then the animation runs + adds a little tween bob up and down on the portrait for extra juice.

if the typist isn't typing text this frame, it sets the mouth to the closed frame and pauses the animation, but lets the bob tween complete.

This means that the mouth flaps match up with the text typing and the result looks pretty close to hand keyed animated mouth flap without all the effort.

Obviously in a world in infinite art resources, fully animating these with proper phoneme shapes would look even better.

But realistically that's completely out of scope for a one artist game. I think this strikes a nice balance between that and just doing simple static images!

Bonus #screenshotsaturday!

After you talk to the elf you'll get this extra bit of text when examining the stone egg again.

Chatterbox makes it very easy to add little hidden bits of dialogue like this. Great library!
#goblingirlgame #gamemaker

Someone on bluesky mentioned this ancient meme and I felt compelled.

Have enough game now in #goblingirlgame that I made a little demo with a tutorial so I can throw it in front of friends.

I do a regular library work session with
@matthammill once a week, and we've been referring to this state as our respective projects being "game shaped now"

Definitely making #goblingirlgame for a very specific kinda retro games sicko, while also inviting others to join us.

Late night #screenshotsaturday!
Getting back to some gameplay portrait fun, adding this quick toothy grin for picking up chests and other important items.

#indiedev #GoblinGirlGame #gamemaker #pixelart #ドット絵

If you're wondering, did I animate a version of this grin with all her portrait damage states, for both attacking and defending? Yes, yes I did.

#indiedev #GoblinGirlGame #gamemaker #pixelart #ドット絵

Haven't posted about it, but I was able to work full time on #GoblinGirlGame over the summer thanks to a grant from Ontario Creates.🍁

I submitted my final report this week, so I'm back to balancing dev on #GoblinGirlGame with contract work. That means updates will be a little slower for awhile. Though I'm hoping to keep up the regular Screenshot Saturday posts if I can!

Been mostly doing behind the scenes work on #GoblinGirlGame this week. Stuff like refactoring most of the in game text to work with Chatterbox. So here is a set of cute cactus enemies from my "enemy ideas sketch file" for #screenshotsaturday.

#pixelart #gamedev #indiedev #ドット絵

No promises these will make it in, not sure if there will be an appropriate dungeon biome or not. But I really like this bunch.

Razor Shroom, the next enemy I'm animating for #GoblinGirlGame

#screenshotsaturday #pixelart #ドット絵

This week I'm sharing an older mockup I haven't shared in full before for #screenshotsaturday. This is 1/2 of a two screen character respec menu you access between dungeon floors in #GoblinGirlGame

#gameui #pixelart #ドット絵 #indiedev

Haven't made a lot of progress on #GoblinGirlGame this last month. October has been super busy due to a glut of contract work coming in at the same time a family member was hospitalized. Just a real bad confluence of events. Hoping to have new stuff to show soon.
The upside of solo/small team dev is that *theoretically* you're more agile, downside is that when life interferes all progress kinda unavoidably grinds to a halt.
My current travel work setup I animated this on, pretty similar to what I used when travelling Japan last year. Just has waaaay more stickers on it now!
Chatterbox's implementation of Yarn continues to be great for just messing around with dialogue and text. I wrote a few intro sentences and memories to test this fireside memories idea and now it randomly combines them when you look at the fire.

This fall continues to do everything it can to slow down dev (RSI wheee!) so for #screenshotsaturday here's another #GoblinGirlGame early mockup I haven't posted, showing off a potential outdoor tileset for the dungeon.

#indiedev #gameui #pixelart #ドット絵

For #GoblinWeek: a whole bunch of the portrait expressions I've drawn of the goblin girl protagonist for my still untitled, Tower of Druaga-like. Love drawing her so much!

#GoblinGirlGame #pixelart #ドット絵 #indiedev #monstergirl

Had to add a new function to my Chatterbox/Yarn based dialogue system for this. I can now interrupt dialogue to have a character portrait perform an animation. In this case the human kneeling down to the goblin's height.

As usual here's the yarn script for this scene:

Because Chatterbox custom functions trigger as soon as the next line of dialogue is received this required a bit of an awkward rewrite of my system, but I think it'll be worth it. Opens up the possibility for some fun performances in the future that use "gestures" in more dramatic ways.
3:06 PM · Feb 14, 2026
I'd usually add a bit of follow through/secondary animation to something like this, but since this has to run forwards and backwards at multiple speeds (sword drawing speed is based on a stat!) that wouldn't work.
Getting ready to switch back to goblin girl game play stuff soon, and figured getting in one of the gameplay portraits I've been thinking about for months would be a good step in that direction.

Mushrooms grow in dank dark places... like dungeons!

#screenshotsaturday #GoblinGirlGame #indiegame #indiedev #gamemaker

These were a "happy accident" addition to the game. I'm in the middle of adding mobile monster mushrooms at the moment, but realized while testing that I only needed a couple lines of code to also have regular variety mushrooms that act as walls you can destroy with your sword.
@spookysquid The way the animation is synchronized with her player sprite is so, so satisfying.
@ClarusPlusPlus Thanks! The portrait actually pulls the frame to display based on the player sprite.

@spookysquid This is the cutest goblin I have ever seen. I love the mix of "cute" and "absolute troublemaker" energy.

She has a lot of instantly palpable personality a lot of RPG characters lack.

Followed to see future updates.

@spookysquid Would definitely play this game.

While looking trough your profile I noticed that you also developed They Bleed Pixels. I played it, excellent atmosphere. To the point that it was a bit too much for me, so I didn't finish it.

And now that I looked at your projects, I'm heartbroken about Guerrilla Gardening Seeds of Revolution. I hope you manage to make it one day.

@dragonfi Thanks!!! Still sad we couldn't create Guerrilla Gardening,. We were a little too early with it I think. It really needed a publisher budget, but we were pitching it before there was much funding for indie games.
@spookysquid ahh! I love these!
@abetterjulie Thanks! You can see some of them animated further up the thread!
@spookysquid god, I love her.
@abetterjulie Yeah I really can't wait to get back to working on this and drawing her more! Had to take a bit of a break due to a bad shoulder RSI issue, but starting to slowly get back to it!
@spookysquid oh no, I'm sorry. That must be super frustrating. Please take care of you!
@spookysquid Is her sword like this because she took a bite out of it?
@ratsnakegames No, but she'd absolutely do that!
@spookysquid like for screenshot. Dislike for RSI. 😅
@lyonsinbeta I figure that's safe to assume! Folks aren't out there wishing harm to my right shoulder for no good reason... I hope!
@spookysquid I miss the moments where you synch to source control and whoa what who put that bit in it's awesome!
@Farbs Ooh! That sounds fun, I've never been on the programming side of a team large enough to have multiple coders.
@spookysquid Oh, I have but it usually wasn't the programmers invoking that effect.
@Farbs Ah, art team surprises? I guess you had stuff setup so they could drop things into the project easily?
@spookysquid Yep, art team, audio team, designers etc. They just learnt to use source control because, y'know, they're adults, and sometimes doing work means doing work.

@spookysquid Soz that got a little harsh :)

I've worked with a handful of people who _did_ refuse to learn source control, or do any asset integration or even run the game, and that always became a huge drain on everyone else.

The worst were the people who'd endlessly argue and debate design, only for you to realise they hadn't actually played the build and were just banging on about the vague imagined version in their head.

@Farbs Wow that sounds like an absolute nightmare.

I can't imagine having access to the game and not actually playing builds. I've often been in the opposite situation when doing contract art, making all the assets but unable to play them in game, and just kinda hoping it's all coming together ok.