brentstineman / ButtonPong

A sample lab that demonstrates a simple game using Azure Serverless and Particle Internet Button Devices
MIT License
4 stars 14 forks source link

Game Management and State Concurrency Fixes #15

Closed jsquire closed 6 years ago

jsquire commented 6 years ago

Overview

This set of changes has the primary goal of addressing concurrency issues and corner cases related to state management within the GameStateManager with respect to the use of static fields and concurrency protections during blob storage updates.

In addition, due to the large amount of churn, some reformatting and refactoring changes have been included. Though they're largely non-critical and focused on the primary goal, they do address some build and linter warnings to bring the repository and source structures to current best practices, and allow for consistency across the code.

While these changes do add some functionality, my intent was for to only address those areas which make the core game experience more reliable, consistent, and solid without taking away the spots that were originally left for potential enhancements at the hack. I purposefully introduced some new areas of enhancement to replace those that I addressed, some easy and some harder. I'll be documenting these more explicitly in a near future set of changes. I hope that doesn't throw things off too badly.

Implementation Specifics

Concurrency

Functionality

Structure, Documentation, and Miscellaneous

Pending Changes

Addressed Issues