CobbleStones Game Engine
Posted: Sun May 04, 2014 9:19 pm
CobbleStones Game Engine is the culmination of many years worth of self study.
I will continue updating the projects, but it is in good enough shape that I can give something back to the community.
unfortunately, I am not very familiar with setting up a git project, but it seems to have uploaded successfully
https://github.com/SevenGameMaker/CobbleStones
basic structure :
CSApplication class provides the primary hook into a game/
CSEngine creates, maintains and destroys all irrlicht structures
CSLevel creates and maintains game logic
CSObjectFactory maintains a list of available objects, creates, maintains and destroys all game objects
CSClassManager searches for and maintains a list of available object classes
CSMessageManager allows passing of messages between systems and game objects
CSPhysX uses the PhysX3.## physics system and is easily combined with CSObjects
includes generic shapes, terrain, tree chunks and character support
CSLevelManager manages CSLevels and provides menu support
CSObject is the base object class
objects are stored in DLL files and loaded by name
objects communicate with each other through messages
objects expose editable variables for the CSO_Editor object to use
CSObject* obj = getObjectFactory()->createObjectByType("CSO_Monster");
if (obj)
{
obj->setScale(vector3df(2,2,2));
setVariable("ActorFileName","dwarf.x"); // this will load the filename and rebuild the scenenode
setVariable("LookAt",vector3dfToStringc(vector3df(100,0,0)); // this will call the lookAt(vector3df pos) function
}
CSObjects are fully serialized and are saved / loaded through the level interface
CSO_Editor is a game object
it allows for real time editing of all game objects and is an example of the flexibility of the object system
-------------------------------------------------------------------------------------------------------------------------------------------------
future involvement :
continue creation of examples
example 1 - basic creation of an application
example 2 - load external file
example 3 - use of light and fog
.....
example 10 - full blown adventure game
I will continue updating the projects, but it is in good enough shape that I can give something back to the community.
unfortunately, I am not very familiar with setting up a git project, but it seems to have uploaded successfully
https://github.com/SevenGameMaker/CobbleStones
basic structure :
CSApplication class provides the primary hook into a game/
CSEngine creates, maintains and destroys all irrlicht structures
CSLevel creates and maintains game logic
CSObjectFactory maintains a list of available objects, creates, maintains and destroys all game objects
CSClassManager searches for and maintains a list of available object classes
CSMessageManager allows passing of messages between systems and game objects
CSPhysX uses the PhysX3.## physics system and is easily combined with CSObjects
includes generic shapes, terrain, tree chunks and character support
CSLevelManager manages CSLevels and provides menu support
CSObject is the base object class
objects are stored in DLL files and loaded by name
objects communicate with each other through messages
objects expose editable variables for the CSO_Editor object to use
CSObject* obj = getObjectFactory()->createObjectByType("CSO_Monster");
if (obj)
{
obj->setScale(vector3df(2,2,2));
setVariable("ActorFileName","dwarf.x"); // this will load the filename and rebuild the scenenode
setVariable("LookAt",vector3dfToStringc(vector3df(100,0,0)); // this will call the lookAt(vector3df pos) function
}
CSObjects are fully serialized and are saved / loaded through the level interface
CSO_Editor is a game object
it allows for real time editing of all game objects and is an example of the flexibility of the object system
-------------------------------------------------------------------------------------------------------------------------------------------------
future involvement :
continue creation of examples
example 1 - basic creation of an application
example 2 - load external file
example 3 - use of light and fog
.....
example 10 - full blown adventure game