The past week has been a practice in patience and no small amount of brainstorming. From where I had left off the week before, I had laid done what I had assumed to be a decent amount of ground work for saving and loading a player’s account. The account would have been made up of the decks the player had customized, up to 3, and their combined card collection. When saving to a file using the JSON format, I had done so with the collections and decks as GameObjects. Unfortunately, Unity does not currently have a way to translate this way back into a usable structure. I had to go back to the drawing board to get around this.
Day 1: After finding that I could not use the current implementation I had to think of an alternative method. I settled on re-defining what a collection was, as well as what an account needed. In the current implementation when a player makes a new account they need to provide a name, after which an account it created containing the name, a default deck and collection, and space for 2 more decks. A collection and a deck are now defined as dictionaries, which link a card’s name to the number of those cards present. Any card that the player does not have will not exist within the dictionary.
Day 2: Once I had re-defined accounts, decks, and collections, day 2 was spent writing the functions to parse the values saved to file back into usable GameObjects.
Next: The following week will focus primarily on working on creating loot pools which will define the chances of being rewarded with a particular card at the end of a game, guaranteed for the winner but the loser still has a chance. On top of this, the visual design of the cards will be getting a revamp, the current iterations will be shifted to represent the cards in the management screen while easier to see versions of the cards will need to be made.