A simple library for tile-based 2d games in Silverlight 4 (it should work in 3 as well).
The source code incudes a sample game where you have two game areas and lots of monsters to hunt down.
The graphics in the game are based on the graphics from the first The Legend of Zelda, but with slight modifications.
The library is almost feature complete now and offers the following:
See here for my SilverTile developer diary.
- A game surface control where your game is rendered
- This gives you an easy way to display the game while having regular silverlight controls for the UI of the game
- Background tiles and moving sprites in the foreground
- Background sprites are static, but can be updated
- Foreground sprites are moveable and can be animated
- Uses XAML for game design
- You can define your game areas in XAML
- You can setup all sprites and animations in XAML
- Infrastructure like area transitions and spawn points for enemies are also defined in XAML
- Collision detection
- Two modes of collision detection are supported
- Either collides / does not collide (simple boolean check)
- Collision with direction (sprite 1 collides with sprite 2 at its left and bottom sides)
- Game infrastructure
- You setup a GameWorld object that knows about the entire game
- The GameWorld can contain an unlimited number of game areas and sprites
- The GameWorld allows you to reuse objects to easily maintain game state
- Pluggable architecture
- All SilverTile types are based on interfaces - this allows you to easily build your own implementations
- All types are overridable, no sealed classes
- While SilverTile does offer implementations you are free to replace any with your own
- Test-driven development
- SilverTile was developed using a test-driver development methodology
- More or less all features are tested and all tests work properly
*Also, if you have Silverlight 4 installed, you can
try out the sample application here
. I update the sample application every now and then, so it may not be entirely up-to-date.