Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

It should be out sometime tomorrow unless you're a Patreon/ Subscribestar member, in which case you should have access.

The main problem is I went into this project as a gamedev beginner, and as time goes by I have learned that the things I learnt from the start were mostly incorrect and laggy as fuck. So a lot of work is going in to repairing this and making stuff work right.

For example, when I learned how to build the characters, if you want an NPC to talk to the player, it needs to know who the player is. All the learning tools say to Cast to Player Character and store that in the NPC, so they can always interact with you.

The issue is that doing a Cast stores the player in Memory, as well as everything the player Casts to as well giving you a huge chain of things in memory. Add in that only interactable NPCs need to know who you are, and this gets messy and laggy.

The real answer is using Interfaces. So when you interact, it checks if the thing being interacted with implements that specific interface then uses it to get only the information needed when it is needed. No huge memory stack. This mess wasn't made intentionally, it's just how the lessons I used say it should be done. Then I learned about interfaces and have been using it to pack everything into them to cut memory usage. Any place something casts to another thing, I'm doing my best to remove it where practical, or if its an external calculation or process, then it's getting internalised into the character.

Another one is cutting the number of characters. There was a Male NPC, Female NPC, Male Rnd Enemy, Female Rnd Enemy, Male PC, Female PC, Male Wolf and Female Wolf. By optimising how they work, we now have Player, NPC, Enemy, and it sorts out gender and variations internally.

Believe me, we've been working so hard for months to get this whole thing working better.