• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Network Game

Status
Not open for further replies.
Level 9
Joined
Apr 7, 2010
Messages
480
im planning to create a network game which is possible to create an account and save it on the host's computer.

any language will do and it should work with the local and internet connection.

i would also appreciate if the program has many features as wc3 world editor

and a guide will be good

so what program or language should i use?

please don't add that its hard and i wont make it. if however i fail to create one then it will just serve as my new experience in programming.
 
Level 8
Joined
Aug 13, 2009
Messages
466
Well, there are probably specific engines, but if you feel like a more special approach, Java might not be bad. I've personally worked with it for a school project (ip-to-ip chat client), and sockets are fairly easy to use. You won't get much of a GUI to work with (well, the closest thing would be an IDE like DrJava, NetBeans or Eclipse), though, and you still have to program the actual game :p.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,259
any language will do and it should work with the local and internet connection.
Something tells me you have not done a degree in computer science...

Ultimatly you would want to use C/C++ as those give you the best control over your program and can interface directly with OpenGL/Direct3D, the two main graphic acceleration standards. However C/C++ is very difficult to code with and platform dependant so not recommened for beginners.

I would advise you use Java as this would allow you to distance yourself from platform coupling and memory management making life a little easier. Many libraries exist to provide graphic acceleration in Java. If you need more fine control over the acceleration you can also use JOGL to interface directly with OpenGL but that is also not recommened for beginners (books teaching OpenGL have pages numbering in the hundreds).

For networking you will want to support IPv4 and 6. IPv4 is what is commonly in use by most people but will start to be phased out over the comming decade due to address space depletion. IPv6 is replacing it and some ISPs already are allocating their users IPv6 addresses so it is advisable to support these as well. IPv6 also removes the problem of NAT resolution since it essentially makes NATs for private use unnescescary.

As for network interaction, that is mostly done using UDP or TCP. UDP is recommened for games which use server for managing game state while clients are streamed a snapshot of the state relevant to them. In these games it does not mater if the odd packet is lost since the server will soon send more up-to-date packets. TCP is recommened for games where every client is synchronized with the game state and so reliable data transfer is required.

Java has all the network and window (the UI widget, not the OS) stuff built into it. The only thing you will have to concern yourself with is a graphic engine library that is hardware accelerated since the built in graphic libraries are too slow for high throughput purposes like games.

Thus all you need to get started...
1. Java 1.7 SDK, the SDK is needed for the java compilers.
2. Eclipse IDE with Java, very useful programming tool that makes life a lot easier.
3. Some graphic engine of your choice that can interface with Java.
 
Last edited:
Level 8
Joined
Aug 13, 2009
Messages
466
I doubt he's looking to make a graphically advanced game, though.
You can also try this, btw: http://mmorpgmaker.org/
It's an engine for making no-coding-needed 2d mmorpgs (top-downish view, like Tibia). I remember playing this MMORPG called jerrath on it a looooong way back.
 
Status
Not open for further replies.
Top