Hello everyone and sorry for the wait, v0.7.0 is finally here!
[27/10 Hotfix #1 Fixed some crashes during Beau's new fight + incorrect behavior on some new clothing.]
[27/10 Hotfix #2 Fixed the new Russell scene incorrectly re-triggering whenever re-loading a save.]
[28/10 Hofix #3 Fixed broken load on one of Ikem's gym hangouts + incorrect Ferger SC behavior.]
[28/10 Hotfix #4 Fixed some text errors.]
[28/10 Hotfix #5 Fixed some incorrect behavior after game overing in Ambushes.]
As of the previous update, the links are hosted on the early release page of the game on itch, which seems a bit more reliable than file hosting sites, so we'll keep with this going forward:
(Update: apparently the itch link is getting blocked in some countries, so back to file hosting mirrors we go... if the link above doesn't work for you, try this one instead:)
While you let that download we can address a few things in this post:
First, a quick note about the update
A poll - as stated in the title!
The delays and time it took to finish this update
Notes for the update - what to keep an eye out for
The tattoo parlor storyline features probably one of the most complex dialogues by far - structure-wise.
The game checks for a lot of variables such as how big you are when you come in, the order you come in, and features quite a lot of variation depending on small details.
As such, it's very possible some sequences in the tattoo parlor might behave incorrectly, such as skipping some dialogue, or playing incorrect dialogue from other branches. As always, if you run into any of these, report them to me here or anywhere else!
Aside from that, there shouldn't be any major bugs popping up anywhere else, as there weren't really any changes to major code unlike the previous update!
Side note: I'm actually quite proud of the narrative side of things in this update - especially what happens during the tattoo parlor storyline and the new chunk of Ikem's! There's even a fun little gameplay surprise that happens in one of the new scenes!
A Poll! - The Future of the Journal
I have made the decision to halt work on the Journal - at least temporarily for now. This means it doesn't include any entries on the new content and is essentially the exact same journal as in v0.6.0.
The reason for this is because of the massively increased workload required to essentially write a sypnosis for every new scene I add to the game - as well as the coding required to track and output based on all the branching. What happens next will depend on your feedback!
There are 3 main options:
A: Keep the Journal same as it is now - the workload is worth it.
B: Make the journal more like quick bullet points, or a "quest log checklist" so that people can continue to use it to remind them of where they are.
C: Remove the Journal entirely as it's unnecessary.
Which is the perfect time to bring it into a poll, you'll be able to find it at the bottom of the post, so please vote on whichever one works for you best!
Perhaps I should make more of these in the future as to various aspects of the game - the scope really has grown out of control, so the best way forward will likely be to ask for everyone's feedback regarding what they want from the game.
The delays during the development of this update
There were several delays that happened during this update. Usually I skip writing the development logs the one month before the update is ready to be released in the next one, but this one ended up being delayed twice, which is a bit worrying.
It would be great I could say this was due to how much the scope of the game has increased - which is true, the game requires far more work for the same amount of content now, the situation with the Journal is proof of that - but to be honest, a large part of it was very much because of my terrible time management.
Which is to say: these updates could definitely be coming out much faster than they are right now, or come with far more content - I just need to be better and more consistent with work on the game.
There's not really anywhere I'm going with this section, but I figured I would just address it real quick for the sake of keeping up proper communication with everyone.
With that out of the way...
Thank you for reading all the way up till here, don't forget to vote on the poll, and with that, as always, thank you for reading and supporting the project! Have fun with the update.
2025-10-27 06:35:46 +0000 UTC
View Post
Hello everyone!
Unfortunately I wasn't able to finish the update in time for September - I ended up expanding the scope a little bit with which scenes I wanted to get done to include in the update, so it'll likely drag things out a little going into October.
I'll leave you with a few sneak peeks into the new stuff to satiate your curiosity a little in the meantime.
(Something interesting is happening on the premises of the HQ... and I'm finally making use of the shed which has been there, looming in the background for a while.)
(Taking a certain someone to the pub...)
(The return of Russell!)
(This time he only serves as a brief segue for a larger scene, but I know a lot of people have been asking about him - he seems to be something of a fan favorite - so you can rest assured that there will definitely be more of him in the future!)
(And we're ending on a big one... a new character appears! Who could they be and whatever could be happening in this scene?)
And that's it for the sneak peeks! Hopefully that gave you enough to chew on until it's all done and ready. As always thank you for supporting the project and see you again soon!
2025-09-27 03:05:45 +0000 UTC
View Post
Hello everyone!
This month's log will be skipped out on again as I work on the final few stretches necessary before the next update will be released sometime next month.
In other, personal news, I have taken the day off today to go hiking and celebrate my birthday. So here's a disgruntled birthday photo of me instead:
2025-08-26 18:24:47 +0000 UTC
View Post
It's time for another development log! Apologies for the slight delay everybody, I've been a bit behind schedule with this one, so I was busy finishing up some last bits I wanted to show off in the log.
We got quite a bit of art to go through, so let's get right into it!
Tattoos!
In the previous log, I showed off the teaser character sneakily added into the Model Viewer during the update and revealed that they are the tattoo artist that will soon be added to the game alongside tattoo customization for the player avatar. Now's the time to finally show off some tattoo designs!

Here is a collection of the ones I've done so far, laid over the lightest and darkest skin tone, to make sure it reads properly on both. It works... well enough, but I can't help but feel like it's just a tad bit muddled on the darker skin tone.
Both of the examples you see above are comprised out of multiple separate tattoo pieces - each of the arms, sometimes separated into shoulder and forearm, chest and stomach. The idea is that you'll be able to mix and match them similar to how the facial hair system works!
Obviously I couldn't resist at least one corny/on the nose design, but for the most part, I stuck to abstract and geometric shapes so far. If there are any tattoo ideas you think would make a great fit for the game, feel free to pop them in the comments!
There's one thing that needs to be addressed here though... and that's the fact that all these neat tattoo designs are going to get covered by most of the clothes currently in the game!
And so to amend that, I got down to making some clothes that... ahem, show a bit more skin.
I want to avoid a situation where the game is filled with explicitly horny/half-naked clothing options - not to say that there won't be any in the future - but for now I'm largely focused on adding clothes that one could reasonably put on and walk around in public without having anyone bat an eye.

It's been a long time coming for a small-sized tank top after only having had Gordon's oversized one for quite a while. And aside from that, I also got around to making a short-sleeved shirt - the sprites of which I was thankfully able to derive in part from the existing long-sleeved shirt to lessen the workload of the dozens of sprites a bit.
Perhaps it's because I'm in quite the summer mood due to the current heat and time of year, but it was hard not to feel like adding a floral/Hawaiian pattern to the shirt, especially with the beach vibe and whatnot from the lack of a t-shirt underneath.
... and what kind of psychopath would wear long pants with an outfit like that? So I of course went on to make the sprites for some shorts as well.
But there's more..!
Another thing I mentioned in the previous log was that it's hard to think about tattoos without also bringing up piercings. Here's what we got so far:

The piercings turned out to be slightly more work than it seemed on paper due to the fact that the face is customizable with slightly different facial features - meaning I had to adjust the nose ring for every nose type, as well as create a unique eyebrow piercing sprite for each of the eyebrow expressions.
And so, for now, we just have three different sizes of nose rings, and a single type of eyebrow piercing.
And, of course, we can't just have the poor tattoo artist run the entire business on his own, and so I decided he needed to have an employee there with him, who'll be in charge of the piercings!

Every now and then, It's fun to take a break from drawing men for me to thirst over, and get in some practice drawing women as well. And CoG sure as hell could use a few more female characters!
And what of the story?
For the story teaser in this month's log, I will simply leave you with this image and nothing more:

Card of the Month!
And to cap things off, today's card of the month is yet again a card from the How the times change series that didn't end up making it anywhere in the update:

Career Change
Opponent loses all their Fit, but you gain +1 Inevitable Wgt for every 2 lost (max. 8)
From fitness buff to foodie.
Unlike all of the other cards in this series, this one uses a mashup of two different illustrations from the story.
You might be able to tell from the values that this card is still untested and the numbers on it are quite tentative, so you can expect them to change by the time you actually see them in-game!
And that brings us to the end
I don't have anything witty or important to say at the end here this time, so... as always, thank you for reading and supporting the project!
2025-07-27 09:38:25 +0000 UTC
View Post
Hello everyone! It's been quite a while one of these, mainly because I didn't have a whole lot to share about v0.5.1. Now that 0.6.0 is out, there is enough to combine into one post, including some fun statistics stuff at the end. Let's begin!
Version 0.5.1
Storytelling through gameplay
Cedric dialogue has variations based on how you treated him in the pub MQ: whether you won during the match, as well as how you treat him afterwards. Because of that it can end on two very different vibes.
There are several interesting things about Cedric's deck in this encounter.
(Note from the future: while v0.6.0 changed a lot of opponent's decks, the following still applies to both his previous and current decks.)
During the 2nd fight, at the pub, it is just a variant of his tutorial deck that adds some of the cards given to you by Gordon at the start.
(In v0.6.0, the deck is completely identical to the intro since Gordon no longer gives you new cards.)
However, after the pub MQ is done (which is implied to be the first time Cedric had actually faced anyone other than you with The Fattening), Cedric's deck is finally updated with several new cards. These are notably:
Bottleneck (which unlocks after you fight Norman/Ratko)
Without further ado (which unlocks for the you after fighting Matteo, but Ratko and Norman both also have this card)
Don't end up like that - a new card unique to Cedric.
In addition, the final new card in Cedric's deck changes depending on how the finale of the pub MQ went:
It will be "Food Coma" if you fought Ratko and won.
It will be "Taste of your own" if you fought Norman and won.
If you lost during the final fight, the deck will not have either card.
The implication is of course that Cedric crafted the card of whoever he ended up fighting, but in the route where you lose to your Opponent, they end up ganging up on Cedric and cutting his fight short: resulting in him missing out on the final card.
This actually creates an interesting "self-balancing" effect, where players who lost the final pub fight will end up having an easier fight with Cedric here due to him lacking the more powerful Signature cards. Since the player missed out on the card themselves, it sort of balances itself out.
A little easter egg

Basically only vaguely teased through the patch notes, I added a fun little easter egg with the 0.5.1 update, hidden inside the phone UI in the game.
As you can see from the screenshot, it is based on a certain variation of Mastermind that became quite the phenomenon a few years back. I worked on this as a fun little distraction and exercise on the side.
Obviously I didn't want to just create a one-to-one clone, so I infused it with a bit of CoG-themed flavoring: putting in only words that are either directly, or tangentially related to the game.
However, there were only so many 5-letter words I could come up with that were relevant, and so, there are actually even a few words from other kinks as well, that only appear if you have them enabled in the content settings.
More storytelling through gameplay
And now let's get back to the main game. Franklin's deck introduced two new draw cards: "Smart Start" and "Meticulous Draw". Back in one of the previous posts, I pointed out that because of how lacking the game's draw cards have been until now, these have been added as a way to diversify your options a little.
(Note from the future: this point isn't really relevant anymore, because v0.6.0 just added a ton of cards all across the board.)
However, because cards are usually only unlocked for crafting after you fight its user, this meant that people who lost to Bucky would miss out on these very necessary cards.
Originally I mended this by just unlocking them regardless of if you fought Franklin or not, but in v0.5.1, the cards now unlock after you meet Franklin and Bucky in town. In a way, this is a nice little narrative tie in to the way Franklin decides to confide in you.
... and this is actually a fantastic segue into v0.6.0, because in v0.6.0 many cards now unlock through story progression/reaching certain criteria, rather than only through battles like before!
Version 0.6.0

The 0.6.0 update added a whole 33 new cards, not counting auxiliary ones such as Empty Packaging or the 2 stages of Binge Eating and Treadmill.
That is an increase of an entire 40% compared to the previous count of 79 (which includes cards that don't even appear anywhere in the game yet). In other words: a hell of a lot of development time went into the cards during the development cycle for 0.6.0.
This is also the first time I've put focus and effort into the card illustrations - until now, all of the cards illustrations were largely fast and messy sketches that were done more out of necessity, rather than to create actually interesting images.
It's clear now after the companion story "How the times change" came out (which you can read here), that the reason for this is that I actually decided to start building small self-contained narratives in a lot of the card art! That meant a lot of the card art got the same care as any other standalone illustration.
How the times change and how it came to be
"How the times change" appears in a whopping 15 of the cards (+2 cards that don't appear anywhere in-game yet). The way I developed the cards in tandem with the story is a bit complicated.
It started with me revisiting the very first card illustration I made for the game: the basic "Feed" card. From there, I bounced off, deciding to tell a bit of an implied story using "Feed" and another card: "Menu for 2".

After touching them up to not only update the shoddy old art, but also match the new story and character designs I wanted to write about them, I looked through the list of card effects that needed to be added in the update. Many of them naturally gave way to theming that I could see myself fitting into the story: and so in a strange way, I started building off the story based off of how the plot point could be used to illustrate the cards and match their effects.
As the story got more complicated, finding an appropriate card from the list of to-be-added cards became more difficult, and so I started working backwards: thinking of plot points that could then be turned into new card effects I had not yet thought of. So in the end, "How the times change" was created both by and for the cards that would use its illustrations.
But Joe and Connor from How the times change aren't the only two recurring characters in the card art!

There are a few, such as "Exercise"'s updated art, or the character that appears on the new "Treadmill" card.

There are also a few cards that feature characters that don't appear on any other ones, but were still made with a future story in mind. I was basically coming up with a bunch of story concepts to go along with the new card effects that needed to be created.
Unlike How the times change, which I had mostly written almost in full before the update went out, these other illustrations have a more unfinished, rougher story outline with some short drafts written that go over the key points that appear in the illustrations.
Since the cards' flavor text sometimes gives away some of the plot (some even being direct quotes from their stories), there's a bit of extra fun that can be had with sleuthing out which cards are connected, and trying to piece together what their stories are about.
And now: a fun little literary exploration
As of v0.5.1, the word count of the writing in CoG is:
Here are a few extra details about what that count comes from:
It only includes overworld dialogue + character battle text.
It doesn't include things like card descriptions, flavor text and activation text.
It doesn't include the journal recap entries.
It doesn't include text in other miscellaneous parts, such as equipping clothes, item descriptions, etc.
Now a number like that is nice and fun, but it doesn't really offer much information unless we put it into perspective... so why don't we compare it to other pieces of literature?
Cards of Gluttony is:
As long as Shakespeare's Hamlet, Romeo and Juliet, Merchant of Venice, Othello, Macbeth, Tempest, and Midsummer Night's Dream combined.
60% longer than The Hobbit (95,022 words), the least wordy book in the Lord of The Rings series.
1/3rd of the Lord of the Rings trilogy (481,103 words)
1/5th of the Bible (783,137 words) (based on the King James translation)
Neat! We're a third-way through writing the LotR trilogy! What other statistics can we look at? What about how long it would take to read all of CoG?
At this speed, it would take about 10 hours to read through all of the dialogue, provided one wasn't just speedreading/skimming it. Wow, that is... definitely far longer than I expected, especially considering the game is still under development.
Alright, that's it!
It's time for me to get back to inflating that number even higher now. As always, thank you for reading and for supporting the project!
2025-07-19 16:00:17 +0000 UTC
View Post
Hello everyone! It's been a hot minute since the last development log, due to the release of 0.6.0 and whatnot!
Now that the big revamp of the entire game is finally out of the way, it's back to working on good ol' storylines and content for me!
I'll be showing some screenshots from the upcoming storyline dialogues towards the end of the post. That way, people who don't want to be spoiled even by the littlest of teasers can bow out.
So first, let's go over all of the other stuff instead!
How's the music coming along?
Wow... I really haven't gotten any progress done on the music since the last time I shared some bits and bobs, have I? To bring you up to date, there are currently two songs that are in work-in-progress limbo:
If you haven't heard the new battle theme yet, I've attached the same demo that I shared about year ago.
Since the music isn't exactly a critical part of the experience, it's not surprising that I left it on the back burner for so long. Still, it could be interesting to go over what still needs to be done:
The evening variant of the 2nd overworld song is barely underway. There might even be a few bits in the existing daytime version that I want to change before tackling the evening version.
In case of the new battle theme, there is not only the matter of finishing and polishing up the song, but also composing 2 additional entire songs to be used as the battle escalates.
I've mentioned before that I compose mostly from the heart, and so I only ever get progress done on the music when I "get in the zone".
So why am I bringing up the music now? Well it's because we can add yet another song to the pile now:
Once again, I've attached a short demo below in this post so you can give it a listen: it contains two main sections of the song so you can get a taste of what the choruses sound like.
Considering the format of ambush battles, this will probably be the only song needed for them (unlike the escalating 3-stage songs for normal battles), since they are considerably shorter due to not having an opponent phase.
All that's left now is to finish up the final few seconds and create a satisfying loop, and it'll be done!
A teaser
If you have access to the Patreon Perks, you may have noticed a mysterious new character named "Teaser" in the character model viewing menu.
This is a character that I managed to finish the sprites for, and whom I initially planned to at least add a quick introductory scene for, but in the end had to postpone in favor of finishing the update on time instead.
He is easily the most detailed character model in the game so far - and one that took the longest to draw. It would've been a a shame to not even do anything with him after all that work, and so I decided to just pop him in the Model Viewer as a fun little teaser.
His appearance also changes slightly to add a bit of fun variance, similar to how Ted's facial hair or Darwin's hats work.
Alright, all this talk and I haven't even shown him yet! I'll pop an image in here so that people who don't have access to the Patreon Perks get to see him as well:

You can probably see now why I said he's the character that took the most time and effort to draw so far. The tattoos actually run even further past his arms, spanning nearly his entire body. This man is tatted up!
It should come across as no surprise then that this man runs the tattoo parlor that'll be added to the game! That's right, further continuing down the rabbit hole of adding more character customization, tattoos will soon also become an option in CoG!
Of course, because of the multiple-weight-sprite nature of the game, it'll take quite a bit of work to get all the dozens of tattoo images done, so there will likely only be a few options to start with.
One cannot mention tattoos without also bringing up the adjacent and somewhat related piercings! Those too will be added to the game alongside the tattoos, and seeing as most of those appear on the face which doesn't change with weight much, it shouldn't take too long for me to finish up all the sprites for them.
And of course, you can also expect there to be a storyline tied to the tattoo parlor, similar to how Beau's storyline opens up after a few haircuts! Hell, a tattoo parlor even lends itself to repeated visits more often, seeing as you'll have to keep coming back for more sessions to get your tattoos finished...
Card of the Month!
For this month's card, I'll be showing another card that uses an illustration from the "How the times change" companion story (check it out here if you haven't already!)
You may have noticed that there are a few illustrations that appear in the story that don't appear anywhere in the cards. For a few of those, it's because there's not much of a way to tie them to cards - such as the two shots from during the sex scene. But in case of this one, it's because the card has a particularly strong effect that I have yet to find a character to give it to.
Let's not dawdle any longer, here it is:

Fat Coach
Gain +1 Fit for every 10 Wgt your Opponent has (max. 4)
There is a *shocking* amount of these.
Now that v0.6.0 added such a large amount of new cards, I'm curious to see the rate at which I'll find myself adding new cards alongside the new storyline content. Will it be the same as before? Or will there be more? Only time will tell!
And now it's finally time for a few storyline teasers! If you don't want to see even a hint of what's to come, feel free to bow out now!
A preview of the upcoming storylines
First up, it's the next scene for Ikem's gym storyline!

That's right, we're bringing Carver back with this one. We haven't seen this guy at all since the pub MQ! What's he been up to?
And up next, we get to see a bit more from this trio of old friends:

I have actually written quite a bit of these guys' story, but it'll take some build-up before we get to that point. So for now, enjoy the exposition!
And that brings us to the end
This development cycle has been quite a rollercoaster, what with the big gameplay redesign, the long delayed public release, as well as my attempt at doing a little promotional thingy with the companion story using the card illustrations.
Hopefully we'll get back to a more consistent, focused release schedule now that that's all out of the way - I'm raring to finally get back to writing more after largely having only focused on replaying the game and re-balancing the gameplay for the past few months!
And as always thank you for reading and for supporting the project!
2025-06-26 18:00:11 +0000 UTC
View Post
Hello everyone, this is just a quick post to let you know that the patch fixing a few of the bugs that emerged in v0.6.0 is now live.
It came out alongside the public release of the update, so you can get it from the game's itch.io page now!
2025-06-16 17:16:56 +0000 UTC
View Post
Hello everyone! I got something a little different for you today.
As a way to promote v0.6.0, now that it's coming out to the rest of the public, I've written a story based on one of the recurring characters appearing in some of the new card illustrations.
I will be releasing a new part of the story every day until it's all out, and today is day 1!
2025-06-06 15:11:41 +0000 UTC
View Post
Hey everyone!
This is just a reminder that the Patreon price increase is now in effect! If you haven't read about it yet, check out this update release post (in short: this price change should not affect you until next month).
2025-06-05 11:11:34 +0000 UTC
View Post
Hello everyone, the next update is finally here! As you can see from the title, I will be increasing the prices of the Patreon tiers, so please make sure to keep reading past the second half of this post for more info.
But first...
The update!
I'm trying a new thing this time, in an attempt to move away from finnicky file hosting sites. You can now get the early release through a secondary itch.io page!
You can let that download in the back while you read through the rest of this post!
Here is some important info regarding this update:
The Discord Server is now accessible to the rest of you who didn't get an invite during the initial wave. The link is available in-game from the Title Screen!
Aside from some early build-up story scenes, there are no big content additions in this update: the big focus this time around was a big revamp of the gameplay balance.
After a week or two of letting the changes sink in and to fix any glaring balancing issues, the update will get ready to be released to the public.
Until then, please share any thoughts and experiences you have with the new balancing changes in the #gameplay-balance channel in the Discord, here in the comments, or through my e-mail!
Price increase of the Patreon
Now here comes the unfun, but very important part.
I have decided to increase the price of both Patreon tiers by $2, a change which will occur on June 5th 2025, about a week from now on.
Here's what you need to know:
The new pricing
![]()
Throw money at me: $1 -> $3
Actual Benefits: $5 -> $7
A quick breakdown of how this process will work:
The pricing change will occur on June 5th, a bit over a week from now on.
Existing subscriptions will still renew at the old price until July 6th 2025 (for another month). Afterwards they will start to renew at the new price.
The story behind the change
If you're interested in the actual thought process and story that led to this decision, here's a long and sappy backstory on how the Patreon for CoG got started:
When I first launched the Patreon, it was pretty much just an off-the-cuff decision I made on a whim. At first, there was only one tier: the $1 "Throw money at me" option, which was basically there so that anyone who wanted to support me could have a way to do just that.
Some time later, I decided I wanted to provide something, at the very least. The minimum of an actual benefit to give as a thank you for supporting the project. Eventually this led to the posting of the very first Development Log.
The project then grew and got more popular, and a few months later, I came up with the Patreon Perks idea: an actual in-game menu that offers some perks for supporting the project. From this idea, the "Actual benefits" tier was born, priced at $5.
As you can see, both of the tiers were created pretty much out of nowhere, with very little thought put into them:
"I need at least one tier so that people can just pick for themselves how much they want to give. $1 is the minimum? Sure let's do that, then!"
"Now I need another, more significant tier... 5$? Sure, that's a nice number."
The money talk
However, now that I've had more time familiarize myself with the inner workings of Patreon, I realized there was a caveat: all the various fees surrounding each payment.
This is something that particularly affects the $1 tier. In fact, Patreon actively deters people from setting up a tier that low. This is because, after taking fees into account, I barely get 75 cents off of your support, with the rest going to Patreon and various payment processors.
Back then I figured it'd be best to give people the option anyways, but now I feel like like there are better ways for you to spend your $1. Ways that don't end up with over a quarter of it absorbed by some third-party.
The "threshold" of fee effectiveness is at $3, which is where you lose the least percentage of money to fees on a "cheap tier". And that is why I decided to go with that. The Actual benefits has similar reasoning behind the increase to $7.
Aside from that, there is also the very straightforward issue of... the income is just not enough. It is just enough so that I can pay my rent, bills and afford food, but not enough to save any of it or afford many other amenities.
And to make things worse, last month, the payment processor also increased their fees, further decreasing the income I get from the Patreon, which ultimately means that things have become a bit too tight for comfort. Clearly something had to change.
And that brings us to now
Back then, I had very little interest in creating a ton of different tiers. I dislike how it takes something that should be simple (providing people with a way to give you money), and turns it into an entire hassle.
To liken it to a certain other trend in the gaming industry: if you need an entire chart with checkboxes for which content is included so that people can tell which edition of your game to buy, something went wrong.
I still feel the same to this day. It's why there are only two tiers here. And so I decided that the best step was for me to increase the prices of the current tiers.
If that means that you won't be able to support the project anymore due to your financial situation (and hoo boy there sure are a lot of other factors contributing to that right now), or even just because you feel it's too expensive, that's okay!
I'm still very grateful for your support all the way up to this point, and Cards of Gluttony itself will remain free for everyone, now and forever.
Phew...
And that's the end of the money talk. Hopefully the update has finished downloading by now, so off you go and have fun!
Now it's time for me to sign off. Once again, thank you for reading and for all of your support!
2025-05-27 11:31:38 +0000 UTC
View Post
Hello everyone! As has become the norm, no development log today as I work on the last bits and bobs for the update!
In the meantime, allow me to tease you with a few of the card illustrations that will appear on the new cards.
There are quite a few of these, since the large balancing overhaul needed the game to have a far more diverse card pool to make it work.
That's enough of a preamble from me, take a peek at these:


Can you guess what effects these cards would have based on the illustrations?
(yes this is just a covert way for me to crowdsource new card ideas.)
As you can see, I decided to come up with some designs to use as recurring characters in the illustrations.
And that's it. I'll have some exciting extra news to announce soon, so keep your eyes peeled for that! And as always, thank you for supporting the project!
2025-04-26 16:44:50 +0000 UTC
View Post
Hey everyone!
Today's development log is mostly focused on the big balancing changes I teased in the previous log. As I've continued to play around with the various parameters, I've made more and more significant changes to the gameplay to the point where it'd be accurate to say this is a full on balancing revamp.
Now I'm pretty much just stuck in the testing stages to make sure everything else in the game is adjusted to work with the new values before letting it all out.
There won't be any new storyline content in this one, as all of the work done is gameplay related - plus several new cards scattered across existing content to fix the current small pool of options. As such you can expect this update to be out sometime next month.
... but aside from gameplay, there was one other thing I talked about last month. And that one lets me show you some funky pictures, so let's start with that!
Guess what? I changed my mind
In the previous log, I showed off a brief clip of the talking animations I decided to add to the game. I also mentioned that I wasn't 100% happy with the results, but decided to leave it be.
I didn't actually get into how it works at the time though, so let's take a moment to go over that now!
The talking animation consists of 2 hand-drawn frames: the "neutral closed" mouth, and then an "open" mouth sprite.
This mouth sprite is laid over the character model, and then animated by flickering between the two mouth images. Standard animation stuff. But because the actual animation itself is only two frames, it looks quite stiff and artificial on its own.
Thankfully, with a bit of stretching trickery, we can make the animation look like there are far more frames and movement than what there actually is. Here's the result I showed last month:
(Much better!)
As you can see, the mouth looks like it actually opens and stretches, rather than just switching between two images.
There is however, still one issue, and that is the fact that all of the characters in CoG have multiple facial expressions. The "closed" mouth frame of the talking animation is merely the "neutral" mouth expression for Gordon. But a problem arises when the open mouth sprite is matched with any other expression...
(Oh boy... that looks unfortunate.)
So what do we do now? The obvious solution is to draw a talking equivalent for every mouth sprite there is.
Let's do some quick math: there are currently about 30 characters in the game. Each character has at least four mouth expression: neutral, smile, concerned and horrified. That brings us to around 120 additional mouth sprites I would have to draw.
... not exactly a task I was eager to tackle. Which is why I went with a different approach a month ago. Allow me to bring up the results one last time:
Now that you know what the issue is, you can probably see the oddity going on in there: the talking animation plays using the 2 neutral frames, and then once it finishes, it cuts to the expression. The result is good enough, hell I'd even say the way it cuts between some of the expressions creates a satisfying effect that looks quite lively.
... well that's what I thought a month ago as I went on to finish the talking sprites for the rest of the models... before I reached Ricky.
Now I don't want to say I have favorites, but if I did, Ricky would probably be somewhere near the top, because he has the most facial expressions out of all the characters in the game with a whopping 7 mouth expressions.
(I don't even think the last one appears in the game anywhere yet...)
I don't know what was going there, but clearly I had a lot of fun because the expressions themselves are quite varied and also exaggerated, particularly the smiling ones. And therein was the problem.
The solution of using a single talking animation and then cutting to the expression worked well enough for most of the character models, but for characters with very expressive faces, it didn't work well at all. Here's another one that would be an even bigger issue:
(Look at that tongue go!)
Needless to say, I eventually caved in and just decided to create bespoke talking sprites for every single expression. Here's a showcase of a few of them!
Seeing them side by side like this sure makes all of the effort worth it! It's quite satisfying to look at, and it'll go a long way to making the game feel more polished and alive.
Now let's talk game design
Like I mentioned at the start of the post, the main bulk of work I've been doing is rebalancing the various values of the card game aspect. In the previous post, I merely teased things with a screenshot. This time, I'll tease things with a shot of two existing cards.
(Well would you look at that? We have updated card visuals!)
Originally I intended to do something a bit more ostentatious, but I really struggled to come up with a design that both looked nice and was legible, so in the end I just went with adding a few embellishments to make the cards look a bit less generic.
And in case of Planning Ahead: yes, signature cards now have a fancy unique appearance to distinguish them from other cards. Neat!
Aside from that, you can also see the result of some of the work I did on the Keyword system I mentioned last time. I decided to add a little fancy formatting with them to make descriptions slightly easier to parse - italics and color highlighting.
Finally, you might've noticed the completely different Energy values. That is, not only the cost: 5 and 3, but also the fact that Planning Ahead now recovers a whopping 10 Energy. That's right, one of the main changes that'll be brought by the balancing revamp is Energy values.
If you remember the screenshot I teased last month, one of the changes hidden within it was the fact that the player had 4 Energy - which is supposed to be 3 Energy when Wgt is below 10.
This was one of the first steps I took in an effort to decrease the massive gap between gameplay at lower Wgt vs. higher Wgt. Because Energy recovery used to increase every 10 Wgt, this meant that the gap would often be as large as 3 Energy vs. 7 Energy - that's when facing off 0 Wgt vs. 40 Wgt. That's more than double the Energy per turn!
This meant that lower Wgt not only gave minimal advantage, but it was also just boring and slow to play. With that amount of Energy, you would usually only play around two cards before shrugging and ending your turn. It also makes many cards completely unplayable at low Wgt, while higher Wgt allowed one to just pop them around like they were nothing.
Another aspect I wanted to address was the granularity of Energy growth. First off, the Energy increase happens every 10 Wgt: quite often throughout a fight. Sometimes this would lead to slightly strange situations where one would want to delay attacking if the Opponent was at 9 Wgt, so that they would not get the extra Energy.
There is also a bit of a strange disconnect between Energy, and the other escalating mechanic: starting card draw. The draw at the start of one's turn goes:
Not only does it not happen every 10 like Energy, it... just doesn't happen in any consistent way at all? If it at least happened every 20, that would be one thing, but what's up with that 45!?
To really drive home the insanity, please enjoy the simple chart below that illustrates just how weird it all is.
Needless to say, I've changed Energy and draw escalation to be more unified and consistent now: both happen at 20 and 40 Wgt.
Number go up
Alright, so that's the Energy growth rate, but that still doesn't explain the large numbers on the two cards up there, does it? Gain 10 Energy?
There was one more issue with the old values that is more so a problem for me in the game designer cave in the back, rather than a front-facing gameplay issue: the range of card costs I could employ when designing cards was very limited.
Card costs typically ranged from 1-3, maybe 4 and 5 for the real big chunky ones. However, this meant that there was little to no room when it came to designing cards with similar effects.
Take "Menu for Two" for example. It costs 1 Energy and inflicts 2 Wgt. If I were to design any other card that inflicts around 2 Wgt, but with an additional effect or some kind of catch, my options were this:
Option 1: Make it cost 1 Energy as well. This just makes it unanimously superior to Menu for Two and can just completely replace it.
(Side note: this isn't necessarily a bad thing. Because of the RPG structure of CoG, it makes sense for stronger cards to crop up over time, but there is only so much the ceiling can be raised by before the entire thing crumbles.)
Option 2: Make it cost more - the next cost would be 2, but that's twice as expensive as Menu for Two. The extra effect better be absolutely banging in that case.
Neither of these options are particularly appealing, and that has stopped me many times in the past while designing new cards.
A similar issue happened when a card was too powerful or weak and needed a change. If the card cost 1, then changing the cost was out of the question: making it cost 2 would make it doubly less effective.
I needed to set the environment up in a way that gave me more flexibility when it comes to designing cards.
You know what the fix is by now: it was to make Energy more granular, or rather, change how valuable 1 point of Energy is by inflating the overall Energy pool. That's right folks, inflation comes for everyone us all, even in CoG!
... although it's probably not the kind you expected.
And so, for the first pass, I went big and tried to multiply all of the Energy values in the game by 5.
Energy recovery went from 4 -> 20.
Cards like Menu for 2 went from 1 -> 5.
... and Exercise from 2 -> 10.
This gave me a lot of freedom, because at that point I could easily tweak the cost values to my heart's desire without worrying about completely changing the usability of a card by merely adding or taking off 1 cost.
... but after a bit of playtesting I realized there was a problem: it was a real pain to manage your Energy now. Or more specifically, it was a real problem to do all that mental math.
Because all numbers are 5 times bigger, it's kind of a pain to calculate all of it in your head. Before, you didn't even have to count higher than a single digit, but now? Here's a screenshot to show some of the madness:
(Try it out yourself and think about how you would play that hand to make the most use out of that 37 Energy!)
Needless to say, I needed to re-think my approach a bit instead of just multiplying everything by a giant number like a madman. Eventually I settled on something in the middle - multiplying things by about 2-3x.
Interestingly enough, this still changes the way one has to approach Energy management. Because the costs are much more diverse, it seems to be much easier to end up with 1 or 2 Energy that you don't have any way to spend.
There's something interesting going on there with odd and even Energy costs, and I don't exactly mind that as there seems to be something there that I can play around with in the future, so look forward to that!
And that's it! You've made it to the end, past the wall of design thoughts!
There are a few more changes in the balancing revamp that I haven't talked about yet, but since it's all subject to change as I go on to do more testing, and for the sake of keeping up a little bit of mystique, I'll leave those for you to discover once the update goes up!
As always thank you for reading and for supporting the project!
2025-03-26 15:34:25 +0000 UTC
View Post
This dev log will actually be split up into two pieces.
It's been a hot minute since I've done a dedicated Deep Dive post, but the write-up I did about the new clothing system implementation ended up growing far too big and detailed. So it was the perfect opportunity to bring it back!
You can read about the way the way the clothing system and its color customization works in this post here.
And as for the actual development log? First, let's talk about the things added in the v0.5.1 that I haven't had a chance to talk about yet, since there was a roughly 2 month long pause since the last development log.
Making your arsenal a bit more personal
In spirit of the expanded character customization introduced by the new clothing and hair options, a bit of personal touch can now also be added to a more functional part of the game: the decks!

It was nice to finally move on from the placeholder-y vague, gray shape that used to be there.
I had quite a lot of designing the new visuals for this: if you look closer, you'll notice that the card illustration has a little bit of shadow and sheen added to it, so it sort of looks like a picture wrapped around a physical packet of cards!
A small new mechanic
On the side of actual gameplay, you might have noticed the following line in the patch notes:
- New mechanic: Some cards allow Energy to go below 0. Negative Energy is converted into negative Fit at the end of a turn.
If you've only gone through all the new content, it's unlikely you've actually seen this thing in action.
The are currently two cards that interact with this mechanic:
Humiliating Realization: This card costs 1 Energy to use, but when activating its conditional special effect, it removes and additional 3 Energy, even if you don't have it.
Rampage: Plays a random card out of your hand at the start of your turn, even if the cost is too high.
Rampage was added in the update to coincide with this new mechanic, but Humiliating Realization has been in the game for as long as the bakery storyline has! The additional side effect of removing 3 Energy was added later as part of card tweaks, and it was meant to make use of exactly this mechanic.
Now that it's been established, you can expect more cards that "can go beyond your Energy count" to be added in the future.
... wow, "cards that can go beyond your Energy count" is quite a mouthful, huh? What a smooth segue into the next topic!
No time for words.
So "can go beyond your Energy count" is quite a long and clumsy string of words to describe an effect that will presumably appear on many cards. This presents us with two issues:
Well then, why don't we come up with a name for it? Something that's short - preferably one word - and descriptive. Something like... overextend? Overclock?
... huh, well would you look at that? We just made a keyword.
Keywords are common design concept used in a lot of card games. Essentially, keywords are short-hand words for certain properties, behavior, or effects that can be re-used in many places.
Cards of Gluttony already uses keywords too, actually. You'll notice some of the cards use repeated phrases like One use only, (single) and (multi).
The problem with keywords is that... well, they are like an entire language of their own that one has to learn before they're even able to play the game. One use only is pretty obvious thanks to its wording alone, but what about (single) and (multi)?... or if we decide to add Over-extend? Digital card games all use pretty much the same solution:

(Simple as that, just show a tooltip with an explanation of the keywords used in the card!)
Originally, I intentionally avoided using keywords because I wanted to keep the game simple and straightforward: anyone could just pick the game up, read the card and know what it does. I never expected the game to grow so complex that I would even have to consider using keywords.
However, it's finally time to rip the bandage off and take the plunge before things go too far. The above UI currently only appears for Cedric's new card, so now it's time for me to go over all the current cards effects and keyword them properly. If you're curious about some of the upcoming changes:
(single) -> (S): for cards that have "+X Wgt for every Y", inflict it as one hit.
(multi) -> (M): for cards that have "+X Wgt for every Y", spread them across multiple hits.
One use Only -> Erase: card is removed for the rest of the fight. A bit more general of a term, so it can for example be used to describe when an outside effect removes a card.
ignoring Fit -> Inevitable
Energy can go into negative -> Strain
And to end this section on a fun side note: if you want to see a real-life example of a card game that absolutely refuses to introduce keywords in favor of sticking to its "anyone can pick up and play" mantra, allow me to point you to a quick internet search of "Yugioh longest card".
... and that about covers all the things that were added in v0.5.1!
But what have I been up to since the update though? Let's start with a big one.
Significant balancing changes
Many ideas and mechanics have been added to the combat system ever since the game's first prototype: new cards, mulligans, statuses as well as external systems that indirectly affect the card game balance, such as the downtime between battles and weight loss during overworld exploration, the card acquisition loop, including things like the various minigames to get the materials for it.
Throughout all of this, one thing remained the same though: the numbers behind the core mechanics of card battles. Well now it's time to rip the bandage off and change those for the first time!
It's nothing too big at first glance, but small tweaks to values that are integral to the functioning of the whole system will undeniably have big implications for the overall feel of the game.
And what exactly are these changes in the first place, you ask?

Here's a screenshot from the first tutorial battle you have against Cedric. Rather than just me listing the tweaks, I'll let you witness the changes with your own eyes!.. it's like a game of spot the difference!
Did you find the differences? Good, let's move on to the next thing!
Move those lips!
Now let's talk about... talking. When it comes to one of the more minor additions, I started adding in talking animations to the various character models. Here's a quick demo on none other than the boss-man himself:

(Gordon's got things to say!)
This ended up being more work than I expected. While I originally intended to just do a simple 2-frame flicker between the closed and open mouth sprites, I ended up adding some subtle animation and timing touches to make it feel a bit more lively and consistent.
I'm still not quite fully satisfied with the result, but achieving that would mean drawing an open mouth sprite equivalent for every single mouth expression on every existing character... so for now, I'm just going to be content with an acceptable result for an acceptable amount of work.
And lastly...
I've been working on a little something behind the scenes, the results of which you can see below:

Perhaps some of you already have an idea of what these are for, but for those who don't, hopefully I'll have some news in about a month if things go according to plan.
And that's it!
It's technically a bit shorter of a development log this time around, since I decided to move the whole schtick about the new clothing system into its own post. If you plan on heading over to that one now, here's the link to it once again.
And if not, well, as always, thank you for reading and for supporting the project!
2025-02-28 05:41:05 +0000 UTC
View Post
The 0.5.1 update introduced a big redesign of the clothing system, namely the separation of clothing into tops and bottoms, and customizable colors for every single piece of clothing. And to get to that last one, I went on a bit of a journey. A journey I thought would be interesting to share, especially for anyone interested in the actual process of game development, including the hurdles.
This one's a bit longer of a read, I ended up writing it as a sort of surface-level introduction to some basic concepts in art and image processing, so strap in!
How do you even do customizable colors in a game?
Before the clothing system update, the only clothing options in the game were the T-shirt, and a set of button-ups that were plain white, red, peach and finally dark blue.

Every single one of these shirts was edited and pre-rendered in painting software, meaning there were separate PNG files for all 4 shirts in the game files. This isn't great for several reasons:
It needlessly increases the game size, because there are now 4 copies of nearly identical images. If I decided to add new colors, that would multiply it by even more.
It made the art source files even more tedious to navigate, because there were several added layers that dealt with coloring the base image. Add that on top of the layer management needed for the 10~ sprites for each Wgt stage, and things get quite chaotic.

The whole system isn't automated at all: I would have to add and render every separate colored shirt by hand, and if anything changed, I would have to re-do them all.
This was the most straight-forward solution at the time: just create separate images for everything and leave it at that. However, if I wanted to do anything fancier, I was going to have to be smarter about things: I would have to change the color at run-time using code. Let's take a look at one of the ways we can do that.
Color Tint/Modulation
The game engine used by CoG offers a built-in solution to this called "color modulation". In practice, what it essentially does is tint the image using a color you give it.

This is actually what the game uses to color most of the player character. The hair, skin and eyes are all colored using this method.

If you're curious what this actually does on the technical side of things, it's just a Multiply filter. That is to say, it takes the RGB values of the original image, and multiplies them with the RGB values of the color.
There are quite a few shortcomings to this method, one of which is the fact that it's mostly only good at making images darker. Because of how it works, it works best when used on bright images, and in case of parts that are pure black, it is actually completely unable to affect it in any way.
However, there is one other, even more glaring issue.
Here comes a quick primer on color theory
Take a look at this: another version of the orange T-Shirt. I'll put it next to the one using the color tint so we can compare them:

They look quite different, but in reality they both actually use a similar base color. Despite that, the example on the left is far more vibrant, isn't it? Why don't we isolate some of the colors so we can take a closer look at what's going on?

Here are two palettes, each created from 4 colors: highlight, base, shadow, and finally the outline color.
Since we're already in the color theory learning territory, allow me to take you on a brief tangent about a pretty important color fact:
Notice how the outline color is also... well, a color, rather than pure black? Non-artists have a tendency to use pure black when drawing lines, because it seems like the obvious choice. In reality, you almost never want to resort to using pure black, unless making a conscious stylistic decision. There are several reasons for this:
All color information is lost because it's... well, pure black. In many cases, a very dark shade of the surrounding color will look better and more unified.
There is no darker color below that. If you end up needing an even darker color after using pure black in an image, your only option is to brighten everything else before adding the black.
Almost nothing in real life is pure black. Even if you have a black phone, laptop, or anything, if you take a closer look at it, you'll notice that it reflects light, it turns ever so slightly yellow under a lamp, you're able to tell what shape and how thick it is thanks to the edges, etc. In real life, looking at something that is pure black would be the equivalent of staring into a black hole - all you would see is a formless void.
And so ends my brief rant on the use of pure black in art. Now back to the shirts!

We know that they both have the same base color, and now we can also see the reason why they look so drastically different: it's because of the other surrounding colors.
In actuality, the base color means nearly nothing on its own . Color is heavily contextual and completely dependent on its surroundings. If you're familiar with a certain infamous dress taking the internet by storm back in the day, the discourse surrounding it was caused by exactly what we're talking about here.
Now let's take a look at the color palettes individually and see what they're doing:

Here's a chart that begins at the base color, and describes how the color changes as it gets brighter to the left, and darker to the right.
As you can see, the highlight not only becomes slightly more saturated compared to the base color, but it also actually shifts subtly towards yellow.
What about the shadow? That one becomes more saturated as well, but the color actually shifts in the opposite direction: towards red.
Now let's take a look at the tint's palette.

Ah... well... there's not much going on.
If you compare the highlight color in this palette to the other one, this one doesn't quite pop as much.
The color is actually slightly darker than in the first palette: this is the result of how the color tinting process works.
If we wanted to achieve a brighter color, then the base image would have to be edited to have sharper highlights, but that could cause an opposite issue for when we want to tint the image a lighter color: the highlight would be too bright.
As for the shadow: it looks washed out and brown-ish, not looking nearly as full and vibrant as in the first example.
Compared to the highlight, the shadow is instead too dark. This is particularly bad in this case, because as color gets darker, it eventually just converges towards the boring, colorless black.
There are many "color models": ways to notate and write down colors using numbers that unambiguously describe said color. One of the most common models used by artists is HSL: Hue, Saturation, Lightness.
All of the issues of the palette mentioned above are caused by the same problem: the hue and saturation both remain the same across all four colors. The only thing that changes with each color is that the shade gets progressively darker.

If we mark the colors on a HSL color wheel, the pattern becomes obvious. The colors basically follow a straight line down. It's straight-forward, monotonous and uninteresting. This is a pretty common mistake many non-artists make when using MSPaint or the like: they simply drag the color down or up using the color picker.
Because all the colors have the same hue in this case, they can easily be written down in a single chart like this. But as for the mystery palette...

Well... it's not really possible to visualize properly in one image, so here are four color wheels, one for each of the colors. I've marked them in a way where you can see where each color stands in comparison to the three other ones.
If you take a look at the curve, it's almost like the colors used in the image tell an entire lil' journey of their own. That, coupled with the fact that they're all so much harder to even visualize as a diagram speaks volumes about the added complexity this palette has compared to the tinted one.
And to make it clear: the specific shifts in hue and saturation in this example aren't necessarily accurate to how they happen in real life, nor are they the only "correct" way to do it. For example another artist might choose to make the light part less saturated, or shift it towards a color other than yellow, or depending on how a scene is lit.
The main takeaway from this is that there is more to shadow and light than just... making the color lighter or darker. Hue and saturation are both very important factors because they're vehicles through which you can add a lot of variety and nuance.
Ok, so what now?
I've sold the color tint method short; clearly that wasn't the solution I went for. So then what other options are there? Next I decided to step back, and look into image processing and filtering options inside my image editing software to see if I could find some inspiration or new methods for playing around with color.
HSL Adjustment
This is one was a very half-assed solution I entertained for a bit. It does exactly what it sounds like: it takes all of the colors in an image and shifts their hue, saturation and lightness values by a specified amount.

It's a very clunky solution using a technique that... definitely isn't meant to be used for something like this.
It requires the base image to already be colored (...or else there is no color to shift in the first place). In the example above, I used a blue base, but something like light white with subtle blue-ish coloring would also work, and would most definitely be easier to work with, especially when attempting to shift it into some of the lighter color.
It'd still be awful all around though, as it often creates strange and unpleasant color hue combinations, and in some cases even off-putting color artifacts.

(Womp womp.)
Ah yes, the hue combinations. The only redeeming quality and the reason why I entertained this idea in the first place. Because we're shifting all of the colors around, this method retains the hue and saturation variety included in the original image.
... but even that positive was completely nullified by the fact that the direction of the hue change from base color to shadow was unchangeable.

In the base image (blue), the shadow moves towards purple, or "to the right" in a sense. Because of this, in the one of the bad result examples, the shadow of the olive shirt shifts in the same direction: towards yellow, rather than in the opposite direction towards red as I would want it to if I painted it by hand.
(Extra fact: notice how the olive color isn't green, like one might perceive. On the hue chart, it's actually nearly orange. Another practical example of how misleading and contextual color is.)
Alright, anyways: direction of the hue and saturation shift. Add that to the list of hurdles we need to overcome. What's next then?
Other color blending techniques
If you're familiar with image editing software, then you're likely familiar with layer blending modes. The multiply used by the color tinting method is in fact one of the more basic and commonly used layer blending modes. So then I tried to see if any other blending modes could be of help.
However, every single one of them ran into the exact same issue as the earlier methods: strange hue and saturation changes, too bright/dark highlights or shadows, and just all around being unsuitable and duct-tapey solutions to this problem.
P A I N
There was also another issue with all of the above methods that I haven't mentioned until now: and that is the fact that all of them only work well for either light colors, or dark colors, but never both.

This is because light base colors tend to have more pronounced shadows, whereas darker base colors are already dark to begin with. It's this kind of difference in balance between light and shadow that really throws things it all off.
There is also the matter of certain colors inherently looking darker than others. For example yellow is inherently brighter than blue, which is inherently dark.

And with the hue shifting happening between the shadow, base and highlight, that only serves to make things more complicated.
At this point, it's become obvious that a different approach has to be taken. The reason why all of the above fail is because of one thing they have in common: they all just adjust the image as one whole. Color tinting tints everything in one color, and HSL adjustment shifts all the colors in the image by a certain uniform amount, same with any method that tries to blend the image with a single color.
No, what I need is far beyond simple color correction. I need to have full control over every color in the palette: base, shadow, highlight and outline. That way I can just manually deal with whatever intricacies each color comes with. So... is there any technique that can let me achieve something like that?
Say hello to "Gradient Mapping"
If you've used an image editing program or two, you may have heard of this before. It's a technique that was somewhat new to me at the time. I had heard about it from some of my artist acquaintances and played around with it for a few minutes, but ultimately I didn't see much of a use for it and promptly ended up forgetting about it.
... until now.

In short: gradient mapping is a technique that looks at all the pixels of a picture in black and white (+ the greys in-between) and maps them to a corresponding color on a gradient... that doesn't seem like a particularly great explanation, but hopefully the diagram gets the point across.
And... there we go! It's the perfect solution that does exactly what I was looking for: it allows me to map the shadow, base, highlight and outline to exactly the colors I need them to be. We got our solution, so now it's time to implement it.
Unlike the color tint, Godot has no built-in feature for gradient maps, so I'll have to make this one myself.

Luckily, there is at the very least a built-in Gradient type I can use, so all that's left to do is implement the algorithm that maps the gradient to the image at runtime.
When it comes to visual effects like these, a special type of code is used called shaders. Without getting too deep into it, shader code is very different compared to normal, conventional programming languages. It's incredibly hard to get into if you've only had experience with imperative programming, as it requires you to completely change the way you think about and approach things.
Thankfully I have a tiny bit of experience with shaders from playing around with them in my free time, the results of which you can even see in CoG in two places: the water in the fishing minigame, and the blur that appears during some of the hospital scenes.

(Both of these are done using shaders!)
Not just that: the gradient mapping algorithm isn't even all that complicated! All it has to do is retrieve the brightness value from the image, and then use that to get a color of equivalent value from the gradient that's given to it. All of these are basically built-in functions of the shader language and can be done in no more than 12 lines of code!
Once that was done, all that was left for me to do was define the gradient for all... 44 colors of the palette that I ended up doing. Here are a few gradients for some of the colors available in the game!

... this part ended up being quite a hassle, because I ended up going through all of them several times and tweaking them day after day because I was almost never happy with how they looked. Even now, I'd say there's a very high possibility some will be tweaked at some point.
There's also one final thing we need to address with this solution, and that's clothing with more than one color. This can be seen on the hoodie with the inside of the hood and the drawstrings, but most notably the funky colors used in the plaid shirts:

Requiring multiple colors means separating the images into multiple layers. That way each part of a clothing piece can be colored separately.
Before, the game just loaded the clothing sprite on top of the character model, but now, multiple layers meant having to turn all the clothing into actual objects in the game that would then get spawned on top of the player character model.
In case of something like the plaid shirt, a piece clothing could have as many as six layers:

There's the shirt itself, then three different grid-esque layers to make up the plaid pattern, and finally the buttons and the T-shirt beneath.
Letting every single aspect of the plaid pattern be color customizable would be a nightmare from both an implementation and organizational/convenience standpoint... can you imagine how absurd the purchasing and equipping UI would look with that?
So I instead opted to go over all 44 of the colors from the palette and hand-pick the color combinations for each of them myself, resulting in 44 unique plaid colors. I decided to get quite wacky with some of them, so I hope someone out there with strange taste in color appreciates those.
Phew... and with that, the implementation was finally finished. Woo!
... the implementation that is.
The final steps
In reality, there was a massive amount of work waiting for me to be done before the update was ready to be pushed out, and it involved all of the old, existing clothing sprites - including glasses and hats.
None of them were in black and white, and because the gradient mapping method requires that all clothing uses the exact same, consistent values to map the 4 main colors to (base, shadow, highlight, outline), this meant that I had to go through each of them, convert them to black and white, and then adjust the contrast.
In some cases, simple level correction wasn't enough to fix it, meaning I had to actually sit down and put in the work to paint over the old sprites, which at least serendipitously led to me just completely scrapping and re-doing some of the more horrendous older sprites, such as the ball cap.

And after all that: finally, it was over...
Quite a lot of old code was rebuilt and updated in v0.5.1, but this one was probably one of the biggest ones. Because there was also the matter of separating clothes into pants and shirts, it pretty much meant I had to re-do the entire code architecture for handling clothes... which resulted in quite a few clothing-related glitches popping up in places where they didn't use to be.
Still, I'm very happy with the result. Putting all the sprites into the engine and plopping in the gradient to finally see the result after so much work setting it up was probably one of the most satisfying moments I've had working on this game.
Now the only question is... will I convert the rest of the player avatar pieces to this system? At the top of the post, I just so happened to mention before immediately brushing past the fact that the hair, skin and eye color customization all still use the old color tint method.
...
.. well, I'll take a break from retouching hundreds of old sprite assets for now.
But until then, thank you so much for reading this frankenstein of a post, and as always, thank you for supporting the project!
2025-02-28 05:39:10 +0000 UTC
View Post
Hey everyone, I have some exciting news: I've finally decided to set up a Discord server for the game!
If you're interested in adding yet another piece of cruft to your pile of servers, I've messaged the invite link to anyone who has backed the project for the duration of v0.5.1's development.
If you don't fall under that range: sorry for the trouble, but you'll have to wait for a bit!
While the server will eventually be open to the rest of the public, I decided to limit the first wave of people to just the ones above, so that I can properly gauge and estimate the amount of moderation required, without getting overwhelmed by the potential number of people were it an open invite instead.
That's it! Have a lovely day!
2025-02-12 09:08:14 +0000 UTC
View Post
[Hotfix #1 - Fixed crash during Cedric's new event]
[Hotfix #2 - Fixed card crafting + Fixed consumables on Android]
[Hotfix #3]
- Fixed deck editor scrolling on Android
- Fixed UI positioning issue on Android
- Fixed crashes during fast forwarding
- Fixed bad import of old game data causing crashes in various places]
[Hotfix #4 - Various fixes and adjustments]
[Hotfix #5 - Fixed another crash when initiating battles]
Phew... it's finally here. Grab your updates below!
And here are the Guides (no more patch notes! keep reading to find out why):
(Unfortunately I had to retire the DropBox links, as the game is now too big to host on DropBox's Free plan, but hopefully the two will be enough to cover all traffic!)
Now let's talk about what happened
I must really apologize for the delay this time around, everybody.
The time between releases has been consistently growing longer and longer with each update. What began as an optimistic goal of 2-3 months had grown to 4 months... and with the month-long delay this time, it has taken me a whopping 5 months to put this one out.
If you've been following the development logs, you'll know that a lot of work during this development cycle was dedicated to updating the back end of things: old code, systems, UI, etc.
What this ultimately led to was that I grossly mismanaged my time, and ended up with a whole lot of minor gameplay improvements and additions... but very little actual content. You know, the actual playable game part.
So that is largely what I was working on this past month, and also the reason why I skipped out on the last development log. As always, I still ended up cutting a few of the scenes I had planned on adding, so it should be noted that even this is not exactly how I originally wanted the update to pan out.
Until now I've been working on the game mostly by instinct: a collection of loosely related notes, ideas for systems and future content, multiple to-do lists sometimes with repeating bullet points, from which I then randomly pick based on what I think I should work on next and then I get to implementing it.
However, this release has made it clear that this approach is not going to work anymore, now that the game has grown to such a tremendous size that it requires proper organization and the juggling of so many things at once.
Going forward, I'm going to try establishing a bit more of an actual schedule and plan my time around various things better, so that hopefully, future releases will have a more smooth and consistent turnout.
Regarding the update itself
I'll get around to writing a full-fledged development soon, but for now, I'll outline some of the most significant additions since the last development log:
Patch notes are now built in to the game! You can access them from the title screen.
A full color palette of options for every piece of clothing.
More flexible facial hair customization: separate beard, moustache, and shadows (shadows now also have several styles to choose from!)
Separate color for all hair: hair, eyebrows, each piece of facial hair and bodyhair.
Deck covers: the appearance of decks in the Decks window has been revamped, and you can now set a color for the cover, as well as a card illustration.
A new UI side notifier for when Wgt and FB changes during dialogue or inthe overworld. (this one surprisingly does wonders for general gameplay feel)
.... a mystery easter egg I added to one of the menus. If you manage to find it, definitely let me know! I'd love to hear what people think about this silly little addition.
In terms of content: this time around, I focused on a little bit of everything, which means there were several smaller events added to a variety of storylines, rather than just one or two storylines which got a bunch of new events.
I should also note that: since a lot of the work this time ended up being updating and restructuring old code, it's possible that there are now new bugs strewn around in various old places in the game.
I did my best to test out as much of the game as I could, but with how many systems and variables the game has going on at all times, it's very likely there are some incredibly specific edge cases I missed.
As always, please report any bugs you run into!
And on a final note...
Thank you so much for sticking it out with me throughout all of this, everyone! I really appreciate your patience, especially regarding the lack of communication during this past month.
I hope you enjoy all of the new things in the update, I'll be keeping an eye out for any bug reports as usual. And as always, thank you for reading this and for supporting the project!
2025-01-28 10:56:49 +0000 UTC
View Post
Hello everyone! I have skipped out on writing a dev log this month in favor of finishing up the remaining work for the soon-to-be-released update.
In the meantime, allow me to wish you happy holidays (where applicable) and an early happy new year!
Thank you for keeping up with me and this project for so long!
2024-12-26 19:18:53 +0000 UTC
View Post
Hey everyone! This one's coming with a slight delay, but shh, let's still say it's the 26th of November for consistency's sake.
The past two weeks or so have been a bit busy for me as I've just moved into a new apartment! This hasn't impacted development on the game much, as I have still been able to get my usual scheduled hours in, but it'll be interesting to see how it affects things going forward, now that I have a stable, focused space to work from.
That's the small life update tidbit for you at the beginning of this post, and from here on out, it's just development news galore... let's get started!
Fashion week
Continuing on from the previous month, I've been dwelling in the art cave popping out new sprites for some of the new fashion you'll see in the upcoming update!
... I could show you everything I added, one by one, but why do that when I can show off a few outfit combinations instead and give you an idea of how much variety there is?
(The answer is: medium. A reasonable amount of variety. But it sure is far more variety than the current options of: either T-shirt or a Button-up shirt.)
What's new in these screenshots? A new top featuring an unbuttoned shirt (including several plaid variants!), cargo pants, a flatcap, as well as a few new color options for existing items I haven't shown previously.
The plaid shirt actually ended up being one of the most complex art assets I've had to make in a while, since I needed the various lines and checkers to be separate so that I could easily color them independently as I wanted for the color variants.

(It was worth it though, look at all these colors!)
Originally I planned on having quite a sizable section here that went on a deep dive about how I decided to implement the color variations... but I actually ended up having a breakthrough of sorts, and the way I'm dealing with them right now may be reworked in the future so... let's move away from fashion for now, and take a look at graphic design instead!
UI spiffy-izing in progress
In the previous development log, I talked a little about how the UI of the game is starting to evolve, more specifically: with my newfound knowledge and experience, all of the new UI added in the recent update has been more responsive, animated and lively. I mentioned that this new style of UI design will likely be slowly carried over into all of the existing UI elements, and this month I started taking the first steps.
I say that, but I didn't touch animations at all! Actually, the first thing I did was update the UI with a few new buttons:

(Not quite the most interesting change, visually.)
It's about time I added a proper icon for the (?) - "help" and X - "close" buttons. Up until now, they were simply text buttons. It's more obvious on the (?) than the X, what with the parentheses and all, but in terms of UI design, the X ended up being quite a pain actual, due to various positioning and symmetry issues.
Neat! In the end it only took me about 20 minutes total to draw these and slot them into the game properly to replace the old buttons. Why didn't I do this sooner?

(This one has a bit more of an interesting story behind it.)
Actually, It's time I started moving away from these clunky text buttons as well. There are many of these sprinkled throughout the game, and not just the "Exit" one. There are also some that say "Done", "Finish", or "Leave", but they're all functionally the same.
Aside from looking pretty unwieldly, there is one very significant issue that made it clear to me these needed to be removed at some point: localization. Thanks to a few volunteers, multiple language support for CoG is looking more and more like something that is actually going to happen... which also means it brought up a slew of new issues I hadn't even considered during the early days of development.
These buttons are an example of one such problem... the issue is the fact that the word "Exit" may not be as small and compact in other languages. There have been several issues with translated UI cutting off, overlapping with each other, being too long, looking awkward, and so on.
This change not only fixes the problem, but it also reduces a bit of the localization workload by just... not using any words at all! A bit of caution will be necessary here though, to make sure that the UI doesn't become an illegible, enigmatic mess of wordless icons that barely communicate their function at first glance.
Getting more crafty with things
With the gardening and foraging minigames added in the previous update, a ton of crafting recipes got updated to use the new materials. As a result, some recipes have grown to include quite a few requirements, which was starting to feel a little cramped in the little UI window you get while crafting. So let's fix that!
There's nothing particularly heinous about the crafting UI as it is currently though, and right now isn't exactly the best time to be redesigning entire old interfaces from the ground up... so what we're looking for is small tweaks that we can do to the existing UI.
The thing is, pretty much every single crafting recipe in the game requires the various Zests sprinkled throughout gameplay. It's how the game incentivizes the player to do various activities, which also helps associate different card types with certain actions. But that also means that, almost always, the first 1-3 rows of the crafting recipe are occupied by the Zests alone.
... and there's our problem! Now to design a solution.

(The updated crafting menu!)
It's nothing too drastic, really. As you can see, the crafting UI now neatly compresses all of the Zests into their own little row. This got rid of the scrollbar on the recipe for several of the cards, and should hopefully make it more legible by clearly singling out the more grindable, general-purpose Zests.
(The crafting menu at Ricky's has also been updated to use this new UI!)
Additionally, you may have also noticed the two new tabs in the screenshot above! Cards are now grouped into "Standard" and "Signature" cards. The "Signature" tab is where you'll find all the cards that require the reward you get for beating the owner of the card.
This way, the cards will be neatly organized and separated, and you will no longer have to scroll through a bunch of regular cards just to find the one you can craft with the shiny new material you just got!
And as for actual content?
This month, allow me to show, I'll continue with a teaser from the same scene that I showed previously:

"It'll only be a minute, but... seeing as you're here, you might as well make yourself comfortable." - Ikem
(Pretend the background sketch isn't there! I haven't had much time to work on art assets other than clothing so far!)
I do quite enjoy giving all the various characters silly little outfit variations. I'm not quite sure what I want to do about Ikem's "main" outfit, which currently only appears only once in the game... in the intro.

(Ikem's "default" clothing.)
This outfit was designed a bit early into the writing of the game, back when Ikem's tailoring hobby was more than just a hobby... he was an entire fashion designer! But looking back at it now, it looks to be a bit too much, considering 90% of the time you see him in-game, it's just in his workout clothes.
In the end, I took a strange pivot and made him a translator instead. However, considering the way things are going, I might end up just completely ret-conning that and going back to making him a fashion icon instead.
That's enough reminiscing about how I wrote the game, now it's time to talk about the gameplay side of things!
Heavy is the hand that bears the hammer
Here's an interesting topic that I haven't had much of a chance to talk about until now: nerfing! That is to say, updating already existing cards in the game to make them... worse.
As a human being that plays video games itself, I don't feel particularly great about nerfing things in the game. It always feels bad to have a tool you've familiarized yourself with and built a ton of strategies around to just... stop working one day.
However, now that the card game aspect of CoG has shifted and evolved far beyond my expectations, and many new mechanics and nuances have emerged, it's hard not to stumble into balance-breaking issues, ones that definitely need to be addressed.
Though, it's not like I haven't nerfed, or even strengthened cards until now. If you look through the patch notes, you'll see many of them listed one by one under "Changes - Cards"! I just figured it could be fun to actually bring this up and talk about it in one of the logs. Especially since I'm about to do what I feel is one of the most significant card nerfs so far.
And with that preamble... which card could I possibly be talking about then? It's.... the one and only:

Sympathy Weight
Every Wgt you gain (after Fit calculation), your Opponent also gains (3 turns).
The way Sympathy Weight ends up affecting a given match is just strange. It just bounces all the Wgt back? There is a bit more nuance to it, but a lot of the time, what it means is that the opponent ends up avoiding attacking for a turn... hell, that's what the AI does anyways. This doesn't feel particularly great for the feel and flow of a match.
Another issue is the fact that it inherently benefits the person with the bigger Wgt range - typically the player. One could technically activate Sympathy weight, and just quickly attempt to rush through, not having to worry about effects that cause self-inflicted Wgt, which were originally meant to be a downside... but are now just a net zero loss while still managing to inch the opponent closer towards defeat.
So how did I decide to dampen this effect?

Every time you gain any amount of Wgt, your Opponent gains +1 Wgt (3 turns).
The effect is now reduced to only inflict +1 Wgt at a time, rather than completely mirror the amount the user gained.
In theory, it shouldn't make that much of a difference in the game's current state, as many of the cards still typically only inflict 1 Wgt at a time... but as time goes on and more hard-hitting cards are introduced, it's possible that this will make Sympathy Weight less effective, which is exactly how a card from early on in the game should behave!
And since we're already on the topic of cards, allow me to segue into another one:
It's... the Card of the Month!
Protein Shake
At the end of your every turn: gain +2 Fit if a DEFENSIVE card was played, otherwise gain +1 Wgt (10 turns).
A great tool... in the right hands.
With a far more appropriate theme than last month's card, it's... a protein shake! Continuing the trend of longer statuses, I ended up settling on making this one last a whopping 10 whole turns.
I originally started with 6, for 3 activations, but then I realized that the longer this status stays on, the more opportunity there will be for the "downside" effect to happen.
I also originally had the downside effect at +2 Wgt, but ended up lowering it down to +1, due to feeling like it would make it too difficult to use this card properly, seeing as a single miss would set back the benefits too easily.
And that brings us to the end!
Once again I have nothing particularly interesting to say to close off this post, so as always, thank you for reading and for supporting the project!
2024-11-27 02:33:31 +0000 UTC
View Post
Hello everybody, it's that time again! The time for me to tell you all about what I've been up to these past few weeks. Not much to share in the intro today, so let's get right into it!
From the drawing board to the big screen
When I first added the new shirt patterns, there was quite a lot of duplicate copy and pasting going around, namely due to the fact that all of the variants used the exact same sprite for pants: it was only the shirts themselves that changed. This ended up being quite tedious as there was a lot of clutter in all of the image files due to repeating layers and whatnot.

(All of these use the same unaltered bottom sprite duplicated across several dozens of sprites.)
There was also a bit of oddity going on with the fact that the clothing came in a full set: a hard-given combination of pants and a top. When creating new patterns for the shirts, should I keep the pants the same for all of them? Or should match the shirt? But what if someone wanted to match different colors than the one I decided to put in?
This is partly why you haven't seen any new clothing options up until now, I was just very tentative about continuing it in its current form. The solution was quite obvious: I needed to separate the pants and shirt. What started as a bit of a behind-the-scenes fumble led to me expanding an existing system in the game!
The character customization in Cards of Gluttony has always been about indulging me and my penchant for character creators in games.
Originally the game had very limited character customization options: merely setting the colors for the skin tone, hair, iris + whether to have a basic beard sprite on or not. I didn't quite think much about it back then. Just a few simple options for a palette swap, as anything else would be far too much work...
Well I was lying to myself, because a few months later, I later expanded into hairstyle options. I started out with 7 hair options... then I added a bunch more when I added the barbershop to the game... well, at the very least, they only required one single sprite each.

(The 2nd iteration of the character creator! Looks so off and empty compared to now...)
... then I tackled facial features, which needed multiple sprites for each expression the player model can make
... and finally: facial hair options, which were a massive undertaking due to the fact that they needed sprites for every single Wgt stage. But in the end I did it anyways, because again, I just really wanted to make a character creator.
Now that I had to separate the top and the pants, it was time to indulge again:

(Say hello to the new wardrobe menu!)
The pants! The top! They're separate now! And the UI looks completely different too, including a few fancy new buttons..!
I ended up having quite a bit of fun with designing and animating the UI. Up until now, most of the menus in CoG have been fairly static: windows just appear and disappear without as much of an animation.
This was more so due to my lack of knowledge on how properly intertwine visuals and actual code. It's very strange to have to make code pause and wait until a fancy animation is done playing, and surprisingly clunky and unintuitive to code properly too! But as you may have noticed with the Foraging and Gardening minigames, things are slowly starting to improve!
I will likely be revisiting all the old UI slowly over time and updating it one by one to match up with the swanky new animations.
Making the old new
In a way, I just continued on doing more refactoring work like last month. Because this new clothing system needed to replace the old one, I basically took it as a chance to also go through and revamp some of the old clothing code.
Previously the "icon" of the button for each clothing merely used its actual sprite: the one that is displayed on the character model. So the first thing that needed to be done was smaller, more compact and readable icons!

Originally I wanted to avoid having to do this, because I thought it would be too much work to draw unique icons for everything when I could've just used the sprites I already had. Well they didn't end up being that much work in the end all things considered... especially since I had to draw over a dozen sprites for the actual outfit already.

Pattern Palooza
Until now, the game basically recognized each clothing item as its own thing. This included different colors and patterns, meaning they were considered completely unrelated by the code. The shop UI was already looking a little crowded even with the few shirts available in there, so it was about time for something to change... it was time to design a unified system upon which clothing items could be built.

(Look at all the colors! Not the pants though, I haven't gotten to those yet...)
Because of the separation from pants, as well as internal changes that made things much more organized behind the scenes, this allowed me to finally dig into more color variations, namely this T-shirt sprite, which has been following us ever since I first released the game!
This also includes color variations for glasses and hats, which now use the same base structure as clothing. They were originally just a simple text links to the sprite image file. Gross!
But with so many color options now, how does the UI work to make selection as nice and uncluttered as possible?

As you can see, all clothes of the same type are now grouped under one button. You can pretty quickly preview a piece of clothing by hovering over it.
And the color selection? A swanky new pop-up appears after you make your pick that lets you sift through a list of available pattern variants! It uses a similar trick to the Shop UI which spawns the confirmation button right where your mouse is for maximum comfort!
UX design - skipping QoL updates and making it nice to use from the get-go
While designing the new system and its UI, I focused on making it as convenient and comfortable to use. There was one glaring issue at the beginning... the fact that you swap clothes in the game quite frequently. This is, of course, because your clothes can get destroyed in battle.
In the old system, all you had to do was buy the outfit and equip it again. Wasn't too much of a bother. However, now that an outfit consists of two pieces, it would be quite annoying to constantly have to sift through the shop and scroll through all the pants and shirts one by one...

This led to the creation of "Favorites". It's not a particularly ground-breaking feature... it does exactly what it says on the tin: you can freely save and equip various outfit combinations. This basically makes navigating the wardrobe UI exactly the same as it was previously: allowing you to put your clothes on in a single click.
There's still one more tedium left over though: the player would still need to go to the shop to buy the missing pieces. We can use a pretty simple solution for that: let the game automatically buy any missing pieces of your favorite getup. And rather than having to go to the shop to do that every time... why not simply build it into the wardrobe UI?

There! Buying and equipping from the comfort of the wardrobe using one click.
Once this update is out, I'll be on the lookout for any feedback regarding how comfortable it is to navigate the wardrobe UI... but hopefully I covered most of the annoyances I myself ran into while playing around with it!
And what of the actual game?
When I wasn't busy wrestling with the magnificent beast that is my terrible, old code, I finally got some writing progress done on Ikem's next scene. As always, for the sake of not spoiling anything, I will only post a screenshot containing a single line as a teaser:

"I bet you're pretty familiar with these at this point, considering... and if not, well, then I sure hope you know what you signed up for, haha!" - Ikem
I'm pretty proud of the line I decided to share this time. Something you're "pretty familiar with"..? What a mystery! Whatever could he be talking about? Where is this going? Look forward to finding that out once the update is out!
Card of the Month
And to cap things off, it has been a minute since I've done a card of the month, and boy is it a fun one this time! Take a look:

Rampage
At the start of your turn: gain an extra +2 Energy, but a random card is played from your hand (7 turns, 3x activations).
Time for a bit of chaos.
I'm still not quite decided on the aesthetic of it (the name, illustration, flavor text and the "act" that it represents), so that part may change in the future.
An interesting thing to note about how the random card effect works is the fact that it is truly randomized. Regardless of its cost, regardless of any other effects standing in the way... the card that was picked will be played, no matter what. While I originally designed this effect with the intention of making it unhelpful, this particular quirk means it could potentially be used to bypass certain things, such as high cost or statuses that prevent you from playing a card.
This is easily the wackiest card so far... in terms of implementation, at the very least! This ended up becoming part of my refactoring efforts yet again, as the forced card playing effect required me to rewire the battle code in pretty significant ways!
I won't go into details, but the gist of it is: until now, the battle code has been quite inflexible in what it allowed to be done. With this change, the way is paved for cards with more fun or even interactive effects. I haven't completely rewritten the entirety of the code to use the new system, but it's a good first step to build off of on the future!
And that is all!
I don't really have any proper end text to put here, so I'll just end it with the same message as always: thank you for reading and for supporting the project!
2024-10-26 22:23:26 +0000 UTC
View Post
Today, v0.5.0 is going out to the rest of the public, and so what better time to talk about the fun facts that I teased a few weeks ago?
Once again, this post contains spoilers for the new content, so if that matters to you, come back here later! If not, let's get started!
Whatshisface?
Because of the independent, parallel way the storylines happen in, you can meet certain characters before others, or find out their names sooner or later.
Allegra: the Stout you may run into earlier during MQ3, or at the end of it during the climactic Norman confrontation.
Darwin: he reveals that Hammond is his son in his 5th fishing event, this dialogue changes depending on if you already know Hammond
... and if you don't, the first time you meet Hammond will have a line pointing that relation out, whether that is at the pub, or at the bar.
Hammond: during MQ3 if you chose to investigate Fernam's/taking over the pub after the end of MQ3/Arnold's bar.
Vernon: In the intro, MQ4 forest, or during Akello's camping encounter.
There are quite a few brief, unique lines in each scene depending on where you first met them.
In Vernon's case, he even tells you during MQ4 to stop by the camp to fight Borik again if you lost and haven't gotten revenge yet.

Darwin's details
Darwin now has a new hat after giving you his old one during the hospital scene! He will wear it sometimes when you hang out with him, just because I felt like being weird and making it a bit randomized.

The new card from Darwin "Drink to forget" is the first card whose name, description, illustration, and battle flavor text changes depending on your Content Warning settings, changing to the more friendly "Eat to forget" if alcohol as a topic is disabled.
You end up getting Darwin's whiskey flask regardless of if you win or lose. That is: if you win, you get it as a battle reward. If you lose, you'll end up getting it in the next encounter where you stay in the shed together.
So in the end, the only thing the outcome of the battle changes is the narrative, as the following few scenes change quite a bit depending on if you won or lost.
Alternative storytelling
Borrowing a bit from the Dark Souls school of storytelling, there are hidden bits of story details in a few of the items and their descriptions.

Darwin's flask contains an inscription that gives a bit of an early peek into his life. His hat sort of does something similar in the branch where you beat him during the second encounter, although it merely notes that the hat is worn-out, implying that it was somewhat beloved.
For the sake of building up a bit of suspense, I'll let you discover for yourself what the item description actually says.
Borik's whittling knife does the same, although this time, the lore is revealed by the mere fact that this item even exists. In fact, the item description reads: "... huh. If you didn't know that he whittled, you do now."
But wait, there's one more: Franklin's battle reward serves a similar purpose! If you manage to beat the uptight man even after having to square off with his brother, you get a small glimpse into his artistic talents and love of animals.
Speaking of battle rewards: Bucky's isn't actually awarded to you right at the end of the battle when you win... but rather a few minutes later during the dialogue itself. This is to create a little bit of intrigue by having Bucky imply what would've happened had the player lost instead.
Accents R Us
Out of the three farmers, I wrote only Bucky to have a consistent "country" accent (and by accent I mean the use of -in' instead of -ing). Originally I wanted to give it to all of them for that attractive, southern zing, but since the farm is near Plursdott, it wouldn't make sense for the farm right over to feature people with completely different accents, since I wrote Plursdott with a "neutral" accent to begin with.
So I instead gave the accent to Bucky and Franklin, since they're not from Plursdott, but instead came to Osman's farm from elsewhere.

"You came in, wanderin' into places you shouldn't have" - Bucky
Now, Franklin actually slips in and out of it every now and then. This is because unlike Bucky he has assimilated to the accent that the people around Plursdott use, so he only goes back to using it when he's particularly exasperated: notably when he yells at Bucky in the shed.
Tropes, Realism and half-assed Research

"You know know how they always knock people out in the movies by choking them, hitting a "pressure point" or "gassing them up" with somethin'? It's all bullshit of course." - Gordon
The little lecture Gordon gives you at the end of most MQ4 playthroughs is actually the result of the research I did while writing the entire farm encounter.
Originally, the plan was to have Bucky knock you out using a method similar to what Gordon describes, but I ended up scrapping it due to me just being picky about using unrealistic fiction tropes.
Of course, in the end I realized that with the setup of the game, I could come up with a pretty reasonable, in-universe method that makes sense in the context of the worldbuilding: the Fattening-induced plant mutations! That finally led to the assignment beginning with Ricky running up to you in a hurry as he noticed someone going on with the plants in the area.
... as a side effect it does make Bucky's actions slightly more excusable as he ended up not being some random creep who just knocks you out and kidnaps you.
It also perfectly played into what happens in the coveted branch where you manage to defeat Vernon, as it provides a sort of reveal and explanation for what he did.
Here are a few more scrapped ideas regarding how MQ4 could have gone:
Russell and Ricky taking a field trip with you to the forest to scan for "suspicious energy" and you getting knocked out by Bucky in the forest after splitting off.
This ended up being scrapped due to the fact that they would just simply go after you to help you and prevent the situation in the shed from fully playing out. Ricky's pig affliction also made writing everything a bit awkward. I briefly played around with the idea, but decided to leave the discussion of how Ricky deals with it in public for some other storyline.
You just accidentally walking into the farm and Bucky just randomly attacking you for trespassing.
This was scrapped due to... well, the unsatisfactory reason for a conflict. This was around the time I discussed my struggles with more organic justifications for battles in one of the development logs.
Bucky was originally written to be a "lovable goofball" type of character, one that is cartoonishly unintelligent and that needed to be watched constantly by Franklin. You can still see hints of this in the way Franklin treats him, but I ultimately decided to make him a bit more sensible which allowed me to write him in a more aggressive manner in the final version of the story.
Little Game Designer's Corner
I've always found the draw options in the game lacking, during my own playthroughs I tend to mostly only use Indulgent stuffing, with a bit of Insatiable sometimes.

And so you might have noticed: Franklin's deck is mainly focuses on new draw cards, that being his signature card Planning Ahead, in addition to Meticulous Draw and Smart Start. I particularly find Meticulous draw satisfying to use, as it requires you fit the tetris blocks perfectly together, so to speak.
In fact, these new draw options were so much needed, that I decided to make "Meticulous Draw" and "Smart Start" both unlock after the farm encounter, regardless of if player actually fights Franklin or not. This means that even people who have lost to Bucky will have access to these cards, which may seem a little jarring as they sort of seem to appear out of nowhere.
As you may have noticed, these new Franklin cards are somewhat technical, requiring some playing around with numbers... but that also meant I had to work pretty hard to get the AI to know how to use them properly. Whether I succeeded in doing that... well, that remains to be seen.
And now a look behind the writing itself
The entire MQ4 farm scene is probably the longest sequence of a single dialogue in the game so far. Since there are so many branches that can happen in it, I ended up having to separate the script into not two, not three, not five, but seven entire script files.
There are quite a lot of obvious call-backs to the first ever storyline of the game (Tom and Vernon in the forest!), and of course I couldn't resist even blatantly pointing it out in-game with the line below:

"Reminds me of our first time." - Gordon
Now what are the actual similarities?
MQ4 starts with you searching the woods for a flower that ends up screwing you over.
A bit of trickery happens to make sure your Wgt is above a certain amount when the encounter begins.
MQ4 features a similar double battle, with Bucky and Franklin mirroring Tom and Vernon.
The second battle is intended to be lost. To be completely honest I didn't have time to playtest it at all, so it's possible that it is either completely impossible, or far more possible than I thought.
If you lose, you end up getting new clothes that Gordon helps you put on.
What makes MQ4 different from that though, is the fact that you get to see the complete aftermath of both victories or losses. Since I largely moved away from using the standard game over and started writing fully-fledged unique game-over scenes for each loss instead, there are 3 main ways MQ4 can end:
You lose to Bucky
You beat Bucky, got to fight Franklin and lost.
You beat Bucky, got to fight Franklin and won.
The first two variations are sort of grouped together, forming something of a "common" conclusion. With, of course, the third one intended to be either impossible, or incredibly hard to achieve.
Then there are also variations based on what you decide to do after your fight with Bucky, depending on if you won or lost. That adds 5 more variations: 2 for if you lost and another 3 for if you won.
On top of that, there are also small bits and pieces that change, so that even if you did lose to Bucky or Franklin, the game takes into account how far you managed to get with them, and ends up having them wear their new clothes or making small comments.
A little tease
There is a brief cameo by a new character at the end of MQ4: Gavin

He was basically a last minute addition to that scene, as I ended up doing a few writing sessions on the going-ons on the farm, and the rest of the workers that would realistically be needed there other than just the three farmers.
I ended up developing Gavin's personality and backstory a bit and decided to give him a bit of a sneak peek appearance to make things feel more connected. In fact, I had such a good time writing him that I ended up finishing several drafts for future scenes with him, so you can look forward to that!
Gavin's cameo also has two variations! He ends up walking in before Franklin and Bucky arrive at the breakfast table on most playthroughs,
... but if you managed to beat both Franklin and Bucky, he ends up coming in after. This done to keep him away from the incident that happens in this latter path.
There's already a small detail some might notice in his brief appearance that foreshadows some of his future involvement in the game.
We are now out of facts!
That's the end of this fun facts post. As always, thank you for reading and for supporting the project!
2024-10-07 08:00:08 +0000 UTC
View Post
Phew! I can already feel a whole lot lighter now that v0.5 is out! In fact, I feel so light that I decided to use this time to significantly refactor some of the game's oldest code from when CoG was in its earliest stages!
That's right, this month's topic of discussion is the internal workings of the project. The last time I've gone this into detail about the game's inner systems was over a year ago in the very short-lived "How's it made?" posts, of which I did one for art and one for the technical aspect.
... and you'll notice the technical post actually barely goes into how the game is actually built, it's actually more of an introduction than anything!
And since refactoring old code is the primary work I've been doing, why not tackle it for this month's development log? This is easily one of the most technical development logs so far. There will be a whole lot of text, and very little art or creative discussion, so buckle up!
Refactor?
To start things off, let's explain the fancy words. For those who aren't familiar, refactoring in software development refers to the act of revisiting existing code and rewriting it so that it still works exactly the same, but is designed in a better way that allows you to work with it more easily.
This is important because it'll keep the doors open in the future for when you need to make changes or additions, and it typically also makes troubleshooting and bug fixing much easier.
A lot of what I've been doing the past two weeks has been completely revamping some of the awful code design, which I first employed because I didn't expect the game to grow like it did! I've been reaching into some of the oldest, first ever written code for the game!
Models
First up, let's talk about how the character models work in the game. In the How's it Made for art, I actually talked about how the folder structure of the various sprites are made, so allow me to reiterate. Each character model consists of 6 main parts.
Body: the base of the entire model
Clothing: so that I can put them all in silly little outfits
Eyebrows: to change their expression
Eyes: so they can blink and also to change their expression
Mouth: so I can change their expression
FaceEffects: for things like sweating and blushing
Notice how the eyebrows, eyes and mouth are all separated? This means I can mix and match various eyebrow and mouth sprites instead of just having one single sprite for representing each facial expression.
Every time I draw the model for a new character, I give all of them three base expressions: neutral, concerned, horrified. These actually correspond to the faces they make during battle as the match progresses and gets closer to the end.

(Character expressions: neutral, concerned, horrified.)
Now the next part is important: the eyebrow and mouth both have a sprite for each of these expression sand the file is named in the exact same way. For example:
For eyebrows, the neutral expression is in a folder called "Eyebrows" and named "neutral.png"
For mouths, the neutral expression is in a folder called "Mouth" and named "neutral.png"
The code is written in a way that: if I want to set the expression to neutral, concerned or horrified, I don't have to set the eyebrows or mouth separately, I just tell it to use the "neutral" expression, and it will take care of both of the facial parts.
... and why am I bringing this up? Take a look at this:

(Player expressions: neutral, concerned, horrified.)
These are the expressions for the Player character. As you can see, it also uses the same three base expressions: neutral, concerned and horrified.
... now look at the way those files are named. It's a goddamn mess!
The eyebrows for neutral is named "default.png" instead..? I do remember very early at the beginning when the neutral expressions were called "default", but I later decided to change it to neutral as it was more descriptive.
... clearly I didn't care enough to update it for the Player Model, instead only doing it for NPC Models.
The concerned expression naming convention is completely non-sensical. Eyebrows are "Eyebrows/oneraised.png"? Mouth uses some "Mouth/distressed.png"?
This means that instead of just looking for mouth and eyebrow sprites both named "concerned.png", the Player Model had to manually make sure it searched "Mouth/distressed.png" and "Eyebrows/oneraised.png"
The horrified expression is the worst of these. The mouth is, again, named some random "Mouth/scared.png"
... but look closer and: the horrified eyebrow uses some sort of "Eyebrow/concerned2.png"?
What? Concerned doesn't use a sprite called "concerned.png", but for some reason horrified uses "concerned2.png" Where did it the first one go?
Well the answer to that lies in the following:

There's... a fourth extra expression that the Player Model uses during battles, that occurs in between neutral and concerned. It's called "huh". What an apt name for the mess that this is. Two things:
But it doesn't end there, the player model actually needs to also have a separate layer for the inside of the mouth, that is for the mouth sprites where it's open. This is because the outline of the mouth needs to get tinted with the player's skin tone, but the teeth and fleshy insides most definitely do not.
... so how did I name these teeth layers?

distressed_teeth.png
scared_back.png
W-what... what in the world? Why do they both use different wording!? The hell was I doing? Truly all over the place...
Ok, so Player Model needed its own unique code unlike NPC Models to deal with this whole mess, but it was going to need that anyways, actually. There's some extra work required in the Player Model due to the character customization, which means the code also needs to pull the correct eyebrow, mouth and eye base sprite was selected at character creation.
... but the problem is: until now the Player Model wasn't even considered to be the same as NPC Models. Internally, the Player Model was seen as its own different thing, which meant it sometimes couldn't even be used in places where other NPC models were used. This meant that things like the Mode Viewer perk had to always do things like check if the model was an NPC Model or Player Model, and do different code depending on which it was.
And that... everybody, is the mess that is CoG code. In conclusion: lots of folder and file reorganization was done, on top of rewriting a ton of Model display code so that NPC Models and Player Model actually use the same code.
Facial Escalation
There was actually another issue with how the escalating battle expressions were tied to and updated by the model itself.
As I said earlier, the models escalate from looking neutral, to concerned, and finally: horrified, as the battle goes on. But instead of this being called by the battle... I just had it tied to the character models themselves, and they updated the expression all on their own whenever they updated the Wgt sprite! Here's the problem with that:
This meant the character models automatically changed their expressions when spawned in, even in places like dialogue, when they're merely supposed to just appear on screen.
To fix this, I added a little switch to the model updating function that told it whether to automatically change the expression or not.
The problem with that is... the model updating function is already a little cramped and the whole point is that the battle escalation code really isn't supposed to be here in the first place.
... so the solution is clear, right? I just needed to move that code over to something used in the battle code. And for that I already had the perfect structure: Battle Flavor Text.
Throughout battles, characters will let out various little quips and reactions as the match progresses. The way it works is that: whenever the Battle manager registers a Wgt change, it notifies something called the TextBase, which then displays the appropriate text, and sometimes even plays sound effects.
Each character has their own TextBase that reacts at various different times with different text, so all the Battle manager needs to do is load in the corresponding TextBase of a character, and then let it do all the work.
... this means it also happens to be the perfect location to house the new escalating expression code! Not just that, it also meant I could customize each character individually, to use expressions other than just neutral, concerned and horrified in that order, and it also means I can trigger them at times other than 1/4 through the battle... halfway through the battle... etc.
You may have also noticed that characters smile at the beginning of a battle. That's actually the full cycle during a battle: smile -> neutral -> concerned -> horrified. However, them smiling does not make sense in a few of the scenarios: most notably the Carver battle during MQ3, where you basically ambush him while he's trying to run away.
And so when that originally came out, I basically tacked on some code as a temporary fix that overwrote that behaviour and made Carver look dour throughout his entire battle. With this change, I finally got back to it and finally finished it up all proper and stuff!
Ahh, just like getting your spring cleaning done.
BuildData, or: the programming method of putting everything together with duct tape
Now here comes the big one. The one that I knew needed a big refactor from the very beginning, but didn't get around to doing it because it would be so much work: the BuildData class.
This class holds the information about the Wgt of all your opponents. It's how the game tracks their Wgt in the background while you're out and about wandering the streets of Plursdott.
... but that's not the only thing it holds, no. It also has their current decks and battle data loaded in, at all times. This is because the game prototype was originally just a single battle between you and Cedric: the overworld and time mechanic wasn't even conceived even at all back at this point!
And so, it would seem that when I expanded CoG into the exploration game it is today, I decided to just keep and use the entire battle data of the opponent, which included the Wgt variable I needed.
There's a few things wrong with that:
The overworld tracked the Wgt of a character using a chunk of data meant to be used for battle.
In a well-designed project, the overworld should have nothing to do with that kind of info. It shouldn't even know battle character data exists. All it needs is to track the Wgt only, and nothing else.
The build is stored in memory, always, taking up space even though it isn't being used. Mind you, this meant every single character had their entire deck and battle parameters loaded in into your device's memory at all times.
Characters' builds change over time, when story progresses. If this system was well-designed, I would only need to seek and retrieve the appropriate build when a battle is started.
How did the old, terrible design handle this? Well, anytime a character's story flag was progressed, BuildData would have to check for if a new build had to be loaded, and then loaded it into memory.
The solution to this one was obvious: separate the build data containing the deck from the actual Wgt variable needed to be tracked in the background. That way, when it came time to start a battle, the BuildData would simply load the correct deck info and pass it over to the Battle manager.
This also meant that the build wouldn't be held in the BuildData itself, but some kind of new structure that had to be made. So all in all, that meant this part of the game needed three separate objects:
BuildManager: renamed from BuildData, the big dog managing each of the character's individual build containers.
BuildInfo: a single build container for a specific character. Now that it no longer holds that data, it just tracks the Wg of the character, and is also used to look up and retrieve the battle build when a battle with the character is initiated.
BuildInstance: the actual build and character data that is obtained by asking Buildnfo. What is actually passed on to the battle manager to fight.
This was all simple and straight-forward work, but the problem was it meant a lot of existing code in other places had to be changed, and so it was going to take a lot of time.
With a bit of clever searching and replacing, I managed to update most of the code to use the new BuildManager with surprisingly minimal amount of work!
It's not that simple though
Unfortunately I ran into an issue while refactoring: the characters also have minimum and maximum Wgt ranges. Those also change depending on storyline progress with the character, and it is also something the overworld needs to track in the background.
Until now, they were both also held in the build data, which meant I had to find a way to track and update those ranges independently outside of battle. But... should a character update their build and Wgt ranges at different times, or use the exact same "storyline time to update values" code?
Aside from that, there was also one other big issue caused by the "duct tape" style of building the game: One-sided battles (I still haven't decided on a new name for it... appreciate all the ideas in the comments previous post though, thanks everybody!)
Because One-sided battles were a later addition to the game after all of the main battle mechanics were already implemented and finished, I didn't do a whole of redesigning of the existing build data structures to accommodate for them.
Instead... I just implemented one-sided builds by tacking on all the extra parameters to normal builds. This means that... internally, the code considers one-sided builds to be normal builds, just with the special conditions, turn count, and all that tacked on top of it. So... technically, the one-sided builds also have decks, hands, battle AI... they just doesn't use them.
This was once again remedied by just taking the time, being responsible, and redesigning the existing build data to accommodate two seperate and independent structures: RegularBuilds and OnesidedBuilds. Inside the code, OnesidedBuilds were also called "SoloBuilds", so I had to rename a few of them as well.
... how about one final caveat? This one concerns content that isn't in the game currently, so this is a case of refactoring code so that future additions will be possible. This one's about Ricky and how his build is done internally.
Currently in the game, Ricky features in one battle, a One-sided battle. Despite being a Stout, the fight is one-sided due to the circumstances of him letting you do it freely without fighting back. However, I also have plans to implement a proper, regular fight with him, which meant his BuildInfo needed to be able to handle both RegularBuilds and OnesidedBuilds at the same time.
This actually ended up affecting every other BuildInfo as well, because it meant each of them had to differentiate between whether they were returning a RegularBuild, or a OnesidedBuild! This meant some changes even had to be made for the Free Battle Mode, as it relied on the old code to be able to see which builds a character had available.
Phew..! With all of that finally done, I could let out a sigh of relief at last . Originally I thought all this build refactoring work would just be very tedious and repetitive, but these few bits of design dilemmas at the end actually had me stumped for a bit as I mulled over how I could redesign it!
Refactoring: in conclusion
If anyone reading this is an aspiring game dev who's just getting into coding: don't let all of what I just talked about deter you. In fact: I encourage you to do as shoddy of a job as I did, because badly written code is better than no code at all.
Hell, despite all of the above, you'll notice that the game doesn't run that bad at all! There are a few moments in the game where it might stutter as it attempts to load a ton of stuff, such as when you open the deck editor with all your cards... but the the things I updated are completely unrelated to this.
In fact, all the changes I made likely won't affect the performance at all! Luckily for me, this is a fairly simple 2D game which takes far fewer resources than... say, an a 3D open-world game.
This won't be the end of all the refactoring though, as there are still a lot of structures in the game that need an update. However, I'll leave those for some later development cycle, and get back to creating content for now. Speaking of...
What's next on the story agenda?
The farm MQ4, while featuring a pretty much fully written scene with a conclusion, is not over yet! There's still one missing post-discussion scene where we need to talk about what happens afterwards! Especially with how much there is to talk to depending on how it all turned out, and away from prying eyes...

Here's a sneak-peek from the scene, and in the interest of not spoiling it any further, that's all I have to show you today!
And that's it for today!
There's no card of the month this time because I've mostly been tinkering with the code, and the upcoming side storyline updates, which will largely involve talking and more narrative-focused story beats and not battles.
Hope you didn't mind the far wordier and more technical development log today! With that said: once again, thank you for reading and for supporting the project!
2024-09-26 06:00:04 +0000 UTC
View Post
I haven't done a fun facts post in a while!
That is to say, I skipped out on them during v0.4.0 and v0.4.1's release. The reason for that is: unlike the previous updates, I stopped writing them down regularly about halfway through 0.4's development due to a lack of time and admittedly quite a bit of rush-work.
So why now? Well, as I had to sift through all of the content in the game so far to write the Journal entries for v0.5, it led me to uncover quite a few details that I, frankly, completely forgot about myself.
I didn't skimp out on writing down the fun facts during 0.5's development though, but as I gathered all the previous "Fun facts" posts to put in one Collection here on Patreon, it bothered me to look at what would be a potential gap between v0.3 and v0.5.
And so I figured I would revisit what few notes I did have written for 0.4 and expand them with what I recently remembered. Now that I let you in on that bit of a background, let's dive into it!
Beginning with everything other than the main MQ3 pub content
First is an neat gameplay quirk you might not have noticed:
Did you know that your opponents are also capable of doing mulligans? A lot of the characters have cards they will attempt to mulligan for at the start of a battle, which is why sometimes, your opponents don't start with a full hand!
The Big Beau Section
This update actually saw a full redesign of how progressing Beau's storyline works. It even rolled back progress on saves that got too far beyond a fight whose aftermath scene ended up being rewritten and changed!
In the newly added scenes, there are several points at which Beau acts differently based on your Wgt:
During the first date, if your Wgt is too high, it will interrupt the date, causing you to miss an extra scene if you flirted with Beau earlier.
During the first gym scene, he will flirt with you only if both of you have low Wgt.
Actually, quite a big chunk of the first gym scene is completely different depending on whether Beau's Wgt is low or high.

The low Wgt variants might be particularly rare because of the extremely slow rate at which Beau loses Wgt... that is to say, he almost never loses any if you don't help him out by dragging his lazy ass over to the gym.
Beau's "Wgt loss mechanic" was changed to work that way in v0.4.1 to compliment the long-teased addition of going to the gym with him. Before the update, it was as steady as most other characters'! Are you curious as to how the new mechanic actually works in practice? Well wonder no more!
If Beau's Wgt is below 8, he will stop accepting invites to the gym and just let the rest naturally melt off of him at a rate of -1Wgt per day.
Otherwise he will lose it at a default rate of 20%/-1Wgt (read as 20% chance to lose -1Wgt every day)
When you go to the gym with him, he will lose a guaranteed -3Wgt in addition to a 50% chance of losing an extra -1Wgt.
For the next 6 days, he will then continue to lose weight at a rate of 90%/-1Wgt.
That's what happens behind the curtains for all the characters when they lose Wgt in the background! Beau's just happens to be the most complex due to how it is intrinsically tied to and affected by what you do.
Arnold's Alcoholic Additions
This version also saw the addition of the 2nd Arnold event! There's one very specific set of circumstances you can run into involving Arnold and Hammond.
On days when Arnold's 2nd encounter is available, if Hammond has already taken over the pub, it will be uniquely closed down. This is because during Arnold's encounter, Hammond is also there alongside him, spending time at the bar. And so it is implied that he closed the pub down early to visit his good ol' pal Edgar.

(For "some reason".)
If you lose to Arnold during this 2nd encounter, there are three variants of how that can end up playing out:
The two of you start getting real intimate (this happens if you said you found Arnold attractive earlier.)
The two of you don't do that, instead Edgar just throws you out for ripping out your clothes and flashing everyone (or... that's what it looks like to him, at least.)
One where nothing particularly scandalous happens, which happens when your clothes don't break because you were wearing Gordon's clothes.
Names! Names galore!
In a lot of the dialogue, the game checks for if you have the same name as an in-game character and points it out. The most fun one is probably in this very Arnold encounter, where if you choose stay with Edgar, Hammond and Nicole; Nicole mentions a "Ben" that Edgar used to have a crush on:

"Is Hammy wrong, though? He kinda looks like Ben from university, doesn't he? You know, that Ben? Oh you were head over heels for that guy."
If you're also named Ben, she will then add this little quip:
"Oh, or maybe your type is just people named Ben."
MQ3, or: playing mind games with myself
Now let's finally tackle the monster that is MQ3. Allow me to take you along for a ride that I myself went on several months ago when I worked on it.
The branching and optional scenes in MQ3 were perhaps the most elaborate out of any other storyline in the game. There are also quite a few unique combinations of circumstances that require some manual handling.
(Note from post-v0.5-release Oak: the above line was written before v0.5... and it turns out that update ended up having quite a few elaborate branches too.)
In the previous update, the cake scene with Russell required some setup by only triggering when you are below a certain Wgt to make sure you are always able to see the scene through to the end.

The reason I'm bringing this up is because MQ3 required a similar thing: during the investigation where you reunite with Cedric, there is a special rule in the battle that follows: you're only able to go as high as 40Wgt. There's a justification for this story-wise: you don't want your clothes to be destroyed.
However, if you're wearing Gordon's clothes, which covers the entire range from 20-54Wgt, this problem doesn't really arise... and so, originally there was simply a warning that didn't let you investigate, encouraging you to lose Wgt first. Doing so assured that you would always have to be in small-sized clothes during the scene for things to work.
Now let's overthink it
In the end, I decided that this limitation needed to happen more organically... leading to the entire alternate investigation scene where you get distracted by the tantalizing thought of food. This also had the added benefit of building up towards the eventual reveal that Norman was behind it all.
Of course, I had to overthink further it for no reason, and I ended up putting in two variants of this scene: a regular one and an extreme one for 40+Wgt, where you're even forced to pay 3ยค to Norman!

But what if the player doesn't have the money? Well, alright, why not add a branch where Norman lets the player pay it off later? Ok, but now I have to add a check to the future investigations, as well as the regular pub entrance dialogue that handles this and gets the player to have to pay. That's fine, right?
(As a side note: somewhat amusingly, if you end up finishing MQ3 without paying Norman back... then you of course no longer have to do that, considering everything that happens.)
Dig myself even deeper
What if the player continues to come in at 40+Wgt even after having experienced that? Feels like a lot of work to write another entire variant of the scene to loop infinitely, let's just prevent the player from doing it then. But narratively it's not very compelling for the player to want to go in and be told "You can't walk in cause that'll break the game", we need it to happen organically.

Ok, add a scene where the player is stopped by a fellow Stout and warned about it, now they have an in-universe reason to not go in!
That not only serves as a flat-out explanation to people who still haven't realized they're not supposed to keep blindly going in, but it also allows for as a brief appearance of another Stout to really flesh out the world and show you that there are other people working at the Stout Group besides you and like the 3 people you've seen!
At the end of this swerving road...
None of these (in hindsight) quite narratively significant scenes were originally there when the overall outline of MQ3 was written. Why did we do these again..? Right, because I needed to create a more believable way to railroad the player into the right state for Cedric's encounter... and it ended with the addition of two completely unique scenes that also required small checks and unique lines of their own to be added to existing dialogue.
This kind of "realism" that I ask of myself while writing for the game is probably unsustainable. At the end of the day, it is a video game, and looping/unnatural dialogue is eventually going to happen, but hell if I won't do my darndest to prevent that.
My god, there's even more..!
At this point, it's just bad design. There's another glaring issue I ran into while writing MQ3: the 7 day countdown until the confrontation with Norman.

Because of the very strict requirement that it needs to happen exactly when it was scheduled, there are many problems that arise: the player needs to be available on that day and not skip over it. But guess what? There are multiple ways that can happen!
If the player loses a battle 3 days before, they'll be in the hospital while it happens! This was fixed by not allowing any game overs during this time period, instead showing a retry screen similar to scripted required wins like the Russell and Matteo battles.
Many other events can advance the day! Such as staying over with Akello at the cabin and Arnold at the pub! This had to be manually remedied by not allowing either of these events to trigger the day before the pub battle
For Arnold's scene, this simply means not showing the Event on the map.
In Akello's case, when you call him, he will say that the campers are not there on that particular Wednesday (you'll notice that in the intro he says the campers are only there every "other" Wednesday or so)... or he'll just flat-out tell you he's not in the mood if you already lost to Borik and disappointed him before.
All of these branching requirements were quite a headache to cover, and they are the main reason why v0.4 took so long... In the future, I'll probably want to avoid any wildly branching and complex paths like these, as well as anything that would use the countdown that the final confrontation uses.
(Post-v0.5-release Oak here again: the above, too, was written before the release of v0.5, and is an utter lie.)
Some remaining details about MQ3
After the end of Russell's MQ, in the days leading up to the pub MQ, you can actually see Norman's Wgt slowly rise over time.
There was also the matter of handling incorrect times: one of the conceits of MQ3 is that you have to arrive at the pub at the right time of day to find new information.
... in practice, this time check actually only occurs in 2 out of the 4 investigations you have to do, and one of those will accept either daytime or evening, so it's actually not even all that strict.

Once you order food, you're locked in on investigating for the day, but you also have the option of escaping commitment by just changing your mind and leaving the pub.
This opens up a bit of potential for meta-gaming, where some people might try to predict whether they should order food or just leave depending on if unique text appeared right before that, which would give away that something new was about to happen.
This meant that the preceding text had to be at least somewhat unpredictable and generic, so that it wasn't obvious from the get-go whether the investigation was going to lead nowhere or not.
The case of the Cedric
Here's a bit of a fun storytelling detail that doesn't appear in the actual dialogue itself. During the first fight in the intro, Cedric's deck consists of:
3x Feed
2x Menu for Two
1x Abs... drool
1x Drink it All Up
1x Exercise
1x Fat outbreak
1x Keep Pumping
1x Seconds
In your rematch fight at the pub, his deck is the following:
3x Exercise
3x Menu for Two
1x Abs... drool
1x Drink it All Up
1x Fat outbreak
1x Keep Pumping
1x This hand sucks!
1x You want more?
Notice something interesting? Well, the deck has barely changed, of course, but there's something else... all of the new cards in his 2nd deck are, in fact, the ones you get from Gordon at the start of the game.
This is a bit of a storytelling through gameplay moment. Because Cedric hasn't gotten any new cards, it means that he hasn't used The Fattening at all... and more importantly: he hasn't even touched the card crafting mechanic which requires you to hit the pub a few times!
And with that, I'm all facted out...
I hope you enjoyed this clobbered together menagerie of fun facts. I sure enjoyed writing them, especially since I managed to cram in so many details in the update, and it ended up being a bit of a technical look into how things had to be designed to work, too!
With v0.4 out of the way, I can now move on to properly formatting and editing down the fun facts I wrote down for v0.5, so look forward to that coming out in a week or two!
And so we find ourselves at the end of a post once again... and you probably know what I'm going to say now: thank you for reading and for supporting the project!
2024-09-19 06:00:04 +0000 UTC
View Post
[10/09/2024 v0.5.0a Fixed a bunch of bugs]
Sorry for the constant delays everybody! Finally it is here! Feast your mouse clicks (or finger touches) on these links!
And here are the text documents such as Patch Notes and Guides:
Phew, alright. Quite a lot to say about this one:
Here's a few important things:
Gardening was added retroactively and is supposed to unlock around the time the bakery plotline happens. Because of that, you might not be able to go through all of the scenes without going over the date limit if your save is too far in.
A lot of flags for various events were added retroactively. In a few rare cases where it's impossible to determine which path you took, the game defaults to some values, so some dialogue might not match up to your previous decisions.
There are missing Journal entries for the gardening storyline, MQ4, and Ikem's storyline. They should by ready by the next minor update where I also finish the next new Ikem scenes I had originally planned. Hopefully it won't be too much of an issue in the meantime, as two of them are literally the brand new content.
The big feedback and bug report question
The Journal entries ended up being far longer than I expected! It's very likely there are a few errors, such as typos, incorrect entries for branching, or entries appearing earlier than they're supposed to.
I had to restructure a lot of the internal workings of the game UI to implement the new dynamic UI sizing for android. It's possible that it broke a few of the existing parts of the game (even on desktop builds), not to mention it might not work as well on some phones, as I was only able to test it on one device: my phone. So if you run into any issues with that, most definitely let me know.
The new materials retroactively changed most of the old card recipes, so if you're using a previous save with the cards already crafted, you likely won't feel the changes all that much.
If you're in the mood to replay the game from the start, please let me know how you feel about the balance between material rarity and amount of material needed for crafting. There will likely be a bunch of rebalancing of numbers happening along the way.
Unlike the previous tutorials which featured an interactive step by step introduction, I decided to do something similar to the jogging tutorial, where the first time you enter the gardening and foraging minigame, a popup appears containing a written explanation of the minigame.
This has the advantage of being an easy way to refresh your memory if you don't remember how it works, since the tutorial is accessible at all times using the (?) button.
However, it may be a bit less intuitive this way compared to a more fool-proof step-by-step introduction, so if you had any trouble understanding how the minigames work, let me know! It's possible that I will implement more interactive tutorials for them later if it's too unclear. I'm particularly worried about the Forest Puzzle tutorial, since the minigame itself is already somewhat complex on its own.
Let's get real for a second
To be frank, I am very unhappy with how this development cycle has gone by (a development cycle being the time from one update release to another). Between the constant delays and some life interferences, this is perhaps the most stressed I've been working on the game so far.
Most of it stems from the fact that I had to constantly delay the update due to things I thought would take a month at most. However, I also mentioned once in one of the previous development logs that I've been taking longer to work on the game to make sure all the art and writing lives up to the standards I have for the game looking forward.
Obviously, that kind of thinking has brought me a non-zero amount of headaches, but I can very honestly say that the extra time I took to create what I truly envisioned was fully worth it. In my eyes, all of the content added in this update features some of the most interesting and fun writing so far, and I hope you will feel that way too!
As I mentioned in one of the previous logs, a lot of worldbuilding was done behind the scenes, and I even added little tidbits here and there into some of the old dialogue, so if you decide to replay the game, keep your eyes peeled for those!
And on that note
I've been stepping down on the gas pedal nonstop for the past month or so trying to roll the update out, so with that, I'll happily take the next few days off to rest a little.
Of course, I'll be on the lookout for any potential bug reports, so if anything particularly game-breaking is found, I should have it fixed within a few days like I usually do. If you have any other questions, you can also let me know as well.
Thank you once again for supporting the project and helping me keep everything afloat! Enjoy all the new stuff and I hope all of the time and effort I put into it shows!
2024-09-06 20:26:12 +0000 UTC
View Post
Hello everybody, I'm still struggling to finish the final few pieces necessary for v0.5, so you can expect the update to come out within the next few days!
Apologies for yet another delay and thank you for your patience!
2024-08-26 06:00:07 +0000 UTC
View Post
After recovering from a particularly rude illness and finishing university, I finally got to jump right back into development this month!
Originally I was hoping to release the update around this time, but unfortunately that will have to wait until next month as things are nowhere ready for a proper release. I've really spread myself out thin with so many independent storylines and various side content, it'll be quite a challenge to attend to all of them at the same time.
In the meantime, allow me to satiate your curiosity with a few sneak-peeks:
Back on the MQ grind
I've had quite a lot of fun playing around with the writing this time around, things might get a little saucy. To pique your interest a little, here's a screenshot from the upcoming main quest:

"Opening your eyes, you took your surroundings in as you slowly pieced together what had just happened to you."
There's not much else to show off when it comes to the main quest as that will all have to be left for when you experience it in-game, so let's take a look at the other things I've been working on!
Sown and ready to reap
In the previous full development log, I shared an image of the shop clerk from the general store, all geared up and ready to be in charge of the community garden.
At the time, the gardening minigame was only in its early stages, but it is now finished and fully functional! Have a little screenshot:
(That's gardening alright.)
An image speaks a thousand words, so then that means a video will speak a million. I've a added a little demo video of the gardening process to the attachments, so go take a peek at that!
In the gardening minigame, you will find yourself visiting the community garden to water and take care of the plants. As mentioned in one of the previous logs, it's designed to work alongside the new forest minigame, which will now yield two types of random seeds.
It's not a particularly in-depth gardening simulation, as it's just meant to spice things up a bit by giving you one more thing to spend your in-game time with. It's designed to be as simple and straight-forward as possible:
The plants need to be watered every 4 days, meaning you don't have to worry about visiting the garden every day.
However, if you decide to stop by during the days in-between, you'll be able to take care of the plants by getting rid of weeds or ridding them of insects. Doing so will shorten the growth time a little.
For now, the plants all use the same sprites for the various stages of growth, with the item icon appearing when a plant is fully grown, but perhaps a unique sprite for each plant is a bit of an overkill for what is essentially a small distraction in the form of a minigame.
Developing this minigame was an interesting digression from the rest of the game, as it required me to work a little bit with the physics and collision system. As the rest of the game contains mostly slow, turn-based controls centered around menus, this is the first time I got to dip into aspects such as collision, hitboxes, placement and movement... and I also just had a bunch of fun with the particle effects.
When working on the interactions, I focused on making the controls feel nice and satisfying, with snappy animations and responsive sound effects. A fun little detail is the different manner in which the various tools work. If you look at the demo video, you'll notice they each have a different control scheme and hitbox:
The watering can needs to be aligned above the planters, and is used by holding down the mouse button.

The gardening glove has its hitbox slightly to the right, and is activated when you release the mouse button to actually pluck the weeds.

The bug spray has its hitbox to the left, and is activated when you press down the mouse button, simulating pressing down on the spray's nozzle.

These are all minute details that I'm sure most people won't even notice, but nevertheless, I'm very happy with how I managed to implement them!
Gardening, with a dash of plot
And of course much like fishing, gardening will be accompanied by a slowly unfurling plotline happening every few visits you pay to the garden. Obviously the shop clerk who is in charge of the community garden will be at the helm of it, but we could use some more faces to tell a proper story.
The story outline has already been drafted, and the character sprites are in the early works, so for now I will leave you with this sketch:

Who is this disheveled man, and how does he play into the story? Only time will tell. I can however tell you, that as part of this storyline, there will a One-sided battle.
(... wow, I really need to think of a better name for that.)
Now that the One-sided battle system is a thing, it is time for me to sprinkle those throughout the various plotlines. So far, the two situations it appeared in were ones where the player was goaded by someone else to do it (Cedric and Ricky). This time, you can look forward to a more mischievous use of it!
It took me a bit to figure out what I wanted to do with the gardening storyline... and the main quest storyline as well, for that matter. The reason for this is that I'm far more meticulous about the game now compared to when the project first started. This is both a good thing, as I feel the upcoming content is much more polished and compelling than previous updates from both a technical and artistic standpoint, but it also means it's been giving me a bit of a headache behind the scenes... which is what I'd like to talk about next!
The writer's room, or: a brief rant on the storytelling of CoG
One thing that I enjoy about Cards of Gluttony is that despite its premise, it is ultimately quite a narratively dense game... if that wasn't obvious from the numerous independent plotlines and amount of branching paths. However, as I continue to write for the game, I've become increasingly more and more aware of the absolute pitfall that I've written myself into, by creating the setup that I have for the game.
Many of the scenes in the game fall into the common video game problem of "we need to have gameplay, the gameplay is fighting, therefore every problem needs to be solved by fighting". This ends up creating a lot of situations where characters are aggressive and attack you for no reason, or for unconvincing reasons, as a way to lead up to the fight. This often feels very forced and also very same-y and uninspired.

(Just a few of the times people attacked you for no reason.)
Cards of Gluttony also has the additional hurdle of... not really being about traditional, physical fights. How often do you end up in situations where the easiest solution isn't to simply physically overpower your opponent? You may have noticed with the way specific details and rules of the world are written, that I have at least attempted to mitigate these issues by giving reasons as to why this isn't possible. The One-sided battles added in the previous update also helped alleviate this a bit, by presenting an alternative way for situations to unfold.
But either way, there's still a lot about the game's narrative that I haven't figured it out yet. However, I have done quite a bit of worldbuilding and brainstorming behind the scenes recently, which I'm excited to show off in some of the future scenes. I am also ultimately quite happy with how the main quest and gardening stories turned out, as I was able to come up with some fresh ideas (for the game), so you can look forward to that!
And that brings us to the end of the rant. Really, all I wanted to do was jot down my thoughts and struggles I run into while writing for the game, while also giving you a peek into aspects of development that might not necessarily be visible in the final game itself. Hopefully you found my musings to be at least the slightest bit interesting!
So what's left?
As we close in on the next release, I should perhaps recount what still needs to be done:
Finish writing and wrap up everything needed for the upcoming main quest.
Finish assets and write all the encounters for the first batch of gardening plotline.
Finish the Journal.

(The UI ended up getting a bit of a make-over!)
First shown off in DevLog #15, writing the journal entries has proven to be quite a challenge. I've had to re-read the stories, their branching possibilities, as well as dig through the various flags that the game uses to actually track what happens. I got particularly choked on the recent Pub MQ, which I may have made a bit too branching for my own good... Nevertheless, there's still a significant chunk of journal writing that needs to be done. But better late than never, as this would become a herculean task if I left it for later.
I have also yet to finish the new overworld music, as well as the boss music that I shared in the previous logs. Those might be moved to a later date as they aren't exactly essential, and I've been taking my time with those to make sure they are up to par with what I want.
Additionally, a few of the existing storylines could use a continuation. These might not necessarily be big additions with a lot of gameplay and battles happening, but rather narrative build-up to future plans I have for many of them.
In particular, Ikem's gym hangouts could use a scene where you discuss the aftermath of the whole pub debacle, and Darwin's newly added fishing hangout needs scenes similar to Ted's where you'll get to know him better.
And that brings us to the end
There won't be any Card of the Month this time as I haven't added any new cards since the last two for the main quest. Since the pub MQ saw quite a few new cards added, I realized it might be time to slow down and be a bit more careful about what kind of effects I add into the game.
Well. And on that stray ending thought, as usual: thank you for reading and for supporting the project!
2024-07-26 14:00:24 +0000 UTC
View Post
Hello everybody! Unfortunately this development log will be quite short as I have some slightly bad news.
What's up with me
For the past month, I've been sick with some sort of flu that caused me to be bedridden for about half of it, and left me quite exhausted during the latter half. I have thankfully gotten better now, although I seem to still have quite an annoying lingering cough.
Because of this, I have gotten virtually zero work done on the game during June, with me slowly getting back into it this week. And so I would like to apologize to you, as the next update which I originally planned for around this time will have to be postponed until next month.
... it also means I have barely anything to show you today as I haven't gotten to work on the game at all. There are however a few tidbits that I was working on before my untimely shutdown, as well as a bit of music I worked on earlier this week.
And to cap off this life update, I am done with university and am officially a bachelor as of now! That means I will have a whole lot more free time now, which I plan on putting into the game as I shift into full focus on development during summer.
Currently, thanks to all your support, the income I get from the game's Patreon is enough for me to make a living solely based on the game. And so, if things keep going the way they are, I'll be able to work on the game full-time for at least the near future, so thank you everyone for making this happen!
And with that sappy stuff out of the way, we can get into the little work I had gotten done, starting with...
More Music
In the previous log, I went into more detail about the music in the game, and how I hadn't touched it until recently. I shared a demo of the new battle music that will be used during "boss" encounters. However, the current battle music consists of 3 escalating versions of the song, which correspond to about a third of each person's Wgt. The version I shared was, of course, the final 3rd climax. Today I'd like to share with you the opening version that plays from 0-20Wgt, it's in the attachments, so give it a listen!
Next up, the previous log also talked about the the overworld music, which is realistically the music the player will hear for most of the game, which means it gets repetitive quite quickly. I have finally sat down and composed something I'm happy with, so you can expect a bit more variety in the next update! You can once again listen to in the attachments! On a more musical note, you can hear I've used the same melody from the battle music in the second half of the demo, as a leitmotif of sorts. I hope to sneak it into more future music to make the OST feel a bit more unified, so you can look forward to that!
But this brings up another question: how will the game switch between playing this song and the existing overworld music? Currently there are two options:
In the first option, taking a route similar to the battle music, the music could be split in half across the Wgt range. This could be quite a nice bit of feedback, for example one could easily tell they have crossed the 20Wgt range when they hear the music change.
The second option would for example change the music at the beginning of each month, with one song playing during odd months, and the other during even. Perhaps in the future, once 2 more tracks are composed, 4 tracks could then be split across the year according to seasons. This approach could be quite a nice way to signify the passing of time, perhaps get you excited to see what you'll get up to during this new month.
Currently I'm more inclined towards the second option, as it is more likely to consistently play each song for a longer period of time. The problem with basing the music on Wgt is that it would likely fluctuate a lot and change sporadically, not to mention: depending on the playstyle of the player, some would never even get to hear one of the songs if they are for example used to always staying above a certain Wgt threshold. Perhaps you are one such player, so feel free to share any thoughts on this if you have any!
And the one tiny other thing I've done
This one is quite inconsequential to all of you really, as all I've done is update the game's icon:

(There it is!)
This one is just a small thing, really: the existing icon is something I whipped up quickly so the game would at the very least have some kind of icon, so it was about time for a change! As you can see, it's the Stout Group badge!
This should also affect the Android app icon and make it all nice and spiffy now, since the current app icon is a fallback of a very badly placed logo of the game with text flowing outside the icon, not to mention the logo isn't even centered!
That's all folks
As I said at the beginning, this log is a bit disappointing as I haven't been able to work on the game at all. I'd like to apologize one more time for the delay and lack of progress. Now that I've mostly recovered, I'll try to catch up the best I can!
And with that: thank you for your patience, thank you for reading and thank you for supporting the project!
2024-06-26 13:19:28 +0000 UTC
View Post
This month, I've been doing a lot of work on the new side activities that have been mentioned previously.
To refresh your memory: the game is in dire need of more minigames, as there are currently only two activities to pass time in the game: fishing and the gym minigame, which isn't even available most days! There is technically also the jogging minigame, but because it was originally a last-minute addition with barely any mechanics or rewards, it will either be completely reworked in the future, or removed entirely. Which is a great segue to talk about an activity that I have already reworked. Or, to be more specific: it is an activity that didn't use to have a minigame attached to it.
Returning to the forest
Currently, going to the forest will simply lead you to some dialogue that randomly bestows items to you. These items are:
Notably: Flowers and Herbs are both items that can be obtained through other means. Flowers can be picked up on the overworld, and herbs can be bought at the store. This makes foraging fairly useless, as the only motivation to do it would be to get the Shedbeast, which has a ~4% chance to be found every time you visit the forest.
This makes going to the forest mostly useless, unengaging and unfun, as it is a mere glorified dice rolling machine.
... but you know what is fun? Rolling dice where you can affect the outcome:

(No, it's not Tetris.)
Say hello to the new minigame that will greet you when you enter the forest. Those familiar with logic-based puzzles such as Sudoku and Nonograms may see some inspirations here already.
In this minigame, you uncover items by opening up tiles on a 6x6 grid. Items are represented by the block shapes you can see on the right, which are 4-block Tetris-like shapes, or 1-block single squares. An item is only revealed once you uncover its entire block, and with a limited amount of tiles you can open, the goal becomes to find as many items as possible every time you head to the forest.
There are numbers attached to each row and column of the grid, which signify how many different shapes are in that area. Using this information, as well as the knowledge of which shapes you are looking for, you can make deductions about which tiles contain a block.
However, this minigame is equal amounts luck and skill, as the information you have is rarely enough to find all items with 100% certainty. I've intentionally designed it this way to add some variety and replayability to the minigame, as being able to consistently clear the board would become repetitive fairly quickly.
This also ties in to the new method of obtaining the coveted Shedbeast: fully uncovering all items will grant you a chance to obtain a Shedbeast as a bonus (on top of the very low chance that it is one of the items in the blocks), which gives players who familiarize themselves with the mechanics a bit of an extra chance to find it.
I've attached a short video of me clearing one board to give you an idea of how the minigame works, but I'll leave the full explanation of the rules for when you run into it in-game!
New materials!
Directly related to the new foraging minigame is the addition of new materials! There would be very little point in creating an entire minigame for foraging if I didn't fix the abysmal item pool, after all.
This will also address another issue the game currently has: a very small variety of crafting materials. Currently most of the recipes in the game depend on the fish obtained from the fishing minigame, with the occasional flowers or herbs. Now that foraging is an entire thing, it is time to add some materials associated with this minigame:

(Look at all these plant and plant-adjacent things!)
You may recognize the icon on the bottom left, which looks very similar to the current icon for flowers: the current flower icon will replaced by the one in the top right. The old icon has been updated to look a bit more interesting, and will be used for one of the newer, slightly rarer materials instead.
But perhaps most interestingly, you'll notice the icon on the top left is... some sort of assortment of seeds? Why yes, they are. Which makes foraging the perfect tie-in for the next activity that will be added: gardening!
Sowing the seeds of the gardening minigame
I have yet to implement gardening, but so far the design notes point towards it being more of a brief distraction to check in on every few in-game days, rather than a full-blown minigame to spend hours on. Here is the idea so far:
After obtaining your first seeds from the foraging minigame, you'll be able to wander into the local community garden, where you will be offered a spot by the person in charge. And who might be this person in charge, you ask?

(A familiar face!)
You may recognize him as the shop clerk, who has been in the game for quite some time now! It took me quite a bit to finally get around to involving him in some kind of plotline, but I finally got around to it!
And so that makes this two new activities that will be added to the game: foraging and gardening. It might be enough to make the game feel a bit more fresh for a bit, but I would like to add at least one more thing before the next update releases. Development of this third activity is currently in its early stages, so I'll keep it a mystery until I have more to show you!
Jazz for the soul
Here is an aspect of the game I haven't talked touched in a while: the music! In fact, I haven't done anything with it ever since I first added the overworld and battle music to the game.
This is because my music composing process is not only very spontaneous, but the kind of music I usually create is not at all suited for the game. Actually, this has been a bit of a conundrum for me ever since I decided to compose for the game: what kind of music exactly is suited for a game where you're supposed to be... horny? Well, clearly I settled for jazz, or at least some kind of mimicry of it, as implied by the name of the main battle theme: "Fake Jazz". I'm still not quite sure if it was the right choice, but I'm sure we'll figure things out.
However, after several updates, the music has already begun to get somewhat repetitive. Currently, I would like to at the very least include several different pieces of overworld music, as the overworld is largely where most of the time is spent currently. No news on that front though, I haven't been able to create anything so far that I find sufficient.
What I was able to compose recently, and the reason I am writing about this in the first place, is another piece of battle music. I've attached a short demo of it to this post, so please give it a listen and let me know what you think! So far the plan is to use this song for "boss battles" where applicable, such as the end of MQ3, or Vernon in the intro.
The Main Story
So much talk about minigames, I've barely gone over the actual game! You know, the card game that is the main draw of this project? For this past month, I've been mainly focused on figuring out the side activities, with some more work on the next upcoming main quest on the side.
In the previous log, I've shown you two new characters that you will run into in this quest, and today I shall do another:

As usual, this bit of eye candy is all I have to tell you about progress on the main quest, but at the very least, I can tell you that I've been having a lot of fun writing scenes involving all three of these characters.
Card of the Month
What I can show you however that is relevant to the main story is another card from one of the opponents! Last month was the signature card of one of the new characters, so this month we have the other:

Healthy Appetite
Gain +1 Fit for every 2 Wgt you gain (8 turns).
One use only.
A big boy's gotta eat to maintain that body.
Not much else to say about this one, other than perhaps the duration: 8 turns. Some of you may have noticed a certain shift in the duration of various statuses: the first few BUFF and DEBUFF cards tended to have very brief durations, typically around 2 turns, making them less statuses and more... effects that you activated for the turn.
I'm still figuring out how I want to balance the various cards in the game, which is likely only going to get worse as I continue to add more cards to the game. As the game doesn't collect any data about battles, the only information I have to go on is my own playtesting and the occasional discussion online, so if there are any particular cards or card combinations you find too abusable or overpowered, don't hesitate to let me know!
And that brings us to the end!
As usual I have grossly underestimated the amount of work the next update release will take, what with the several new minigames and branching occurring in the various places.
I have also been juggling my time between working on the game and studying for my bachelor's finals that are happening next month, which means development might slow down for a bit. On the bright side, you can expect things to pick up afterwards, as I will be able to focus on the game fully after everything is wrapped up.
And with that final brief update, as always: thank you for reading and for supporting the project!
2024-05-26 08:00:06 +0000 UTC
View Post
Alright, it's been a month since the last update and that means it's time for your regularly scheduled development log! I've been doing a lot of work on the backbone of things, so there aren't a whole lot of immediately exciting things to show off, so I'll do my best to keep it interesting!
Massive walls of text
As the game continues to grow and the many, many branching narratives grow longer and more involved, it'll eventually become impossible to keep track of what is actually happening, especially since all of the plotlines are fed to the player in small pieces scattered in-between all of the other stories. Well, there's an obvious solution to that, isn't there?
(Say hello to your personal library of recaps.)
Indeed, it is time for the game to get a Journal! As you can see, this new window, accessible from the menu bar, contains a recap for the various plotlines, as well branching paths highlighted in yellow so you can keep track of which paths you've taken, or perhaps even find out a scene had branches in the first place!
I've been having a lot of fun with writing these so far, they've been quite the memory lane to go down. Rather than just writing simple, straightforward recap text, I decided to take the time and write them in somewhat flowery language, so that one could perhaps read these as stories for fun, on a rainy friday night. Particularly some of the... more exciting parts.
Accessibility and text size
Ever since the beginning, I've been struggling a lot with the way text is displayed in the game. Text size, placement, sharpness and whatnot. Especially on the cards, which are often very difficult to fit all the text into, not to mention the smallest of texts on them are already far too small.
There is also another issue. You have likely noticed this if you are playing the game on anything other than the game's native resolution of 1920x1080: the text gets blurry and is overall just not great. Now that part, I cannot fix, that is just part of the wonkiness of the game engine I use.
But before this, I've attempted to fix this somewhat by adding a "larger card zoom" option to the Settings, which scales the cards a bit bigger to make them more legible. It's not a perfect solution, but as mentioned earlier, it's not exactly possible to increase text size on the cards as they would overflow out of it.
... but what of the rest of the game?
(The Settings window is a surprisingly great indicator of how much the game has grown. Look at all those tabs and options!)
I've added font size settings for the dialogue, battle and center message (the ones that appear down at the bottom and fade upwards) texts, alongside a little preview. You'll also notice there is now an "Extra Large" card zoom option, which increases the card size even further, and it now shows a preview as well.
Unfortunately I wasn't able to just make one big ol' slider for all the text in the game due to the way it is set up with the many different fonts used in various places, so I had to add these manually for each part of the UI. I covered the main ones with the dialogue and battle text, however there might be some other areas that could use these, so let me know if there are any you can think of.
I, of course, didn't neglect to add one for the Journal, as that window is all about giant walls of texts. You can see the slider is built in directly into the window if you go back to look at the screenshot!
And from the land of content:
I couldn't write a development log without including a few pretty pictures now, could I? Here are some of the new faces I've been working on that will be involved in the next Main Quest, MQ5:

(They're a package deal.)
Well, it's probably not a surprise, based on their attire, that they're farmers! But what is their deal? Are they just two unrelated people? Are they family? Father and son? Brothers..?
... I'll leave that part to your imagination until the day you get to meet them in the game.
Aside from these new faces, I've also done some work on an existing character whose story has yet to really unravel:

(Hey, it's Arnold!)
Now what is going on here? More perceptive minds may notice that his facial expression looks different compared to usual, serious even. Hopefully I'll be able to finish working on this plotline fast enough so that you get to actually see this in-game in the next update.
I've been having a lot of fun giving the various characters different outfits (Beau has 3 now, not even counting the variant where he takes off his apron!) which, while great and fun... is a lot of work since I have to do the sprites for all of the weight stages... oh well, who doesn't like putting their silly little characters in silly little outfits?
Card of the Month
We didn't have a card last month due to the devlog being tiny to accompany the release, so surely we cannot pass one up this time.

Planning Ahead
Gain +4 Energy and draw 3 cards at the start of your next turn (adds Status).
Effect ignores statuses.
Think ahead and set yourself up for success.
It took me... 4 updates to realize I can use any and all of the characters from the game in the card illustrations, but I got there. Admittedly it gets a little awkward, because it ends up strongly tying a card to one character. This means that if I wanted to add this card to any other character's deck, a lot of questions would arise, such as: "Why do they have that card? Does that mean they met and fought, and that they got this card by winning?"
I'll workshop that... eventually.
And with an actual character in the illustration, rather than just disposable one-off faces, I found myself putting in a bit more of an effort to make it look good than the usual card, more dramatic even!
And naturally, this whole thing lends itself to the signature card illustration picturing none other than its owner, so this is indeed the signature card of our friend from earlier.
And that is all!
I'll be going back to the woodworks now, as there is, as always, an unholy amount of work that needs to be done that is already behind schedule. You know the drill by now: thank you for reading and for supporting the project!
2024-04-26 08:00:06 +0000 UTC
View Post
In an attempt to better organize the post structure here, I've decided to gather the most relevant posts under one place here.
Early Release Download
Latest Version Download
Patreon Perks Password
If you're a member of the Actual Benefits tier, head on over here for the password to the latest version:
2024-03-26 07:01:25 +0000 UTC
View Post
[26/03/2024 #1 Fixed consumables not working on Android]
[26/03/2024 #2 Fixed Clothing data in Model Viewing]
Hey everybody! It's time for the next update! As I've been saying, the focus of this update is on continuations to existing plotlines in the game, so there's no new additions to the main quest.
Here are the links this time around:
And here are the text documents such as Patch Notes and Guides:
The version number
It's mostly just a formality, but I've decided to keep the version on 0.4 and just increment the minor number to 0.4.1, seeing as this update doesn't add to the next main quest, but rather some of the side stories that were missing from the original release of 0.4.
Playing past the date limit
The date limit has been getting in the way since the first release of the game, but unfortunately that's how things are when a game with a time-based system like this is actively in development.
However, from this update onward, you will now able to continue playing past the date limit to explore content you weren't able to get to in time, with the caveat that you won't be able to save and carry any progress over.
Mini Development Log
Since there aren't too many interesting things to talk about in terms of development, I've decided to write a quick summary of new things in here instead. If you don't want to hear about which plotlines were updated, avert your eyes now!
And if you're still here, here's...
All the content that's been added:
Beau: Gym workout, The Date, and an updated and revised 3rd battle
Ted: a scene after the 2nd Darwin encounter to bridge some events, the long anticipated battle with Ted, and another scene afterwards to discuss the results of your battle.
Darwin: two more scenes where you get to know this cranky old man better.
Ricky: It's finally time for Ricky to get some love! The first event has now been added where you get to do a One-sided battle with Ricky.
New Patreon Perks!
I've made it a point to avoid locking anything too gameplay significant behind the Patreon Perks, so it's been a while since anything new has been added here, but we now have 2 new perks for all of you in the Actual Benefits Tier.
Scenario Gallery
Here's the long-time-coming feature of letting you rewatch scenes! For now there are only a few early ones I've put in that I could think of myself. All of these have to be added manually because of all the branching variables and ways that the dialogue is wired.
Now that this is out there, much like the in-game menu says: let me know which scenes you'd like me to add and I'll see to it!
Story Rush
This one's a bit more experimental both in concept and in implementation. The basic idea is that you can play through the entire storyline of a character from beginning to end in one sitting. Currently the two storylines added are Beau and the Fishing plotline featuring Ted and Darwin.
If the Scenario Gallery was difficult to implement because of the many variables I had to track, then Story Rush is that on steroids. Since it's not just a single scene, but an entire logical sequence of scenes, it took quite a lot of work to get these working properly, but hell: I'm pretty sure I still missed a bunch of alternate possibilities that will most likely break the flow of the scenes. So if you run into any bugs, definitely let me know, as always!
I was a bit unsure of if anyone would be interested in anything like this, so consider this a test run of sorts, if people would like me to keep this feature going forward, I'll add some of the other plotlines as well.
In addition to these, the Model Viewing menu has been updated with a new UI (mostly the result of me refactoring the code and structure), but it now also allows you to view the characters in their various outfits! This one took a while to become a thing because there needed to be checks done for the varying ranges of each of the clothing options.
And where do we go from now?
With this, I've finally wrapped up all of the work I originally wanted to get done when I set out to make all of the content for 0.4.
The next update will of course see the continuation of the Main Quest, but this time around, I'd like to focus on adding new activities to the game. This has been another aspect of the game that I've unfortunately been neglecting due to the sheer amount of work required in other areas of the game.
Now that the game is at a point where there is a significant amount of storylines to follow, it is in desperate need of something more interesting to do during the downtime in between said storylines. So in the meantime, I will be racking brain on what kind of minigames I can add that could have worthwhile returns, but you're always welcome to make suggestions!
... and that's it!
As always, thank you for reading and for supporting the project!
2024-03-26 00:27:26 +0000 UTC
View Post