Network Programmer who knows how to use Irrlicht?

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
DarkWhoppy
Posts: 386
Joined: Thu Sep 25, 2003 12:43 pm
Contact:

Network Programmer who knows how to use Irrlicht?

Post by DarkWhoppy »

Hey hey, is there anyone here in the Irrlicht Community who knows how to program with WinSocket and Irrlicht? Or would write me a socket class that can send/receive data through Irrlicht? I'm not having such a good time with learning socket programming... I know it seems like alot to ask... but.. ya never know. :roll:

(I didn't know where to post this... so I put it here.)
Programmer of the Irrlicht Scene Editor:
Homepage - Forum Thread
Version 2 on its way!!
Tyn
Posts: 932
Joined: Thu Nov 20, 2003 7:53 pm
Location: England
Contact:

Post by Tyn »

I don't know much about programming with networking but I do know what people who do know have told me. They basically say that it isn't as simple as just having a function that you never have to look at, it's something that spans all design decision. That's the reason games that don't have multi-player functionality over the net don't just add it. It's something about knowing what data you can/should be sending and modifying how you do things to reflect this.

Saying this, I recon you can get away with knowing how it works and not necessarily being able to replicate the code. If you can then there are open source libraries that can help you. One that the project I was on was going to use ( I think it may be a good'n ) is Torque http://sourceforge.net/projects/opentnl/. Don't know much else apart from that, if you have been leaning about WinSocket maybe you'd be able to implement it. Good luck m8 :)
stodge
Posts: 216
Joined: Fri Dec 05, 2003 5:57 pm

Post by stodge »

There are a number of networking SDKs you can use:

RakNet
Quazal's Net-Z or Eterna

And one other that I can't recall right now. Just hit GOogle and see what you can find.
buhatkj
Posts: 444
Joined: Fri Dec 12, 2003 4:53 am
Contact:

yeh for real...

Post by buhatkj »

hehe yeh me too DW. I found some simple c++ libs that would allow me to do the most basic sort of networking, sending and recieving strings over a network. unfortunately this isnt the half of it, you need to be able to serialize your game objects into strings then, and have a full string based message passing system for events (none of this is built into irrlicht...yet...heh) so I set to work trying to build that sort of structure, but hot damn if it doesnt take a frickin eon to try and make it work. you end up with this massive network event listener function which is basically a HUGE switch-case statement that passes strings to game objects. It works, but its not fast, it has no error checking, and its no good at all for action games (no prediction, no smarts, just a dumb ping-pong sync between the client and server)
basically, (for me anyway) it bacame a disaster. probably the best option is to use an existing networking system and to build your project around it. I have heard many times that if you dont build your game with networking in mind from the beginning you may as well forget about it. its not something you can splice in later.
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
saigumi
Posts: 921
Joined: Fri Aug 22, 2003 11:31 am
Location: St. Louis, MO USA
Contact:

Post by saigumi »

I'm actually using RakNet 2.0 right now in my project. It's a solid wrapper for Winsock and makes writing client/servers easy. It lets you make Network objects that update themselves between clients, allows for Remote Procedure Calls, and has a system for setting up packet structures.
Crud, how do I do this again?
Peter Müller
Posts: 292
Joined: Sun Mar 14, 2004 5:28 pm
Location: Germany
Contact:

Post by Peter Müller »

Sounds interessting, saigumi!
Tell us, when its done
http://www.games-forge.de - Die Community für Nachwuchsprogrammierer
DarkWhoppy
Posts: 386
Joined: Thu Sep 25, 2003 12:43 pm
Contact:

Post by DarkWhoppy »

For RakNet, if I use the Freeware version then my game has to be freeware right? (making sure I understand the license... but I do plan on my game being free anyway.)
Programmer of the Irrlicht Scene Editor:
Homepage - Forum Thread
Version 2 on its way!!
saigumi
Posts: 921
Joined: Fri Aug 22, 2003 11:31 am
Location: St. Louis, MO USA
Contact:

Post by saigumi »

Yep.. freeware software is free.

Shareware (online distributed) $100
Retail Boxed Softwares $2000
Crud, how do I do this again?
DarkWhoppy
Posts: 386
Joined: Thu Sep 25, 2003 12:43 pm
Contact:

Post by DarkWhoppy »

I can't get RakNet to compile with Dev-C++... grr...
Programmer of the Irrlicht Scene Editor:
Homepage - Forum Thread
Version 2 on its way!!
Luke923
Posts: 59
Joined: Wed Nov 05, 2003 5:26 am

Post by Luke923 »

saigumi wrote:I'm actually using RakNet 2.0 right now in my project. It's a solid wrapper for Winsock and makes writing client/servers easy. It lets you make Network objects that update themselves between clients, allows for Remote Procedure Calls, and has a system for setting up packet structures.
I'm using 2.0 of RakNet. It's great because it's everything I like about IrrLicht. It's simple to understand, very robust, quick to implement, and even POSIX-compliant (I've gotten my server to work in FreeBSD of all places). The only drawback to the free license is the 32 player limit. But, if you're going the MMOG route, $99 is mere chump change.

The only thing any network game programmer needs to worry about, regardless of the network library, is player synching issues - making sure each client has the same copy of the gamestate at any given time. Because, even with broadband, you can only hope for 10-20fps from the network - compared to 60+fps desired from games nowadays. To achieve this, a network RTT (round trip time) of 16ms or less is required. Some LANs cannot even acheive this. Whoever is considering adding multiplayer capabilities to your game, do a search on Google for "Dead Reckoning". As a matter of fact, GameDev has a good article on it. Understanding lag, and building algorithms to compensate for it, will help add smoother gameplay to your game.
"Object-oriented programming is an exceptionally bad idea which could only have originated in California."
- E.W. Dijkstra
saigumi
Posts: 921
Joined: Fri Aug 22, 2003 11:31 am
Location: St. Louis, MO USA
Contact:

Post by saigumi »

Actually, the 32 player limit was removed. The doc that says that is old. Rakkar confirmed that the free (now GPL) license can have unlimited players.
Crud, how do I do this again?
DarkWhoppy
Posts: 386
Joined: Thu Sep 25, 2003 12:43 pm
Contact:

Post by DarkWhoppy »

Wow... with RakNet, Newton Physics, The GIMP, and the Irrlicht Engine anyone can complete a nice 3D game and even make it multiplayer ;) (The GIMP is a MUST have paint program :lol: )

Oh yah, gotta find yourself a freeware modelers too: Anim8or! (or JTEdit)
Programmer of the Irrlicht Scene Editor:
Homepage - Forum Thread
Version 2 on its way!!
DarkWhoppy
Posts: 386
Joined: Thu Sep 25, 2003 12:43 pm
Contact:

Post by DarkWhoppy »

Anyone know of a network library that'll compile with Dev-C++?
Programmer of the Irrlicht Scene Editor:
Homepage - Forum Thread
Version 2 on its way!!
ZDeveloper
Posts: 35
Joined: Wed Mar 24, 2004 2:34 pm
Location: Germany
Contact:

Post by ZDeveloper »

HawkNL

You can compile it with DevCpp.

I tried it out and there were no error, but it can be that I made a mistake. Try it out.
Look at http://www.z-software.de for interesting games.
DarkWhoppy
Posts: 386
Joined: Thu Sep 25, 2003 12:43 pm
Contact:

Post by DarkWhoppy »

I've found that HawkNL is very useful :) I've connected two of my PC's on my LAN with it. Going to experiment further and see if I can get it to work with the engine.
Programmer of the Irrlicht Scene Editor:
Homepage - Forum Thread
Version 2 on its way!!
Post Reply