Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Real-time game networking libraries for games in Java and Objective-C

I'm looking to build real-time games built using a dedicated Java server and iphone clients as well as Java desktop clients. What available high-performance network transport libraries that could be used for real-time multiplayer game development, exist for Java and iphone (specifically reliable UDP)?

The general advice for most real-time action based games (Counter-Strike, Left4Dead, Quake III) is to use UDP/IP transport protocol sending messages as "unreliable" packets in favor of the "guaranteed" delivery of TCP (because of issues with resend and latency issues you can't easily control).

  • Half-Life Source Engine Networking Overview
  • Quake III Networking The other advice is to build a reliable UDP protocol that lets you "optionally" gurantee delivery of UDP packets (while still not being able to guarantee delivery order such as a TCP stream, as long as your game can handle out of order packets).

Project Darkstar is a Java MMO server with C++ bindings (a little to heavy for a light-weight real-time networking library for generic multiplayer games).

I've seen libraries written in C for reliable UDP: - Enet - reliable UDP library - Cocoa AsyncSocket

like image 826
Dougnukem Avatar asked Oct 27 '09 23:10

Dougnukem


1 Answers

Have a look at Kryo and its associated communication library KryoNet.

It's designed for exactly this kind of application (high performance network transport). I'm not sure if there is an Objective-C binding yet but even if there isn't it is well worth a look just to see how well the framework is designed.

like image 137
mikera Avatar answered Oct 17 '22 03:10

mikera