CogEngine stands for C++ component-oriented game engine. It can be used as a tool for creating 2D windows or mobile games. It is implemented as an OpenFrameworks addon.
Budget: over 600 working hours
- Windows
- Linux
- Android
- Scene graph
- ECS pattern (messaging, generic attributes, flags, behaviors, components)
- Animations
- Finite state machines
- Goal-driven behavior components
- Steering behaviors
- Monte-Carlo tree search
- A* Path-finding
- SQLite database
- Custom networking protocol for multiplayer
- XML and JSON parsers for certain components
- Lua scripting language
- Hydroq
- Arkanoid clone
- included in the Example folder
- Paratrooper clone
- included in the Example folder
- Tutorial - getting started
- Architecture - brief description of the architecture
- The whole game is made of components
Component
is an entity that defines functional behavior for the whole application or its part (is not attached to any game object)Behavior
is a component that is attached to a game object, defining its functionalityNode
is a part of scene graph, represents a single entity (usually a game object)Attribute
is a generic attribute, kept in a collection the Node has a reference to- The overall behavior of a particular game object is determined by the aggregation of its behaviors and attributes
Scene
Objects
Component architecture
Works with OpenFrameworks 0.9.8
- ofxCogEngine is made available under the MIT license.
- ofxCogEngine bundles catch framework, lua scripting language, luabridge binder, sqlite and following OpenFrameworks addons: ofxNetwork, ofxSQLite, ofxTextLabel, ofxXmlSettings