Sign in to follow this  
Followers 0
  • entries
    5
  • comments
    13
  • views
    3,381

Leadwerks and EvayrNet: Initial integration

Evayr

41 views

blogentry-358-0-75256900-1488304060_thumb.jpg

 

Intro

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

or something similar to a "
" 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:

 

blogentry-358-0-95898900-1488305135.gif

 

Looking good so far. smile.png 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:


8
  Report Entry


5 Comments


Holy hell. This is very very impressive.

 

All I can ask is that you make the example as simple as possible so it's easy to get into. I'd love to try it and play with it. I might even try my luck mixing this with the Steam matchmaking to see if I can get them to work together as I like your data sending/receiving better.

1

Share this comment


Link to comment

Thanks Gamecreator :)

 

Yes, my goal with this library is to make it as compatible as possible with any kind of project. I think this use case of balls flying around and such will fully test the library's functionality. After ironing the small flaws I'll make a tutorial on how to effectively use this in Leadwerks.

1

Share this comment


Link to comment

good luck with the project looks well

 

Have a look at this tool it catches all kind of programming errors related to memory and works on windows also:

http://www.drmemory.org/

0

Share this comment


Link to comment

Will the leadwerks client use a separate thread to send and receive packets?

0

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Create Your Account

Sign in

Already have an account? Sign in here.


Sign In Now