The Cursed Update - Faith in Despair Devlog #18


Version 0.1.7 is here, bringing with it 15 curses and lots of new lacrimae.

Full changelog:

https://muddasheep.itch.io/faith-in-despair/devlog/669665/version-017-curses-new-lacrimae 

Download latest version:

https://muddasheep.itch.io/faith-in-despair 

I decided to move my release days to Tuesdays, instead of Thursday/Friday. I usually work on Faith in Despair the whole Friday, and instead of releasing a buggy new version, I can test it on the weekend, prepare it on Monday, and comfortably release on Tuesday.

Will I release a new update every Tuesday? We'll find out!

The Curse of Yield Return

Last week, I added the groundwork for the curse system, and I noticed that the game ran a bit slower, especially during attack phases with long combos.

After a bit of digging, I noticed it was because I added new cards to check for triggers. But why was that an issue?

Well, because of... yield return.

Every call of "yield return" starts the IEnumerator in the next frame. So, if you have 40 cards to check, you are essentially skipping 40 frames. In a game that runs at 60 frames per second, that's almost a second!

I did not know this! Turns out, this isn't a C# thing either, it's a Unity thing, which allows the rest of the code to carry on. So, not really a big deal, just something you gotta know.

I basically fixed this by checking certain conditions of cards before jumping into the yield return. I.e. check if a card has a specific trigger, before activating the card's lacrimae.

After fixing this, the game ran much smoother again. And we all like buttery smooth gameplay.

Steam

The Steam page is coming along well! In fact, it's already in review. I will tweak it a bit more before making it public, but it should be up soon.

There's no rush really, but, again, one of my deadlines was the roguelike deckbuilding Steam event in March, which is a great opportunity to hit.

What's Next?

I've had a great discussion with Max (Lost for Swords) about our codebases and even talked a bit about seeded runs and how to structure random calls so that they can be saved and restored. So, next up are seeded runs, which won't change much for players for now, but will allow some other features in the future, such as daily runs.

Other than that... we'll see!

As always, please share your feedback in the comments or in the Discord. Always happy to hear your thoughts.

🧙‍♂️ To be continued...