mutiplayer game project consideration

Started by
2 comments, last by Drake Lin 23 years, 8 months ago
Dear all, As I found I had post this issue in wrong forum, so I post here again to look for help. (which also make more clear on my concerned issues) I and my friends are just completed study in university, and complete a internet based game on TCP/IP using linux server. But the outcome is not acceptable compare with current online game such as UO and EQ. For now, we are deciding to write a more complex one related to multi-players games. This bring to our consideration about the designing and reququirements. I am posting following questions and considerations so if someone can help us. 1. Hardware requirements. As far as we concerned is using a LINUX server to perform server tasks, we are not sure it is capable or not. But at current level, we can only use this as our starting point. 2. Connection requirements We have installed some fast connections ( not very fast actually but faster than modem (ADSL)) but we cannot obtained a static address from our ISP, so how can we make client know our server properly? 3. Protocol consideration It is look like we have to make UDP / TCP as our only protocol, but what we consider is as a online game to prevent slow down the process, what should we planned to make it more efficient to prevent lag and hackerz. 4. Client/Server programming issue We had been use VB as client interface, but it really cannot be acceptable for development a fast enough game. We are looking DirectX embedded into VB or VC as client programming and C as server side programming. Does it make sense? Moreover what process control we should use in LINUX side ? 5. 2D / 3D issue We have been struggle this for a long time. So what kind of graph is better for a beginning group ? That is our questions until now, would you please give us some idea or advices so we can follow. Really thanks Regards, Drake
Advertisement
1. Server hardware will (probably) not be an issue. Don''t waste your money on an all-powerful server, put all you got into getting as much bandwidth as possible. You will need it

2. You might want to look into services as dyndns.org and dhs.org

3. UDP is faster, TCP more reliable. If you don''t need packets to arrive in the absolute correct order, use UDP and write some basic routines for kind of features you need.

4. Don''t use VB But yes, DirectX in C/C++ for client and C for server sounds reasonable. Although one might argue you might want to use OpenGL to gain portability

5. Well, you can make great games in both 2D and 3D. If you have no experience in 3D programming before, it will probably take a bit longer to learn than to make a pure 2D game.
-------------------------------------------------------------LGPL 3D engine - http://www.sourceforge.net/projects/realityengine
Lord Choas,

Thanks for advices. I am taking the 3D modulation course right now by using MAYA. However it is quiet expensive for a beginner project. Would you please give me some more advice on the software I can use? Really thanks

Regards,
Drake
First, if you want to make a 2D game, you really could get away with VB on the client-side. C/C++ will be a bit faster and ultimately less problematic but VB will work. However, since you need to learn C to write the server code...

Which platform you choose and how many players you expect to support affects how you''re going to end up coding the server engine. On Linux you end up having multiple processes each with a large number of threads (I beleive) while on Windows (NT/2000) the only way to go, really, is IOCP. Windows isn''t so great at handling processes with a ton of threads so they''ve come up with some rather nifty methods for handling a ton of connections with a thread pool.

As for 2D vs. 3D -- 3D is much harder. If you''re learning MAYA, though, this might not bother you. There are some rather good free modeling programs out there, such as Blender. Also, there are quite a few decent 3D engines that are freely available. Crystal Space seems to be one of the most highly regarded.

This topic is closed to new replies.

Advertisement