We are in develompent of an MMO game and face some network programming problems. Now we look for network programmer able to solve these issues.
Our programmer has prepared preliminary description to start discussions and find out all detailes of what will have to be made.
Here it is:
The main task of network management that needs to be done is a client’s interpolation/prediction of movement. Another words, all ships in a game must move smoothly. Positions may differ a bit (1-2 m. maybe) from each other, but not much. Same with angles (1-10 degrees). There are many algorithms out there that solve this problem. But most of them are intended for use in a constant acceleration “environment” with a simple movement formula and often updates. In our game ships move with a variable acceleration every time because of ship’s movement nature. This is because of wind affecting the ship based on a number of unfolded sails, their angle to wind direction and numerous other parameters. We have a working formula that adjusts ship’s position and rotation correctly accordingly to these parameters. For a correct movement we used a delta time value between rendering frames to accommodate for FPS fluctuations. But this should (and already was) changed to a FPS independent movement. Another words, movement calculation is made with a fixed updates per second. The real value is not yet chosen. Maybe 30 or 50 or something else. One of ideas of interpolation of clients was to use a state driven method with a seldom transformations synchronization. However we didn’t have much time to test all these things in real situations. So if it’s possible to make a small standalone project with C4 and RakNet as a network library it would be great. What is needed in this project is a controllable “updates per second” parameter that we could tune (doesn’t have to be a “config” value, thus can be hardcoded) and see how it performs with different network connections. Updates should be as rare as possible to minimize bandwidth usage. Only sailing is needed at this point.
We already have some templates for incorporating RakNet into our project. Later on we will send you both: formula sample and RakNet templates.
Homo Habilis Studio
8 freelancers are bidding on average $2250 for this job
I am a very experienced MMORPG programmer, including networking protocol design and implementation, real-time communications and network behaviors. Please view my PM at your PMB.
Dear Sir! Why can't you transmit only the initial coordinates and _changes_ of the speed and acceleration vector? That should cut bandwitch usage effieciently. Regards Peter Lipert