My background is in Enterprise and SaaS web infrastructure. Zero information about games and how their networking works. I only know about the world of browsers and RESTful APIs.
I'm planning on using Unity for the client FYI.
Authentication and Authorization
I'm planning to use Unity and Firebase. Seems like this is fairly standard HTTP connections during the auth faze. Nothing surprising here unless there is something I missed.
The client authenticates against a service, Firebase in this case. And then all future calls after authentication are made using the returned credentials.
Gameplay and Player State
This part confuses me. I assume shooters use a UDP type protocol or some proprietary protocol on top of UDP. But can a game use a REST API and HTTP or TCP connections to send client updates?
Clients would then poll the game server or have a long running connection open to request updates. For example the Auction House in WoW. Is there a long lived TCP connection open between the client and the server updating the auction house data every X seconds?
Then when a player submits a purchase order that same long lived TCP connection is used to update the game server state?
Or is it all literally a REST API like a SaaS app would use? Is my experience with browsers and Single Page Apps in an Enterprise environment applicable to a WoW auction house type situation?
Thank you, Any tips or feedback is helpful at this point.