Completely Revamped My Gathering System!
When I started this, I thought this was going to be easy: just improve the timers so that if a user refreshes the browser or reconnects to the game, the gathering action doesn't drop. What I failed to understand is that I still have no clue how to use Redis or Sockets.
After several days of wrangling with this thing, I somehow managed to figure out what seems to be a somewhat robust (and working!) solution.
I also ended up finding (and addressing) several more issues with my original gathering POC.
I made sure that all gathering logic is centralized on the back-end, eliminating front-end trust, which should help protect against cheating and exploits.
I also did what I naively set out to accomplish: Front-end UI now actually restores the visual status of ongoing gathers after reconnects or refreshes.
This was an absolute pain in the ass, and I hated every minute of it.
Now onto the next challenge that will make me crippled with self-doubt and question my ability to use my brain.
An accurate depiction of me trying to figure out Redis, Sockets and NodeJS:
















