Users can create their own objects in C# or VB.NET by inheriting the GameObject class from WindowsZoneAPI.dll and placing DLL files in the objects folder or a subfolder.Supports three control modes: Keyboard, Controller and Random.Most objects' animations (and the player's physics) are made easily editable by using an INI file, and an editor is available for easier creation.If a window is marked as movable, Sonic will be able to push it across the screen.Objects will treat open windows as solid.Sonic's physics are very close to the original games, thanks to the Sonic Physics Guide.The game allows the character to be controlled using the keyboard, a joypad or by randomly pressing buttons by itself. Each character and object has their own file which can be edited to change the physics or the look of the character. The user can also change Sonic to a different character (or even an enemy!) and play with it as well using the controls specified for that character. Sonic interacts with each object like he would in the games. The user can do many things, including adding objects like lampposts, Rings and enemies to the desktop. He controls like he normally does in the Mega Drive games. Sonic can interact with the various windows opened at the time, and can even push some around.