Implementing Grandshot 2The 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
MouseConnectionCreate 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 methodApply 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:


