Engine Optimizations and Bugfixes (in Development Branch)

Erannorth Reborn

Erannorth Reborn is a hardcore sandbox Card Game with heavy emphasis on Deck-Building, Character Customization and Moddability. Create unique characters with distinctive attributes, racial/class skills and perks that affect your cards. Adjust and adapt your deck & equipment on-the-fly.

Hi folks, It's been awhile! As you probably know, my development efforts have been focused into the next Erannorth game, which has the official name "Erannorth Chronicles". Still in early development phase to talk much about it here, so for now let's talk a bit about Erannorth Reborn. One of the things that particularly annoyed me about Erannorth Reborn, was the loading times, which is the inevitable result of pre-seeding the various databases, so that there won't be any loading screens as we play, but only when we start or restart the game. The biggest overhead was coming from the Enemy database. If for example you had 800+ enemies in your database like I do, it could take a while to generate even 10 variations for each of them and eventually produce a database with 8.000 enemies. Up these variations to 20, and the engine needed to generate 16.000 enemies, dragging the loading times to the pits of Deimos Chasm and back. [i]In retrospect this was a very stupid approach, but since Erannorth was the first real project I undertook in Unity it was bound to have many such mistakes.[/i] As I was upgrading the game engine for Chronicles, tackling with these loading times was one of my first priorities. The obvious solution to that problem was to instead generate the enemy variants on demand. Then while looking up to the database for the enemies, if they didn't exist, create them on the fly and cache them in the database for the duration of the run. The end result was half the loading time, but this time for 'infinite' levels/variations of enemies. But why would you care about something that will come in Erannorth Chronicles and God knows when? [b]Well, it was too cool to pass by. And since I had to make a bugfix patch anyway I backported this (and some additional optimizations) to Erannorth Reborn as well[/b]. So keep an eye for the upcoming patch 1.089.0, unless you are in the public 'Development Branch', in which case you already have it. [img]{STEAM_CLAN_IMAGE}/34785691/2081904b336f56a065b4de2f9dd80bf46681b065.jpg[/img] You can read more about the upcoming patch in the changelog below or try it right away by switching to the public development branch. [b] If you do, and find any bugs, or balance issues in it, let me know ;) Otherwise, I will be adding it to the main branch as early as next week. [/b] [h2]Patch Notes - v1.089.0 (Development Branch)[/h2] [b] Bugfixes [/b] [list] [*] Clicking while ModManager loading should no longer make the game unresponsive. [*] After acquiring Desecrate and Consecrate boosting perks, these effects were reporting the wrong amount of damage. (The perks boost duration. Not Damage intensity.) [*] Displayed card damage was inaccurate if Imbue or Split was active/part of the card. [*] 'Oak Skin' had 'Water' as element instead of 'Earth' [/list] [b] Misc Improvements/Changes [/b] [list] [*] Moved the 'Resume' slot to a more prominent spot. Should be impossible to miss. [*] Split Damage will now appear directly in the card along with any relevant modifiers (amplify) [*] While Imbue is active or if a card has Imbue, Damage in cards in your hand will appear Splitted. [*] World Map areas will just display the Recommended level [*] The Dungeon Entry tooltip will display an accurate estimatation of the Encounter levels in the area. [/list] [b] Enemy Database Optimizations [/b] [list] [*] Deprecated Enemy variants setting. [*] Enemy database is now populated on-demand rather than being pre-seeded. [*] This should speed up loading times by *a lot*. [*] Enemy levels can scale to infinity (aka as high as an integer can get) since they are generated on demand. [*] Encounters will have a bias to be as close to PC levels in Gauntlets and to the Area upper threshold in Sandbox. [*] But since small fry tiers are also in the mix, enemy progression should feel smoother. [/list]