Implementing Grandshot 2
The game engine is graphics, sound and UI independent, its up to you to implement the interfaces so it can actually do something

I have made OpenGl, GDI+ and XNA implementations, but the XNA doesn't work anymore because of the structural changes of the new xna version

Implementers may provide some kind of extra functionality such as HLSL postproccesing, recording the game , etc...

If you want to modify the game logic, levels, AI, weapons, etc..., you have to modify the Grandshot2 VB project

To create your own implementation you need to inherit:
The Drawer class, wich provides abstract methods for drawing text and primitives
The BasicSound class
The SoundCreator class for creating basicsound instances, manage global volume, or you can use the internal EmptySoundCreator for a game without sound
The IKeyboardConnection and the MouseConnection

Create an instance of a GameManager with the implemented classes

Then:
Call the GameManager.InformResize() method before the game start and on every screen resize

On the game loop:
Call Update() method

On the drawing method
Apply the scale and translate transform from the GameManager.Game.Cam.LastTransform field
Call Draw() on the drawing loop


An example of what XNA implementations can do:
fire v5 sc.bmp
rocket v5.png
fire v5.png