inteliBrain Game Framework (WIP)

Monkey Archive Forums/Monkey Projects/inteliBrain Game Framework (WIP)

Rixarn(Posted 2011) [#1]
Hi,

I'm building a game framework for the game I'm developing. It's still WIP and I have the intention to release it for free (MIT license, or BSD License)...

Currently it has 4 "modules" or blocks of functionality. Two of them are more tailored to my own project needs, but I think the other two can be of general interest. Anyway... I don't know if I should release as it is right now or wait until it's more polished... Here is a brief description of the modules:

State Machine Module
The state machine module allows the client to create custom state machines. It also provides a way of displaying something while the transition of states is in effect in order to smooth the transition itself. A state machine is the skeleton of the application and determines the structure of the whole system. Each part of the application is coded as a single state, and the state machine has the responsibility to handle it as a whole, giving transition services between states and so forth.

Resource Manager Module
The resource manager module provides means for loading resources without interfering with the flow of the program.
Its responsibility is to load resources and display an animation while all of this is happening.
Everything is managed automatically by the module, and the client application should only create custom animation classes to be used as loading screens while the module does the work.


ziggy(Posted 2011) [#2]
On the paper, sounds really nice!


Rixarn(Posted 2011) [#3]
Thanks Ziggy, I'm actually using Jungle IDE to code and document it. (Wouldn't be using Monkey at all if JungleIDE didn't exist :P)

It's not a big framework, and next to diddy it's just a kid he he... I'm halfway documentation, but as soon as I finish the documentation I'll post it here somewhere.

I'll leave some snippets to show how easy is to build an app:

'Core class of your app. The Skeleton of the App.


And here it is the sample code of one of the states of the code:


As you can see, states don't know each other because the context is in charge of doing the requested transitions and the petitions are done by using only the names of the states. I like to keep the coupling of classes as low as possible.