   Need some advice on quality networking
  I've done FPS and RPG games before, single player.  I'm looking to take it to the next level and go online.I've been reading up on direct Play for networking.  Is this acceptible?  I'm not sure what the current game developers are using, but I want something I can hold hundreds of people online at the same time, and minimize lag.My current design is looking at a high 3rd person view, so I can have 3D models with not too many polygons per client viewport.  FPS shouldn't be a problem.I just have to figure out server architecture and what I exactly should be sending to the server, vs. processing it on the client.Any ideas on either networking in general, or MMORPG server architecture would be awesome.  Destroy   
  Another MMORPG hey. 'MMORPG', 'awesome' and 'newb to networking' never quite works as intended. Makes for a good joke though. Forget Directplay, if you're not trolling, look at the FAQ and start with integrating networking in one of your creations first.   ;  Wow, figured I'd get some sort of shitty response.  Key point to note, is that most MMORPG newbies have never 1) programmed before, and 2) never attempted to design their game.I have both FPS and RPG games (2 of each) under my belt.  I'm a self-developer.  I am not in the industry, and do not know these things "off hand".  Why do you think gamedev was created?If I wanted your lame ass search advice on this forum, I'd have asked for it.  No either give me some information or don't waste my time posting.   ;Quote:Original post by hellbentondestroyinNo either give me some information or don't waste my time posting.He did. Forum FAQ:Quote:Q2) Should I use DirectPlay or WinSock?A2) As of Summer Update 2004, Microsoft has put DirectPlay into "sunset" mode, where they will not develop the API further. Microsoft now recommends you use WinSock for networking, until the re-cast X-box Live! technology is rolled out for PCs, probably around Longhorn time-frame. If you're on Linux, MacOS, or some other platform like that, life is easier: you only have regular sockets to work with. Luckily, sockets and WinSock code can look very similar if you stick to the Berkeley sockets functions of WinSock, and avoid WSA functions; you can write quite portable programs with a little bit of thought.Quote:Q8) What are some other networking libraries that often get mentioned in the forum?A8) Low-level "sockets portability" libraries include:EnetHawkNLPLib/MedusaSDL_netlidgren network library (for C#)Boost ASIO (asynchronous I/O)High-level "we give you structure" libraries include:ClanLibDemonWareNet-Z/EternaNevrax/NELOpenPlayOpenSkiesOpenTNLRakNetReplicaNetZoidComEtworkQuote:If you want to make an MMORPG, there are some libraries as well:PlaneShift is open source to the core (including art).Nevrax/NeL is open source, but tools/art is commercial (The Saga of Ryzom).RealmCrafter comes with tools, starter art, and a small game; it's $55.Torque plus RPG Kit at $249 total make for an RPG toolkit.;Quote:Wow, figured I'd get some sort of shitty response. Key point to note, is that most MMORPG newbies have never 1) programmed before, and 2) never attempted to design their game.I have both FPS and RPG games (2 of each) under my belt. I'm a self-developer. I am not in the industry, and do not know these things "off hand". Why do you think gamedev was created?If I wanted your lame ass search advice on this forum, I'd have asked for it. No either give me some information or don't waste my time posting.That sort of attitude is entirely inappropriate. You were given perfectly acceptable advice. If you don't like it, or it wasn't helping, explain why. Insulting other members who only tried to help you is not a way to get off to a good start, here.   ;  I stopped reading his post after his initial acquisitions.  It's amazing how people act like "the shit" on the internet, when in real life they would never dream of talking to others like that.I mean, please, how many people on here do you know, that fight?  That actually train in a boxing gym?  Most are stricken nerds.  They get high off their position of power online that they could never achieve in real life.  I hope they get what's coming to them.   ;  Maybe I took his post the wrong way.  He said 'newb' and I was immediately turned off.   ;  I'm "nerdy" in nature, but I'll beat the shit out of somebody if so provoked. I wont start a fight, but I'll damn sure finish it. =)-=[ Megahertz ]=-   ;  Good for you.  Although it's hard to tell with the smiley in your post.  Fighting shouldn't make you giggily.I suggest you go to a boxing gym.   ;  OK then. Sockets are the basis in general. I don't think Directplay is relevant anymore, at least I've never seen it used professionaly. You have perfectly acceptable libraries to help you with the boring and potentially hazardous stuff (Raknet, and others).Network programming is difficult on so many levels. Starting with a large multiplayer game is not reasonable. Starting with a smaller scale game would be a much better experience. Note that coding a multiplayer games require a different way of approching programming than the typical single-threaded, sequential approach, so there is potentially a lot of re-factoring to do. So porting a single player game can be very painful indeed. Minimising lag isn't really the network library's job, but more down to how well you manage your bandwidth and what trade-offs you take. There are two kinds of designs. Lossless + lockstep, versus lossy + gamestates. The first is used where the latency in the controls can be acceptable (RTS games, some MMORPGs, point and click), and the amount of information within the game is overwhelming, and relies on the determinisc behaviour of computers. The second is for fast action games, where we are more intrested in the responsiveness, traded off against accuracy (Quake, counterstrike, ...).   