WSoft Bomberman 
2-28-02

Ok this update is a lot more functional. You have a map loaded, a player walking around (use arrow keys), and collision detection. Almost everything is there to start adding new objects and shapping the game: most of the low level work is done.

If you want to start playing around and adding things to the game, please check out the following files:

CGame.h/CGame.cpp: 
Should be very straight forward. You see in the Init function the map and player objects being created. Note how the ObjectManager is used. This is how all objects should be created (not by manually calling their constructor). When using the object manager, objects automaticcally get drawn and updated every frame. They also get checked for collision against every other object. Collision is done with a bounding box rectangle that each object must set itself, but everything else is taken care of.

CPlayerObject.h/CPlayerObject.cpp/CBlockObject.h/CBlockObject.cpp:
These are example object files. By looking at these you should be able to make your own objects. CPlayer shows how to use the animation system (though some explanation may still be needed) and CBlockObject are the blocks that get blown away. Very simple static object (no animation). Important functions to look at are the Collision method (called when collision is detected) and the Init/Draw functions.

CGameObject.h/CGameObject.cpp:
If you want to see how the base class works (and what all other objects inherit). You shouldnt change anything (possibly adding something if you think its applicable to every object) - be very careful about this. Changing how this class works effects all objets in the game. Important thing to note is the enum at the top of CGameObject.h. Each Object type MUST be define here. So if you create a new object - add it here!

CObjectManager.h/CObjectManager.cpp:
Ii you add a new object, be sure to check the CreateObject method and add your object type. Its incredibly straightforward and easy to do. So do it!







WSoft Bomberman "Base Build"
2-25-02

This build loads and draws a map on the screen. Nothing impressive but it has most of the base classes here.

To compile be sure you have the MS DirectX SDK 8.1 installed and properly configured. Download it here: http://msdn.microsoft.com/downloads/default.asp

I'd suggest looking at loops.cpp and then CGame.h and CGame.cpp. Then possibly looking at CMap.h and CMap.cpp and then the CTile class. You dont need to concern yourself with how everything works behind the scenes such as CGraphicSystem and CDInputManager, etc.

Map loading: Right now it loads a map "map1" under the maps directory. The map file format is readable with a text editor (notepad). The current format is something I whipped out very fast and not final. IT should be pretty apparent (look at map1.tile for what I mean).

I'd like to put together a whole tutorial or explanation but dont really have time right now. Take a look at the source, play around with it, etc. 

This working on Object: Take a look at the Map class and the CObjectManager class. Im going to get a player object walking around and from there you should be able to take it.

Dave
dratti@umich.edu