Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

DarkBASIC Professional Discussion / Multiplayer Techniques

Author
Message
Derekioh
17
Years of Service
User Offline
Joined: 1st Feb 2009
Location:
Posted: 7th Jul 2010 04:24 Edited at: 9th Aug 2010 21:43
I've been searching for info for multiplayer (such as interpolation, movement prediction, etc.) and then i decided that i'll just bring all links together. It doesn't have to be source code (although you can), but can be ideas on how you would go about doing it.

Just tell me the links and i'll add them

Articles

This is a great source for Interpolation, movement prediction, and other advanced topics
http://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking

This explains the "dead reckoning" technique for hiding lag and bandwidth reduction
http://www.gamasutra.com/view/feature/3230/dead_reckoning_latency_hiding_for_.php

This is a variation of "dead reckoning" for targeting
http://www.gamedev.net/reference/articles/article1370.asp

General Information for networking games
http://trac.bookofhook.com/bookofhook/trac.cgi/wiki/IntroductionToMultiplayerGameProgramming

The Unreal Network Architecture
http://udn.epicgames.com/Two/NetworkingArchitecture.html

7 Articles of Basic Network Programming and Implication
http://www.flipcode.com/archives/Network_Game_Programming-Issue_01_Things_that_make_you_go_hmm.shtml

An entire website of links to good sources (basically what i'm doing)
http://gamenetworkprogramming.com

This website is Indie Development on the xbox. The network examples, even in C#, are very useful
http://creators.xna.com/en-us/education/catalog/?devarea=19

Plugins

MultiSync is a good, straight forword TCP plugin for getting good server-client action
http://forum.thegamecreators.com/?m=forum_view&t=99188&b=5

Matrix1 is actually many diffent plugins in one. Matrix_28 has UDP and TCP multiplayer support
http://forum.thegamecreators.com/?m=forum_view&t=85209&b=18

WinSock has TCP and UDP support and has debugging specifically for the plugin
http://forum.thegamecreators.com/?m=forum_view&t=73342&b=5

MikeNet(Dark Net) is pretty awsome plugin (TCP and UDP support), but cost some $$$$.
http://forum.thegamecreators.com/?m=forum_view&t=135855&b=5
http://www.thegamecreators.com/?m=view_product&id=2070

Source/Demos

Zombies is a FPS demo using the MultiSync plugin. (Created by Dark Coder)
http://forumfiles.thegamecreators.com/?i=1110707

A movement prediction in action! Although its in C#, you should be able to implement it into Dark Basic
http://creators.xna.com/en-US/sample/networkprediction

Derekioh
17
Years of Service
User Offline
Joined: 1st Feb 2009
Location:
Posted: 7th Jul 2010 18:27
I now added plugins. if i missed one, please tell me.

bergice
19
Years of Service
User Offline
Joined: 5th Jun 2007
Location: Oslo,Norway
Posted: 7th Jul 2010 19:24
This can be useful, the valve site is pretty informative.

9cdfb439c7876e703e307864c9167a15
Derekioh
17
Years of Service
User Offline
Joined: 1st Feb 2009
Location:
Posted: 7th Jul 2010 19:35
thx bergice, I need more info on multiplayer, and i will be updating this list myself, but whatever i can't find, i hope others will. Not to mention that this will benifit anyone else looking for stuff on multiplayer.

KISTech
18
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 7th Jul 2010 19:35
Although it's not free, DarkNet is a very good plugin and works with DBPro, DarkGDK, and GDK.Net.

Derekioh
17
Years of Service
User Offline
Joined: 1st Feb 2009
Location:
Posted: 7th Jul 2010 19:42
thx KISTech, i'll add that

Derekioh
17
Years of Service
User Offline
Joined: 1st Feb 2009
Location:
Posted: 8th Jul 2010 21:57 Edited at: 9th Jul 2010 18:56
I now added a Source/Demos section. if anyone one has a problem with me uploading and source or demos, tell me and i'll remove them. I'll try and only search for demos that people have already released (offically).

Jean Philippe
19
Years of Service
User Offline
Joined: 10th Jul 2007
Location:
Posted: 9th Jul 2010 07:26
very interesting

am trying to make a small MP game with dbpro and this answered many simple questions
GIDustin
18
Years of Service
User Offline
Joined: 30th May 2008
Location:
Posted: 9th Jul 2010 07:38
Nice articles! I have only read the valve one so far but I learned soo much from it. I used those commands alot when playing Counterstrike but never really understood what they did. Very interesting.

A few Questions remain though. If you have read the valve one, you will find that each user can set the frequency of their game updates. One player can receive 20 updates per second, or roughly 1 update every 3 loops, while another player receives 15 updates per second, or 1 update ever 4 loops. So the server must have to keep track of which updates it has sent to each player. With 32 player games, that is alot of gamestates to keep in memory.

I got to thinking about how to implement this using DarkNet and think I have my own personal best case implementation. Each player gets their own "update" packet (mn Create Packet). Every time something in the game changes, that information is added to each player's update packet. Those packets are then sent at each player's update frequency. When your game can have unlimited packets this seems like an easy solution. I honestly cannot think of a way to implement this with Multisync or DBPro's base commands, but it has been awhile since I used Multisync too...

Definately going to tag this thread for updates. I only had time to read one of those articles tonight, but man was it a good find.

Benjamin
23
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 9th Jul 2010 08:31
I'd suggest this Unreal Networking Architecture article. It's a good article, and in fact a very good system too.
Derekioh
17
Years of Service
User Offline
Joined: 1st Feb 2009
Location:
Posted: 9th Jul 2010 18:53 Edited at: 9th Jul 2010 18:59
@Benjamin
This is great Benjamin, i'll add that. I was reading some articles about other Network architectures for other games, but I wasn't sure.

@GIDustin
Thats a tough one. the only thing i can think of is making a function to send/recieve a packet only when you need something like that for updates and that would effect the other packets sending time. i not very good at this, but i think that would work. I haven't looked at winsock, but i think it might have something like darknet's create packet.

EDIT: What i ment was the update packet would only send when you change the updates. The other packets would then update depending on the update packet. That way the update packet would not send all the time.

Derekioh
17
Years of Service
User Offline
Joined: 1st Feb 2009
Location:
Posted: 11th Jul 2010 01:37
I've now added to more sources, but the last source is most helpful. It has links to many tutorials, books, articles, and more. Definitely worth checking out.

bergice
19
Years of Service
User Offline
Joined: 5th Jun 2007
Location: Oslo,Norway
Posted: 11th Jul 2010 03:07
This is great, should be added here: http://forum.thegamecreators.com/?m=forum_view&t=71748&b=1

9cdfb439c7876e703e307864c9167a15
Derekioh
17
Years of Service
User Offline
Joined: 1st Feb 2009
Location:
Posted: 9th Aug 2010 21:44
I've added the xbox indie development website and the network prediction example because i found it particularly useful.

baxslash
Valued Member
Bronze Codemaster
19
Years of Service
User Offline
Joined: 26th Dec 2006
Location: Duffield
Posted: 9th Aug 2010 22:11
This is an excellent resource! Nice work Derekioh!!

Derekioh
17
Years of Service
User Offline
Joined: 1st Feb 2009
Location:
Posted: 9th Aug 2010 22:41
Thanks baxslash. I'm just trying to make this list since it seems no one else has. It's nice to know that people like this.

Derekioh
17
Years of Service
User Offline
Joined: 1st Feb 2009
Location:
Posted: 19th Aug 2010 18:03
So, since i'm working on the Networking for Open FPS, i figured i'll try and make a movement prediction demo. Would this benefit people?

KISTech
18
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 19th Aug 2010 20:55
Yes. Yes it would.

Derekioh
17
Years of Service
User Offline
Joined: 1st Feb 2009
Location:
Posted: 19th Aug 2010 23:31
ok lol.

Login to post a reply

Server time is: 2026-07-24 20:35:31
Your offset time is: 2026-07-24 20:35:31