Where to start for a MMO
okay. I have a game that is playable ofline and want it to be MMO. I know I need 2 basic things, a server and a network type. But which one? Servers are like $5000. Is there a less expensive way to get a server. And second off, do I use WinCap or DirectPlay? I know I probably need more. you see the way the game is set up now has all the same functions and controls as if it is on a server because it set's up your PC as it's server. Or what about NPCs, are they on the server or does everyone share the program for their AI and the react exactly the same. ALl I really want is a checklist.
Not to be harsh, but if you don't know the answers to those questions, I'd say you aren't prepared for doing a mmo yet. A regular peristant multiplayer game is probably a way better target, if not something even simpler considering your post history. (And with that, I certainly don't mean something like pong [wink])
Anyway, to answer your question, this article on network middleware might prove interesting?
And of course, superpigs exellent article on MMOG considerations if you haven't read it yet
Anyway, to answer your question, this article on network middleware might prove interesting?
And of course, superpigs exellent article on MMOG considerations if you haven't read it yet
-LuctusIn the beginning the Universe was created. This has made a lot of people very angry and been widely regarded as a bad move - Douglas Adams
Quote:
Original post by Yamian
okay. I have a game that is playable ofline and want it to be MMO. I know I need 2 basic things, a server and a network type. But which one? Servers are like $5000. Is there a less expensive way to get a server.
Try to find companies or hosters willing to donate a server to you. For the game I am working on we have had several offers of different organizations that would like to host. If you are just starting off you can use localhost as a server and then go looking for donations when you have something playable.
Quote:
And second off, do I use WinCap or DirectPlay? I know I probably need more. you see the way the game is set up now has all the same functions and controls as if it is on a server because it set's up your PC as it's server.
It depends on your server. If you plan to use a Linux server then that rules out the DirectPlay stuff :).
Quote:
Or what about NPCs, are they on the server or does everyone share the program for their AI and the react exactly the same. ALl I really want is a checklist.
For our game we have something called a NPC client. It acts like a special client that can control several different NPCs. This is a seperate app can can be run on a different server taking some of the load off the main one. It is only run on 'trusted' servers ( or the main one )
-----------
Andrew
It's been said that you'd be in for a very hard time if you try and 'upscale' a single player game to be a MMO. Decisions like that need to be made at the very start of the project as the very architecture of the game engine depends upon it.
Aside from that, you could quite easily use your own PC as a server whilst you're developing and testing the game. Once you have the basics working and people are connecting to the server, you can then start to think about going out and buying a dedicated server. Whilst in development you can use one of the free DNS redirector services to redirect traffic to your machine whilst you're running test sessions.
As far as I'm aware, NPCs and the like will all be handled server-side (with the possibility of dedicated servers for NPC control). Many MMO games work on a zero trust policy for the client, in other words the architecture is set up so the client sends commands to move relative positions rather than absolute posiiton changes or cash/item upgrades. This is done simply because MMO games will attract cheaters, so once a cheater can 'hack' your game and work out that they can gain an unfair advantage it's game over for the rest of the legit players.
If client machines took a slice of NPC control, there's very little you could do to prevent a cheating player to install a bot to hijack the NPC and do whatever they wanted it to do - even without you knowing.
Generally, you'll be using a winsock/linux socket-based network system (or some other middleware). As far as I'm aware, DirectPlay isn't up to the task of handling the sort of connection numbers you'll be expecting.
Read the articles that Luctus posted, they're helpful in gaining an understanding of the things you'll need.
Aside from that, you could quite easily use your own PC as a server whilst you're developing and testing the game. Once you have the basics working and people are connecting to the server, you can then start to think about going out and buying a dedicated server. Whilst in development you can use one of the free DNS redirector services to redirect traffic to your machine whilst you're running test sessions.
As far as I'm aware, NPCs and the like will all be handled server-side (with the possibility of dedicated servers for NPC control). Many MMO games work on a zero trust policy for the client, in other words the architecture is set up so the client sends commands to move relative positions rather than absolute posiiton changes or cash/item upgrades. This is done simply because MMO games will attract cheaters, so once a cheater can 'hack' your game and work out that they can gain an unfair advantage it's game over for the rest of the legit players.
If client machines took a slice of NPC control, there's very little you could do to prevent a cheating player to install a bot to hijack the NPC and do whatever they wanted it to do - even without you knowing.
Generally, you'll be using a winsock/linux socket-based network system (or some other middleware). As far as I'm aware, DirectPlay isn't up to the task of handling the sort of connection numbers you'll be expecting.
Read the articles that Luctus posted, they're helpful in gaining an understanding of the things you'll need.
Don't even worry about a server until your are at least ready for an alpha test, just test on a local junk box or even localhost.
Once you are ready for an alpha you aren't going to have any problems at all finding a server, so just wait until then.
Also regarding network connections either use:
RakNet (www.rakkarsoft.com) <- My personal favorite
TNL (www.opentnl.org) <- Torque network library
DirectPlay
or obviously write your own network library using winsock, etc.
As a friend once told me, think of it as a giant chat program, which is really all it is. The server does EVERYTHING and the client is simply asking the server if it can do things, and acting as a renderer.
Once you are ready for an alpha you aren't going to have any problems at all finding a server, so just wait until then.
Also regarding network connections either use:
RakNet (www.rakkarsoft.com) <- My personal favorite
TNL (www.opentnl.org) <- Torque network library
DirectPlay
or obviously write your own network library using winsock, etc.
As a friend once told me, think of it as a giant chat program, which is really all it is. The server does EVERYTHING and the client is simply asking the server if it can do things, and acting as a renderer.
okay, I was planning to do this from the beginning. The game isn't full length in story wise, but engine wise it's OK. So you're saying make an NPC like a human player that's run by a program on the server. Great! That's what I do already concidering the program just uses the 127.0.0.1 for the server. Thanks a mil everyone. BTW, Pong is old new for me, just showing that to people so I had a chance at getting a grp of people(which I never did :`()
Quote:
Original post by Yamian
So you're saying make an NPC like a human player that's run by a program on the server. Great! That's what I do already concidering the program just uses the 127.0.0.1 for the server. Thanks a mil everyone. BTW, Pong is old new for me, just showing that to people so I had a chance at getting a grp of people(which I never did :`()
That is the way I have things set up especially with using my scripting engine, but there are multiple ways of dealing with this issue.
The way you are saying (ie having a seperate NPC/AI server app talking to the main server) is actually what I have laid out at the moment and using my scripting system, and it works quite well.. although I am currently re-thinking my full design of the engine.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement