My first question here! 🙂
Im trying to conceptualize how I would go about recording the moves of my players, and also the state of my game after the calculations of that move.
For example, Final Fantasy tactics.
- UnitA makes an attack
- Calculations will be done
- Store the last move, and also the state of the game after that move.
In the example above, for example, I use Firebase firestore to update the players of the state of the game. In that firestore document, i will update it with the latest move and its effects, together with the latest state of game.
My concern is in number 3, where should I put the record of the previous moves and state of the game after those moves. The purpose of this is for example, I want to replay the match. With records of each moves and states of the game after those moves, I will be able to replay the match accurately. My concern is, it seems recording all these seems huge data because, if a unit moves, I would have to store the entire state of the game, which includes all units hp/position in tile map/buffs/ abilities states(cooldown) etc.
What I have thought of so far
A: (Bad)Store them in same document as the latest document snapshot. Like create an array where it will contain the record of move and snapshot for that move
B: (I think better than A but so many documents will be created) Create one firestore document for each move with the state of the game after that move and store them on a separate firestore collection.
May I ask for advice.
Thanks in advance