As a software developer, I'm more so infatuated with the concepts of networking, communications, multi-player features than any other game development subsystem. S3GP is serious about supporting
One World, Multiple Interfaces. My strategy is to implement the Server/Client functionality of many popular protocols of the
Internet Protocol Suite into S3GP. My intent was to use DarkNetworking to support all of the desired protocols, however, I've opted to use specialized 3rd party open source libraries for greater a feature-set and ultimately to simplify my programming life.
S3GP implements many well defined, mature, and popular internet protocols
(click on Protocol to see the Wikipedia definition):
HLA/
RTI - S3GP utilizes HLA RTI to merge multiple game world simulations into one in cyberspace, sharing both players and resources in real-time. I'm currently seeking a mature Open source Library to support HLA/RTI.
HTTP - HTTP is the foundation of data communication for for World Wide Web and it only makes sense that S3GP provides a robust HTTP Server/Client to interface to it. HTTP(S) is also the preferred method of
static data file transfer. I've implemented
cURL for HTTP Client and looking hard at
Snorkel as an embedded HTTP Server solution.
Internet Relay Chat (IRC) &
XMPP - S3GP supports uses both protocols to integrate real-time group-based chat and instant messaging into one cohesive service. S3GP provides internal bridge of communication that's hard-coded between the two protocols to allow seamless Instant messaging/Group chat communications. Additionally, S3GP provides these services along with a multiple text-based game engines and scripting console in its Shell.
SMS Messaging
SMTP &
POP - Email services. Client side support is by provided by
cURL.
SNMP - S3GP utilizes this protocol for alarm generation and logging.
SIP - S3GP utilizes this protocol to setup/tear-down between Server/Client.
RTP/
RTCP/
RSTP - S3GP utilizes these protocols to define a standardized packet format for delivering real-time Game State such as player input, player positional data, scene-graph data in addition to traditional Audio/Video Media.