Google Code-In 2014
Task Preview
PySoy: World SteppingCopyleft Games Group

In order to (greatly) simplify connecting scenes was recently renamed to soy.scenes._world - a single world for all scenes. Since bodies in a world only interact when connected by joints this allows the same current API to be implemented with much simpler internals. However, there are a few cases that need to be tackled.

For this task, handle the case of _world.QuickStep() in the Scene.step method. When every Scene had its own world this is where the physics simulation would be called. Now that we have a single global ode.World this needs to be called once per step, after collision has been processed on all scenes, and before clearing contact points and other cleanup on every scene. This will require some refactoring of the way we step scenes and run the _PhysicsThread.

While working on this task you should join and remain in #CopyleftGames on Freenode to get help, feedback, and guidance from mentors and other developers. Code updates which may affect your work are also announced here as they happen. This is especially important for this task as other GCI tasks may be worked on to modify the same function.

When you've done, commit your work and post the resulting changeset url to this task.