by date
Online multiplayer on the brain
Online multiplayer on the brain
| Name: | Andrew Douglas | ![]() |
|---|---|---|
| Date Posted: | Jan 20, 2007 | |
| Rating: | Not Rated | |
| Public: | YES | |
| Comments: | YES | |
| RSS Feed: | or Subscribe with . | |
| Profile Page: | View profile page for Andrew Douglas |
Blog post
So I just posted up a HUGE write up (and it's only the first in a series) on what Jabber is and why you should be using it in your online multiplayer games. If you have a few minutes you should definitely, definitely check it out. I didn't cross post it here because it's not really GG specific, though some of the source code that I'll be putting out may come in handy for some of you Torque X'ers.
The reason why I wanted to post here was because I really wanted to find out what you all thought about what was really needed to break down the online multiplayer game barriers that apparently so many indie games have.
See, my impression was that it was just the casual arena that was having problems with online games, but a quick check on Manifesto games proved that online multiplayer is still a sorely under-represented market in the indie game space. I think it's my "Garage Games" bias that multiplayer should be baked in every game, even if I've run into issues with the way Garage Games has dealt with the whole "NAT traversal" issue. It's really surprising how difficult it is for indie's to actually deliver a successful online multiplayer game.
Some of my thoughts - but please, I'd love to get feedback from you on why online isn't bigger in the indie game development scene.
1. No "universal" networking layer. Between NAT's and the lack of adoption of IPv6, the dichotomy of the UDP and TCP stacks and the plethora of poorly implemented or poorly documented networking libraries out there, it's really a mess. Things like Windows Communication Foundation (aka Indigo) is a really neat concept to try to abstract the networking layer, but it's essentially a proprietary system, which has it's own limitations and issues. Network layers should be better than this in 2007!
2. No easy to use/open "toolkits" for higher level online game features such as leader boards and friends management. I guess what I want is an open alternative to xbox live. Bits and pieces of it may exist, but show me one good indie game with online friend management. That should be proof that we need to do better. Live Anywhere may be designed to incorporate "casual" games on windows, but it certainly isn't designed for indie's. Argh!
3. We don't use the tools we have. Jabber has been around since, what, 1999 - where are the games built on Jabber? It's as close to a universal networking layer as you can get (especially if you sprinkle in Jingle) and it provides a great framework for building higher level online game features in a "federated" way so that your one online identity could be used across games for a true xbox live competitor. So why isn't anyone talking about it, using it or at least using some equivalent that I don't know about. Why are we stuck with making online multiplayer games the way we did back in the late 90's?
Maybe I'm just frustrated and feeling a little worn out by "blazing a trail", but what issues do you see that are preventing indie's from making great online games? How can we solve these problems? Show me some successes too, if you've got them, so I don't feel quite so alone in tackling these problems. Thanks!
(oh yeah, I promised a screenshot of the UI for My Bogle's "Friends Play Free" interface, but I've been busy building out our server architecture... which has really come a long way. I'm hoping to get back to the UI battlefield this weekend).
-Andrew Douglas
theoreticalgames.com
The reason why I wanted to post here was because I really wanted to find out what you all thought about what was really needed to break down the online multiplayer game barriers that apparently so many indie games have.
See, my impression was that it was just the casual arena that was having problems with online games, but a quick check on Manifesto games proved that online multiplayer is still a sorely under-represented market in the indie game space. I think it's my "Garage Games" bias that multiplayer should be baked in every game, even if I've run into issues with the way Garage Games has dealt with the whole "NAT traversal" issue. It's really surprising how difficult it is for indie's to actually deliver a successful online multiplayer game.
Some of my thoughts - but please, I'd love to get feedback from you on why online isn't bigger in the indie game development scene.
1. No "universal" networking layer. Between NAT's and the lack of adoption of IPv6, the dichotomy of the UDP and TCP stacks and the plethora of poorly implemented or poorly documented networking libraries out there, it's really a mess. Things like Windows Communication Foundation (aka Indigo) is a really neat concept to try to abstract the networking layer, but it's essentially a proprietary system, which has it's own limitations and issues. Network layers should be better than this in 2007!
2. No easy to use/open "toolkits" for higher level online game features such as leader boards and friends management. I guess what I want is an open alternative to xbox live. Bits and pieces of it may exist, but show me one good indie game with online friend management. That should be proof that we need to do better. Live Anywhere may be designed to incorporate "casual" games on windows, but it certainly isn't designed for indie's. Argh!
3. We don't use the tools we have. Jabber has been around since, what, 1999 - where are the games built on Jabber? It's as close to a universal networking layer as you can get (especially if you sprinkle in Jingle) and it provides a great framework for building higher level online game features in a "federated" way so that your one online identity could be used across games for a true xbox live competitor. So why isn't anyone talking about it, using it or at least using some equivalent that I don't know about. Why are we stuck with making online multiplayer games the way we did back in the late 90's?
Maybe I'm just frustrated and feeling a little worn out by "blazing a trail", but what issues do you see that are preventing indie's from making great online games? How can we solve these problems? Show me some successes too, if you've got them, so I don't feel quite so alone in tackling these problems. Thanks!
(oh yeah, I promised a screenshot of the UI for My Bogle's "Friends Play Free" interface, but I've been busy building out our server architecture... which has really come a long way. I'm hoping to get back to the UI battlefield this weekend).
-Andrew Douglas
theoreticalgames.com
Recent Blog Posts
| List: | 03/03/07 - Cooperative Control: Hello Whirled! 01/27/07 - Torque X - Break through/Break down 01/20/07 - Online multiplayer on the brain 01/06/07 - My Bogle moving to Torque X 09/06/06 - Alpha and Dragon*Con 08/14/06 - My Bogle Sculpture 07/24/06 - My Bōgle: Rules Rules Rules 07/21/06 - Funniest Game Ever? |
|---|
Submit your own resources!| Jason Reid (Jan 20, 2007 at 16:01 GMT) |
| Graydon Metcalfe (Jan 20, 2007 at 23:05 GMT) |
| Jason Reid (Jan 20, 2007 at 23:34 GMT) |
But the players themselves...how they expect their online identity, leaderboards, friends, "achievements", etc. to work, look, and feel...that's the stuff I'm less knowledgable about :)
| Andrew Douglas (Jan 21, 2007 at 00:48 GMT) |
I do want to lower the barrier for online play for players too, but that's a whole separate topic and one I've ranted about at length in various places...
@Graydon: so for torque based games, obviously that's using the tools included in torque... the thing is that those tools are almost entirely focused on building "dedicated server" solutions. Dedicated servers definitely have their advantages but their disadvantages (such as leaving community features, friends management and such completely up to the developer as well as not really addressing the NAT traversal issue for true p2p gaming) means that the path of least resistance for developers is to release a less than stellar online experience for your "average player" (ie, more casual or one used to a console experience). I would think that it would really be up to Garage Games then (or at least the GG community) to deliver the tools necessary to make those great online experiences possible for indies.
Not everyone has the torque networking code at their disposal though... and while I realize this is probably the wrong forum for discussing non-torque related networking libraries and such, I was kinda hoping someone who has struggled with the limitations of torque for building online games for the average player and felt like they had solved those problems would speak up with how they did it. :) My understanding is that certain games (like Zap! I believe) end up pulling in some of the nat traversal logic in from TNL but that still doesn't make creating community features in torque any easier.
I'm not trying to rag on Garage Games or Torque - I'm a huge fan. I certainly don't expect them to have the answers to every problem either. But as indie developers, what do we need to do in order to lower the bar for developers to make great online indie games possible for everyone?
| Jason Reid (Jan 21, 2007 at 01:20 GMT) |
Of course, it's best when both of these things are designed together, from the beginning. However, the "in-game" experience is where Torque (and many other game engines) already really shine...they've done the heaving lifting in terms of tight, high-performance network programming where speed and data integrity are both of utmost importance, while perhaps sacrificing "easy extensibility" for anybody but advanced network programmers. It's a solved problem already in many engines, and even though many of them go the dedicated server route, I think it would be quite an undertaking to try and come up with a "universal solution".
The community experience, on the other hand, could conceivably be done up so that it's possible for many games to "plug into it", regardless of how they implement their online play. Things like the concept of presence, friends, leaderboards, achievements, etc _could_ be done in a way that optimizes for things like feature set and ease of integration...the things that developers crave...while not having to worry as much about network performance. Well, as much.
The trickiest issue I can see would be security. MS has a big advantage going in, in that the XBox is a closed platform...I'm sure it's "possible" to hack it and tell XBL that you've gotten a hojillion points in Ms. Pac-Man, but I'm sure it would be much easier to do so to a PC game's leaderboards.
| Andrew Douglas (Jan 21, 2007 at 02:47 GMT) |
I don't think a universal Library is out of the realm of possibility - an entirely new universal networking paradigm is probably asking tooo much even for me :)
Security is a solvable problem I think - xbox live does use it's closed nature to it's advantage but a lot of problems could be solved with things like x.509 certificates and such. Hacks are inevitable though.
I appreciate the feedback!
-Andrew
| Graydon Metcalfe (Jan 21, 2007 at 04:49 GMT) |
| Andrew Douglas (Jan 21, 2007 at 14:12 GMT) |
-Andrew
| Graydon Metcalfe (Jan 21, 2007 at 22:20 GMT) |
| Andrew Douglas (Jan 21, 2007 at 23:03 GMT) |
-Andrew
You must be a member and be logged in to either append comments or rate this resource.



Not Rated


