Posted by Evayr, 28 February 2017 · 0 views
An interesting new project of mine. I've always wanted to become a network programmer and made many multiplayer games (like Ravage Online and SIEGE) because it really excites me to see it all work. For those games I used existing networking libraries like RakNet and ENet. Although, I found it was time to make my own for once. Not to make a new wheel, but to see how it rolls. This will make the finding of an internship easier as well.
For every project you will need an end goal. I want my networking library to be fast and UDP only, as you can build the reliability layer yourself. So I started off in a blank project and made three projects: Client, Server and EvayrNet. EvayrNet is only producing a .lib file which both Client and Server are using to get their functionality from (and eventually your own project).
I kept my progress hidden for a while on a private repository on GitHub until it's ready for testing, which I feel is now (although it currently has some slight issues). You can check it out here.
The initial integration
I now want to make a simple game to see if my networking library actually does like it is intended to. I quickly wanted to make a simple game like golf or something similar to a "marble racing game" so I started off by making loads of ball objects and see if I can make the server run some AI for stress-testing. This is the result so far:
Looking good so far. Works okay up to 64 players, but any more is killing the server right now due to too many physics calculations. I'll be looking into threading before next time.
For an extended video explaining the library, check it out below: