The WiMo Game Frameworks or WiMo-GF is an open source project that is intended to make it easier to write casual games for Mobile Devices using C# or Visual Basic .NET.
The initial release is targeted at building casual games for the Windows Mobile 5.0, 6.0, 6.1 and 6.5 platform. WiMo-GF is designed with extensibility and making games future proof. By developing your game against a set of abstract interfaces you will be able to easily compile your game with implementations of those interfaces for different hardware and devices with making no or minimal changes to your game. Work has begun to target the ZuneHD and support will be planned for Windows Mobile 7 as more information is available for that platform.
Although WiMo-GF was built for the novice to get up to speed quickly and easily, it supports many advanced features such as physics, collection detection, accelerometer input and planned support for on-line services such as high-score and cooperative game play. In addition if you need specialized functionality you can create a custom implementation of the interfaces to suite your needs.
Services Provided by WiMo-GF
The following services are provided by the frameworks and are roughly organized by interfaces defined in the core WiMo-GF project.
Device/Hardware Specific
DisplayManager – Provides services to draw sprites to the display. The initial implementation is DirectDraw for Windows Mobile. Support is planned for Direct3D.
InputManager – Provides a layer of abstraction between the game and the input devices. This includes hardware buttons, accelerometer and some on-screen soft buttons for devices with limited hardware interface.
AudioManager – Provides a layer of abstraction between loading and playing sounds and music for your game.
GameEngine – Implementation of the gaming loop and basic features for primitives such as Shapes, Text and Images. The GameEngine also provides low level services to extract and load resources such as a images and audio files.
Gaming Services
PhysicsManager – Provides services to apply forces to your gaming sprites
CollisionManager – Collision Detection Algorithms
MenuManager – Simple way to display on-screen Menus
To port games to different platforms or use custom services, game code stays the same, but Poor-Man’s Dependency Injection allows you to use the different services.
Read more about this open source framework at Codeplex here.