Game Development Community

Multiplayer MarbleBlast

by Chris Labombard · in Torque Game Engine · 04/13/2005 (8:16 am) · 11 replies

In the General Torque Documentation there is a case study for marbleblast. In the case study it says this:

"Accounting for precise marble physics over a network began to look much more challenging than we originally expected"

Why is it so challenging? You extend ShapeBase to make your marble class, then you write your physics and get things working properly. Then I am guessing you write the writePacketData(...) and readPacketData(...) methods.... So is the problem that there was too much imformation to pack and send or that the information was too complex to pack and send?

I am just trying to get an idea of what made the multiplayer version of marbleblast a non-realistic goal.... Am I missing something in the steps to creating a multiplayer marble?

About the author

I have been a professional game programmer for over 5 years now. I've worked on virtually every platform, dozens of games and released a few of my own games, including 2 iPhone titles and a title waiting release on Big Fish Games.


#1
04/13/2005 (8:28 am)
I think the main problem was having accurate phyisics on the moveable diffs was an issue, plus it wouldn't add to the game experiance.
#2
04/13/2005 (8:37 am)
They managed to get accurate physics for dif's.... The article states that the really wanted multiplayer and debated whether the project could actually stand on its own as a singleplayer game.

They stated the problem was the difficulty of precise physics OVER A NETWORK... so why is it difficult to do it over a network, if you already have the physics working beautifully without a network?
#3
04/13/2005 (8:43 am)
To recap:

"Since multiplayer capability was a big part of our initial design, we also evaluated the technology we'd need there. Of course, Torque has outstanding networking support, so the core technology wasn't a concern. To create a fun multiplayer experience tailored to the Marble Blast gameplay though, we knew we'd need to define custom networking behavior that could account for the complex marble physics. This seemed reasonable enough, and to be sure, we could've included multiplayer in Marble Blast. You'll soon see why we decided to cut it though. "

then it goes on to say:

"With the marble physics system prototyped, we started to realize how complex it might be to support in a multiplayer setting. Accounting for precise marble physics over a network began to look much more challenging than we originally expected. "
#4
04/13/2005 (2:47 pm)
Chill out, dude. :)

The issue is dealing with collisions between unpredictably moving objects in a very tactile game like MarbleBlast, where it's IMMEDIATELY obvious if the physics aren't completely right, AND the physics aren't forgiving as in the case of the Player from TGE.

Basically, it's really hard to deal with situations where you have, say, two marbles running into one another.

So, rather than extend the development cycle for a feature that wouldn't have turned out very well, it was decided to trim it down and focus on the basics.
#5
04/13/2005 (5:20 pm)
Chill out? I apologize, I didn't think I was being frantic... I am trying to learn as much as possible about the engine, and I forget that people can't respond as fast as documentation.... he he

Anyways, so the problem is that the physics had to be pretty much dead accurate? It would have been more effort then outcome to impliment somethign like a dead reckoning algorithm, either due to the cpu demands or the inability to send data fast enough to keep up with the reckoning simulations?
#6
04/13/2005 (5:27 pm)
Network Latency is what killed the multiplayer.

If you had a powerfull enough system you could play with two players on the the same system multiplayer. If you had a fast enough LAN you might be able to play Multiplayer... but the time difference between two clients across the internet.... It's just too great a time difference for accurate simulation / prediction
#7
04/13/2005 (6:31 pm)
Quote:so why is it difficult to do it over a network, if you already have the physics working beautifully without a network?

because the amount of data to be sent over the network to make the physics the same on all machines isnt transferrred fast enough to make it work "beautifully". Nothings worse than a laggy multiplayer game. Totally kills the experience.
#8
04/14/2005 (3:35 am)
Ok. That clarifies where the difficulty is. Thanks for your help everyone
#9
04/16/2005 (9:53 pm)
However, in retrospect, I think it wouldn't be that hard to do good multiplayer physics on the marble..

hmmm...
#10
04/16/2005 (10:05 pm)
LoL.... Has your time with TNL given you a fresh perspective?
#11
04/17/2005 (2:42 pm)
I never thought it would be that difficult to do.. not saying it would be easy.