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.

Dark GDK / quick quiestion on structure of game

Author
Message
Blue Rogue
17
Years of Service
User Offline
Joined: 6th Jul 2007
Location:
Posted: 7th Jul 2007 03:29
Hi, I'm new to the dbGDK.net but am an experienced c# developer, but new to game creation (I have dbPro but never had the time to learn it so am well glad for the .Net libs!!!! ) I apologise if this is the incorrect forum to post my question in, but I have a question regarding multi-player implementation.

Basically Im pondering how best to enumerate the players on the server. Is it best to do an initial count when connecting to the server then send out updates as players connect / disconnect or a more dynamic approach of calculating on the server the players near the current position and returning the list that way? (the server is being written purly in c# so i will prolly go the route of my own sockets implemention for networking as recommended by MS -Ive done some prior research into the managed Dx librarys)

Im asking really from the point of view of using my own networking layer (and has this been done yet??) as there is additional functionality I will be needing to add (if it proves possible over a standard(8mb) dsl connection)

I look forward to getting to know you guys over the coming months and contributing to the forum as much as possible!

thanks for reading and having seen some of the examples some of you guys look really really talented developers!!!! (its always good to finish with a little brown nosing! )
CattleRustler
Retired Moderator
21
Years of Service
User Offline
Joined: 8th Aug 2003
Location: case modding at overclock.net
Posted: 7th Jul 2007 15:34
I am currently working on a multiplayer game in dgdk.net but it uses my server application called EZ_Serv, and a client dll I wrote as a companion to it (NET_EZSClient). Both are available for free on my dbp page. The server is currently TCP only (not UDP) so while its good for turn based things and such, it wont be fast enough for a first person shooter with a lot of players, because of how the tcp protocol works, as opposed to udp. Most fps mp games use a combination of tcp and udp for different aspects of the game play and game management. I discovered a slight bug last night with the client dll as it relates to the 1.8 version of the server. When I wrote the client dll I developed against an unreleased version of ezs (2.0) that was a port of ezs 1.8 (.net 1.1) to .net 2.0. Like a dummy I added something to the server code in 2.0 that doesnt exist in 1.8, and developed the client dll against it. Thats all well and good except the client dll and the server version (1.8) that are on my page now has a slight glitch when trying to play nice nice together. I think what I will do is leave the client dll alone, and release ezs 2.0 so the two companion pieces that work well together are both available. You should check out my page and see if the server and client fit your needs (i think they will, read the docs), in the meantime Ill see about sorting and posting the newer version of the server.

my page is located at:
http://home.nyc.rr.com/madtek/DBP/dbp.htm

hope this helps

My DBP plugins page is now hosted [href]here[/href]
Blue Rogue
17
Years of Service
User Offline
Joined: 6th Jul 2007
Location:
Posted: 7th Jul 2007 17:12
ah thanks CR, I'll definatly have a look.
CattleRustler
Retired Moderator
21
Years of Service
User Offline
Joined: 8th Aug 2003
Location: case modding at overclock.net
Posted: 7th Jul 2007 19:18
Ok.

Just so you know, after I posted above I went on a spree and sorted a bunch of stuff out regarding EZ_Serv and the NET_EZSClient dll, and I am posting now so there is no confusion if youve already gone to the site, or havent yet. Here's what I have done since my last post:

-Fixed a silly bug in EZS 2.0 which I wasnt motivated to fix previously, which is why I never released the app.
-Updated my DBP page to make it clear that the NET_EZSClient companion dll should only be used from OOP platforms (not DBP) and that it only supports EZS 2.0 (not the original 1.5 + 1.8 version)
-Made a release version of EZS 2.0 and posted it on the EZS Page. This version is fully stand alone as a zipped folder, no install needed. Contains an updated User Guide that relects the difference between earlier versions and 2.0

Note on changes in EZS 2.0:
-EZS now acquires all client IP Addresses and emits that data in ZN_LIST and ZN_JOIN messages (this extra chunk of data is not available in 1.5/1.8 and is what breaks the parser in the net_ezsclient dll, since that dll was developed against ezs 2.0)
Having this ip data available to the server clients is the first step in possibly introducing a UDP client dll, that could be used in parallel with EZS-tcp, to allow more robust multiplayer scenarios, like first person shooters, etc, with EZS as the managing/system-wide aspect, and a fast udp packet blaster (peer) as the action data manager. We'll see how that goes

So to summarize, EZS 2.0 and its OOP companion dll NET_EZSClient are both available for download. They are both being used together in a current project of mine (a card game in dgdk.net/vb.net) and are very stable and reliable.

Hopefully I'll have news on a UDP companion soon

My DBP plugins page is now hosted [href]here[/href]

Login to post a reply

Server time is: 2024-11-19 14:42:56
Your offset time is: 2024-11-19 14:42:56