Live data from Hacker News

The TRIBES Engine Networking Model (2009) [pdf]

gamedevs.org

21–30 of 70 posts

Re: The TRIBES Engine Networking Model (2009) [pdf]

#21
post #12

Earlier quoted context omitted.

PlanetSide and PlanetSide 2. While hard to get into, when platoon level operations are at their best it's something I've yet to experience in another game. I expect Eve would be the other example, but with time dilation and combat mechanics, the game is more strategic than tactical in my understanding.

PS2 still going strong? I thought they were combining server populations to help increase the size of each remaining server.

It just recently had a major update so people can build their own bases and stuff now.

Re: The TRIBES Engine Networking Model (2009) [pdf]

#23
post #22

For anyone interested in game networking the Quake 3 Network model was covered by Fabien Sanglard in this great blog post: http://fabiensanglard.net/quake3/network.php

And Glenn Fieldler has an excellent series of articles on his blog:

http://gafferongames.com/networking-for-game-programmers/

http://gafferongames.com/building-a-game-network-protocol/

http://gafferongames.com/networked-physics/introduction-to-n...

Re: The TRIBES Engine Networking Model (2009) [pdf]

#24

Random but related: does anyone know of a good library (in C#, Javascript, or really anything higher-level than C preferably) that implements this? By "this" I mean a UDP-based system capable of sending both "it's stale when it's sent" data that can be dropped if it's lost and "this must be delivered" messages that will be re-sent if not delivered? I would need it for a Unity project, so if it's Unity-ready already t…

http://enet.bespin.org/ is C. But, it implements reliable|unreliable packet-based messages over UDP. You can have multiple "channels" active in a single connection. Each channel can independently pick a mode. Packet retries in a reliable channel do not delay packets in another channel.

Re: The TRIBES Engine Networking Model (2009) [pdf]

#25

Random but related: does anyone know of a good library (in C#, Javascript, or really anything higher-level than C preferably) that implements this? By "this" I mean a UDP-based system capable of sending both "it's stale when it's sent" data that can be dropped if it's lost and "this must be delivered" messages that will be re-sent if not delivered? I would need it for a Unity project, so if it's Unity-ready already t…

http://enet.bespin.org/ is C. But, it implements reliable|unreliable packet-based messages over UDP. You can have multiple "channels" active in a single connection. Each channel can independently pick a mode. Packet retries in a reliable channel do not delay packets in another channel.

Cool, that looks perfect. Thanks!

Re: The TRIBES Engine Networking Model (2009) [pdf]

#28

Random but related: does anyone know of a good library (in C#, Javascript, or really anything higher-level than C preferably) that implements this? By "this" I mean a UDP-based system capable of sending both "it's stale when it's sent" data that can be dropped if it's lost and "this must be delivered" messages that will be re-sent if not delivered? I would need it for a Unity project, so if it's Unity-ready already t…

WebRTC Data Channels http://www.html5rocks.com/en/tutorials/webrtc/datachannels/ let you freely mix reliable and unreliable data. I donno if there's any bindings from the webrtc library to unity yet.

EDIT: https://www.assetstore.unity3d.com/en/#!/content/47846

Re: The TRIBES Engine Networking Model (2009) [pdf]

#29
post #22

For anyone interested in game networking the Quake 3 Network model was covered by Fabien Sanglard in this great blog post: http://fabiensanglard.net/quake3/network.php

Adding on to the emerging link-dump, here's some interesting stuff for the Source engine (TF2, CS:GO, etc.) which goes into their latency-compensation mechanics:

https://developer.valvesoftware.com/wiki/Source_Multiplayer_...

https://developer.valvesoftware.com/wiki/Latency_Compensatin...

Re: The TRIBES Engine Networking Model (2009) [pdf]

#30
Oh man this brings me back (and I'm probably not old enough to be allowed to say that)! My first real start with game development, and well serious coding, was using the Torque Game Engine, which is the Tribes II engine. I saved up my money to buy a license for Torque 1.5 (it was $150 I believe and I was in high school), because at the time it was the only game engine which 1) Had source code access, 2) Wasn't insanely expensive for a hobbyist, 3) Was fully functional by itself.

The engine overall was pretty amazing, of course it had it's warts. I still remember the networking code pretty well. I played with the physics part of the engine quite a lot and rewrote and modded it a few times. I usually wanted networking in my experiments, so I learned a lot about that part of the engine as well. I don't play with gamedev anymore, and probably wouldn't use Torque if I did, but I really miss it and the community it had. I still check in on it once a year or so, and there was a blog post recently thanking many community members from the past, and my old username was on the list :') I'm looking through my old forum posts now, wow was I annoying for a few years!

For anyone who wants to look, the latest version of the engine is now MIT licensed [0]. It's been through 2 major versions, and seems like they've simplified the inheritance, so I'm not sure how much is still intact, but netObject looks a lot like I remember. I would recommend redding the comments in the header file for a good overview of how it works. [1]

[0] https://github.com/GarageGames/Torque3D

[1] https://github.com/GarageGames/Torque3D/blob/bacf0cde2af17ab...

Post reply on HN