Wednesday, November 2, 2016

Login Sequence Designed

Planning

Prior to moving forward from the account server, I decided to consolidate my thoughts on the login process by developing a flowchart. The flowchart below is what I'll be using next to implement the game and map servers. The primary purpose of this flowchart was to determine what exact roles the game server and map servers have in the login sequence. This helped me commit to the architecture I originally proposed.

RPC Servers

All servers will be communicating with one-another using RPC (remote procedure calls) over TCP. I completed the game server's RPC server just today, which allows the account server to send authentication data to the game server. This will be changed to the map server, given the new workflow I've defined below. Go's net package was great for quickly implementing this.

A question I receive surprisingly often is why I chose Go over other programming languages. I chose Go both knowing that my server architecture would benefit from the language and that I'd be more productive in the language. By using Go with Chimera, I'm able to eliminate a lot of the slowness and clumsiness I got from developing in languages such as C++ and C#. Go is my preference, and as long as I can remain productive in developing a scalable server using Go, I will continue using it for this project. Thanks.

Flowchart Diagram