There comes a point in the development of a game, where you start on the design of your AI. Typically, at least with me, games begin with a sandbox design that’s just used to set up certain movement mechanics, UI layout, and “feel” of a game. Then there comes a pivotal point when it’s decided that it’s time to start incorporating the scenarios thought of during brainstorm sessions when thinking of the possibilities of the game.
I knew this was going to begin soon simply because I was running out of things to add. My last major addition to the Raid Encounters engine was the saving and loading system which utilizes JSON arrays converted to strings for localStorage. This was very easy and took about 10 minutes once I went through a step-by-step logical sequence in my head on how the game would handle the lack of a save file, loading of a save file, creation of a fresh save file, and carrying this information between levels and not overwriting existing data. It was probably a little more complex than it had to be at first, but I was able to dumb it down enough to where I will be able to add additional data keys in the future. For example, it currently just holds player XP and player level (this can be optimized by calculating total XP, admittedly). I’m not expecting to run into any issues with the XP only totaling that of the current level, but I will probably be altering this to total overall XP for simplicity and for informative purposes.
When designing the save and load system, I also felt it was important to make it as effortless as possible to the player. No menu to manually save or load, it just automatically does it between dungeons, exiting back to the Encounter Select screen, or on player death.
As the development of Raid Encounters progresses, more player data will be accounted for that are both integral to gameplay (collected loot, level progression, how attribute points were spent) and more for fun or informative purposes like deaths, kills, average DPS, and stuff like that.
I’ve been thinking about whether or not there should be multiple character save slots, but I’ve decided against it for now and instead will be a little more lenient with “re-speccing” attributes. As development continues I’ll revisit this once I have a feel for how influential the attributes become to different play-styles and creating an overall attachment to a character as opposed to the game. This creates a lot of replay-ability but is not very casual-friendly unless attribute skill dispersion is NOT heavily influential which makes it kind of blah.
The UI continues to be tweaked, and now you can hover over an enemy to not only see its health but also its name and level now. Some more tweaks have been made to the Raid Boss UI that accounts for a dungeon lasting more than 9 minutes, 59 seconds which causes a tiny little overlap into the Raid Boss’s health bar. I will probably be adding a Raid Boss Level too off to the far right to mirror that of the player’s HP bar and level.