Previous Post

Cards of Gluttony Dev Log #26 [26/01/2026]

Next Post
Cards of Gluttony Dev Log #26 [26/01/2026]
1 / 9
DESCRIPTION

Hello everyone, it's time for the first dev log of the year!

Since the last post, I've been working on quite a few things: some fun technical aspects in the background - stuff you likely won't notice directly in game, but will be fun to dissect and talk about. It's been a while since I've talked about anything more technical in these, so I decided to go a bit more into detail today.

Aside from that, I also worked on some minor improvements to things like the UI. And after quite a long pause from the main storyline after the farm storyline, I've finally tackled the next part of the main quest.

So let's get into it!

The Card Unlock System - the Technical Talk

This one requires a bit of an introduction to how the game is programmed:

All of the branching points - the choices, wins, losses, etc. in the game are tracked through flags. In the code, these flags are just a bunch of variables that store a number.

Here's a little peek behind the curtain into how I keep track of which flag is which:

Yup, it's just a good ol' spreadsheet.

As you can see, this spreadsheet contains the flags for Russell. The game keeps a list of variables for each of the characters in the game that track various things, and not just things like choices: for example they also store how many times you've been to the pub, or the current color/fade of Latif's hair dye.

Now why am I talking about the flags? Because that's how the card crafting unlocks used to work.

For example, a lot of cards unlock after you defeat a specific character. These cards would check a flag to see the result of the fight - if you won, it'll appear on the crafting list. The game would go over every craftable card and ask this every time you opened the crafting menu.

What that means is: in reality, cards didn't really "unlock" for crafting as you progressed through scenes, it was more of an illusion of it.

This approach had one big problem: there is no way to actually detect when a card is unlocked. This made it impossible to implement a QoL feature that has been requested a few times: some kind of notification for when new cards are unlocked.

So the system needed to be updated to work more like how you'd expect. That meant I had to go over every craftable card and manually add the triggers for their unlocks.

There are 4 "causes" for card unlocks, each craftable card uses one of these:

A) By fighting an Opponent that has it in their deck.

This method is used by a lot of the "basic" cards in the game.

However, the old system meant that I had to manually go through opponents' decks and remember to add their "fight flags" to the card unlock check - I probably forgot to add this to a lot of Opponents, because many of them - even the later ones - tend to use the same basic cards.

B) By winning against an Opponent.

These are the ones I used as an example earlier. Because these tend to be important signature cards, I at least didn't forget to add any of them.

C) By reaching specific storyline points (sometimes only on specific branches)

This is how a lot of cards that aren't tied to any specific fights are unlocked.

D) By "achievement-like triggers"

For example, the "Spending Galore" card unlocks after you have spent a total of 60¤.Or the "Marathon" card, which unlocks after you reach Fitness Level 6.

Fun fact: the game only used the first two unlock methods for a long time, i.e. all unlocks only happened through battles. The two latter methods were added during the big gameplay revamp that added a lot of new cards and also revamped how the crafting works.

The new code now tracks the unlock method of each card, which makes unlocks through fights (A and B) fully automated now, hooray!

For cards that unlock during dialogue, I've had quite a bit of fun revisiting the scenes from which they unlock and finding the best/most exciting line of dialogue to put the actual unlock trigger into.

It's interesting how a small UI addition like this can make it so much more satisfying to progress through the game - a nice little dopamine hit from seeing a "New thing unlocked!" notice.

With this updated system, we can now also track and add a "NEW!" label to cards in the crafting menu, similar to how they appear on new cards in the deck editor:

More Card UI improvements!

This isn't the only card-related improvement that required a bit of technical work:

We now have card sorting for both the deck editor as well as the crafting menu!

I was dreading this one a bit, since I needed to implement the sorting algorithm myself - GDScript doesn't really have a built-in general sorting function in Godot 3.

It ended up being a pretty fun little exercise though - game programming is extremely different from the more conventional algorithmic problems that computer science tends to deal with, so I haven't really coded something like this in a while. Hopefully there don't turn out to be any glaring bugs or crashes!

And one last small addition to the UI

I'm surprised it took me this long to even think of adding something like this, because it seems pretty obvious in retrospect: it's a new part of the main UI in the corner that now displays your Wgt at all times!

(You could actually already see the new UI bit in the previous screenshot with Ricky...)

Now here's a fun little detail:

There are currently two moments in the game where your Wgt is secretly increased without the player character noticing it in dialogue. If you keep re-checking the Status screen during these, you can actually see it increase as you advance through the text.

In v0.5.1, a side notice UI was added that notifies you whenever your Wgt and Fatburn changes.

To keep the sneakiness of the above scenes, the game is actually programmed to specifically not display the notifications during those. So in line with keeping that fun little surprise, I've also decided to freeze this new tooltip, making it not update during those scenes. Hooray to lying to the player... for fun!

Statistics Screen!

Now here's a pointless but fun little addition: I've added a tab with various game statistics to the Status window:

All of these numbers are actually pulled from the very same system that was built to make the card crafting "unlock by achievement" triggers work. I figured it could be fun to just add a screen where people can take a look some of the stats themselves.

To not spoil some of the mechanics, the statistics screen actually keeps some of the stats hidden until they're first encountered - most notably Ambush battles which you can see are missing above.

Unfortunately, the trackers were only added later, so a lot of them will be flat out wrong on older saves - some of the stats I've even added freshly for v0.8, so even current save files will not be entirely correct. It's unfortunate, but there's not much that can be done about it.

The Russell Cake Scene

Here's an interesting change I decided to make to a certain fan-favorite moment: the Russell cake scene. Following this scene through to the end increases your maximum Wgt by 1 - one of the few only ways to do it in the game so far.

Because that is such a rare reward, in the following update, I added a way to revisit the scene and complete it later if you declined it earlier. It even became mandatory to complete this "re-do scene" before the new story event added in the last update with the lost photo could be seen. Declining the cake was essentially just postponing a required story scene.

However, while I was revisiting all of the older content in the game to rewrite all of the Journal entries to the new, shorter format, I thought it was a very strange design decision to make it "un-missable" - very non-committal in way that I now don't quite agree with anymore.

I actually still remember my thought process from back then: at the time, I didn't want to make people who didn't complete it fully feel like they were "missing out", or include any branching that "locked people out". But now that not only the game, but also I have grown a bit, I think it'll be far more interesting to actually make the choice there meaningful - especially if there are also compelling reasons not to go through with it *wink wonk*.

And so I decided to remove the re-do scene, and the path you take during the move-in scene is now a committed choice. Existing save files will consider the cake eaten even if you only did it on the re-do.

Now it is time for The Plot!

Is your head spinning already from all the technical and behind the scenes talk? Good. Here's a little teaser for the next main quest as a reward for making through that wall of text:

It's Ricky in his new get-up that I showed off last time! Now we get to see it in action during an actual scene.

I finally also get to return to the farmhand who made a very brief cameo during the whole farm kerfuffle. Hopefully this is enough to satiate you until the update release!

Card of the Month

And to finish things off, I'll leave you with a peek at a new card:

Clearance Sale

Your card costs are reduced by 1 this turn (min. 1).One-use.

"Something in the pile of junk caught his eye."

A good candidate for a card to be unlocked through the storyline happening over at the store.

And that's it for today

The upcoming update has been accumulating quite a few WIP storyline scenes, so I'm hoping I can get them all finished soon for what should be a pretty juicy update story-wise. But until then, as always, thank you for reading and for supporting the project!

oakfells PATREON 90 favs
VIEWS1
FILES9 files
POSTEDJan 26, 2026
ARCHIVEDJan 26, 2026