Original Post
Hello,
I'm currently thinking about how to correctly design the GamePlay layer of my engine.
Here are the several class that compose it (only in my head by now !):
[size=2]- GameParameter
[size=2]A kind of Variant data used to store generic data like:
[size=2] -float, int vec2, vec3, bool
[size=2]- GameService
[size=2]A typical component used to control the various capability of a given GameObject like:
[size=2] - Renderable, GUI, Input ( and at the moment,that's all because i can't figured out other component type ... )
[size=2]- GameEvent
[size=2]An even like onMouseClicked() onUpdate() ...
[size=2]- GameObjectPrototype
[size=2]A definition of a game object containing :
[size=2] - a list of GameComponent
[size=2] - a list of GameParameter with default value
[size=2] - an instanciate method
[size=2]It also contain a script file (lua in my case) which is used to implement custom behavior of the object by responding to the various GameEvents, querying the GameServices and manipulating GameParameters
[size=2]- GameObject
[size=2]They are instance of a given GameObectPrototype including all the predefined GameComponent and GameParameter.
[size=2]- GameContext
[size=2]Contain a map of all the GameObjects
I'm pretty happy with this first draft, but i'm pretty sure i'll have to do a lot of adjustment in order to make it really usable.
Beside that, i have some questions concerning two main points:
First GameServices:
Like i said before, i actually cannot figured out any other interseting services.
I have looked at Unity game component which is really (great... and ) "fine grained":
For exemple there is Transformable Component, and a Renderable Component.
In my case i can't split component this way, because my Renderable Component will give the GameObject the ability to acces a whole Render Node including transformation informations.
So what's your opinion concerning the integration of a GameObject component system within a "Node based" render engine
Second GameEvent:
Does the type of GameEvent a given object is receiving depend upon the kind of components attached to this object ?
Once again, any opinion, or discussion are welcome !
Hope this will inspire you !!
Clément Vidal
I'm currently thinking about how to correctly design the GamePlay layer of my engine.
Here are the several class that compose it (only in my head by now !):
[size=2]- GameParameter
[size=2]A kind of Variant data used to store generic data like:
[size=2] -float, int vec2, vec3, bool
[size=2]- GameService
[size=2]A typical component used to control the various capability of a given GameObject like:
[size=2] - Renderable, GUI, Input ( and at the moment,that's all because i can't figured out other component type ... )
[size=2]- GameEvent
[size=2]An even like onMouseClicked() onUpdate() ...
[size=2]- GameObjectPrototype
[size=2]A definition of a game object containing :
[size=2] - a list of GameComponent
[size=2] - a list of GameParameter with default value
[size=2] - an instanciate method
[size=2]It also contain a script file (lua in my case) which is used to implement custom behavior of the object by responding to the various GameEvents, querying the GameServices and manipulating GameParameters
[size=2]- GameObject
[size=2]They are instance of a given GameObectPrototype including all the predefined GameComponent and GameParameter.
[size=2]- GameContext
[size=2]Contain a map of all the GameObjects
I'm pretty happy with this first draft, but i'm pretty sure i'll have to do a lot of adjustment in order to make it really usable.
Beside that, i have some questions concerning two main points:
First GameServices:
Like i said before, i actually cannot figured out any other interseting services.
I have looked at Unity game component which is really (great... and ) "fine grained":
For exemple there is Transformable Component, and a Renderable Component.
In my case i can't split component this way, because my Renderable Component will give the GameObject the ability to acces a whole Render Node including transformation informations.
So what's your opinion concerning the integration of a GameObject component system within a "Node based" render engine
Second GameEvent:
Does the type of GameEvent a given object is receiving depend upon the kind of components attached to this object ?
Once again, any opinion, or discussion are welcome !
Hope this will inspire you !!
Clément Vidal