.url//GRAE
banner
grae.software
.url//GRAE
@grae.software
[GENERALLY RECOGNIZED AS ENTERTAINMENT]
http://grae.software

Currently making Tascots, a make-your-own desktop pet game!
I'd be happy to publish them with a little more cleanup!

It's all handled in a single small script and exports every post in a signal that carries a formatted dictionary of each post's details.
December 13, 2025 at 11:25 PM
Sure there are already plugins that do this, but I wanted a lightweight solution that avoided having to provide sensitive details like account login or oauth keys and also all current implementations don't work in godot 3

(I got it working up both 3 and 4, this example is from 4)
December 13, 2025 at 8:55 PM
I'm working on a make-your-own desktop pet game! bsky.app/profile/grae...
It's my very greatest pleasure to announce the project I've been working on the past year: Tascots! The Make-Your-Own Desktop Pet Game!

Say hello to our little queen, Button the Mouse.
December 4, 2025 at 11:00 PM
Yeah, I've been burned too many times ignoring an issue and having to then, retroactively, completely re-implement the content because the rewrite/fix borked how the content was implemented
November 26, 2025 at 10:47 PM
Reposted by .url//GRAE
May 14, 2025 at 6:52 PM
Reposted by .url//GRAE
May 14, 2025 at 6:52 PM
You're telling me, my brain refused to let go of the idea and here we are!
November 15, 2025 at 2:50 AM
It's necessary for sure but refactors that impact multiple systems are such a paaain nobody should make video games get out while you still can
November 13, 2025 at 6:57 AM
You can get the latest build on the backer discord via ko-fi.com/urlgrae !

TascotMaker2 is still being worked on, but the current build with TascotMaker1 still has lots of functionality to play with!
Support urlGRAE
Support urlGRAE
ko-fi.com
October 28, 2025 at 11:31 PM
This setup makes making new complex behavior easy, since it all starts with the FSM's flowchart and breaking down the specific actions from there.

TLDR FLOWCHARTS AND ABSTRACTION ARE YOUR FRIEND! /fin
October 26, 2025 at 9:49 PM
Each time a step of the flowchart is successful, the FSM asks the flowchart for the next step until the Motive is fulfilled.

If the motive is complete or wiped, the Tascot will pick a new one based on it's needs, environment, or personality!
October 26, 2025 at 9:49 PM
The Tascot is hungry, and it's spotted some nearby food! So the motive becomes EAT_FOOD_FROM_WORLD.

The MIND script sets the motive and then consults the FSM.

The FSM contains a flowchart for each behavior, and as long as the motive is set, it can check the flowchart to resume what it was doing:
October 26, 2025 at 9:49 PM
So the first step was to simplify and break up the FSM states into simpler, more specific behaviors (like HOLD and PURSUE)

Next I made their decision-making script save a MOTIVE, so they can repeatedly check on what they should be doing.

For example, Here's how they address being hungry:
October 26, 2025 at 9:49 PM
But this is very simplistic!

In the previous version, a Tascot was capable of getting food if they were hungry via MOVE, but this could be completely interrupted if they were grabbed or knocked out of MOVE.

This would require them to have to completely re-decide to find, pursue and eat the food!
October 26, 2025 at 9:49 PM
Firstly, Tascots use a Finite State Machine to drive behavior. It involves a parent "Manager" script and various child "State" scripts for each discreet behavior a Tascot makes.

These states define specific behaviors, and the Manager can switch between them. Like standing in IDLE or walking in MOVE
October 26, 2025 at 9:49 PM