MMORPG Using Farseer

Topics: Developer Forum, User Forum
Dec 24, 2008 at 10:23 PM
Hello all.

I'm working on an MMORPG game that is using Farseer for the physics engine and wanted to invite everyone to take a look at it at http://smote.com.  Thank you for making such a great system.  It's really allowed me to move quickly on the project.

In the game the server is running the physics engine update only 10 times a second, so it's really sloppy right now.  I'm sure moving the update rate up would fix this but that would really chew up the CPU and I'm hoping to have a pretty extensive collection of objects to process, being an MMO and all.

I've played with the demos and have been able to repro the sloppy detection.  Just set TargetElapsedTime = new TimeSpan(0, 0, 0, 0, 100); in the constructor of FarseerPhysicsGame object and the block pyramid demo will collapse into a heap by itself.  Is this a bug and can someone confirm to me that the upcoming CCD feature will fix this?

This is my second usage of Farseer.  I used it to enter a game in a day competition for http://sparkarts.org last year (it won by the way).  The game in a day entry was called Astroman: Andromeda and consisted of a asteroids style space ship where you'd shot ships and then get them to stick to you.  There was no scoring and the level would "end" and restart when they physics engine crashed with some NaN exception.  That was awesome.  I can put together a build of it if anyone's interested in taking a look at that one.

Thanks again.

Bryan
Coordinator
Dec 25, 2008 at 11:26 AM
Edited Dec 25, 2008 at 11:36 AM
That timestep would cause the engine to run at 10 FPS and that could cause unstable behavior. To increase smoothness you should increase timestep, but to improve on the stacking, you could increase the iterations.

It's an balancing act between the timestep and iterations. Try tweaking both to find a stable behavior.

As for your other game, we have had some NaN exceptions that are now fixed in 2.0. I would like to see what Farseer Physics is being used for, so I'm interested in the build.

Edit: As for Smote, I created an account but when connecting using the client, I got an exception from the MySQL datalayer of your client. You need to open the connection before use inside DBConnection.cs on line 120.
Jan 6, 2009 at 9:49 PM
Here's a copy of that game in a day contest result: http://smote.com/Astroman Andromeda with Source - Lone Coder.zip
I couldn't get it to run, it probably depends on some old version of xna.  You should be able to get it to run if you build from source or get the required version of xna, which should be listed in the readme for it.

The smote server is back up at the moment, but not sure how long that will last.  I've fixed the database problems but server stability is still taking a back seat to getting the game functional.  I've also updated the client, so you'll need to click on the client link on the http://smote.com to get it to update.

Bryan