How HIVE works

(agoose77) #1

Hey there everbody!
I’ve been really interested in seeing how HIVE works, and the first time I saw the source code and amass of folders, needless to say I ran. However, in hindsight (and after a lot of talk with Sjoerd) I saw that it wasn’t that bad.

It is important that when we look at HIVE, we drop our existing definitions of node systems right down to the definition of a node. When you see talk of HIVE, you may see a lot of talk about Bees, Hives, Workers (the list can appear endless!) But, it is actually well ordered, and functional. In fact, it is best to think of every element in HIVE relative to a real world Bee hive.

For example, a HIVE is the structure within which the majority of the Bee’s world resides, and a Bee is a member of the hive who is used to perform nearly all functions.

Anyway, In the hope that the proficient coders amongst us will be ready to leap on the new oppertunities offered by HIVE, I have started an FAQ / Introductory WIKI to HIVE. I’ve written this in order to bridge the gap between HIVE’s manual and existing coding standards, as some terminology and overviews are lacking for the less experienced to his system.

Here is the Google Docs page, and expect it to be updated every week.

(Sjoerd) #2

Agoose hit the nail right on the head: the great flaw in the hive system is my lack of “easy documentation” skills. I am very happy to have him on board!

(moerdn) #3

Thanks Agoose, this kind of documentation is really needed.

Some simple examples would be nice, on how the workflow will change for logic creation with the hive. An example on how to setup hive for a game project, how to deploy it with an exported game runtime etc (if this will be possible already with 2.64…)

I’m not very used to the concept at the moment and even not sure if I got it right. There are basically two independent concepts:

  1. you can construct a hive and all logic components with programming or via the gui.
  2. The result is then interpreted at bge runtime into a logic system that runs on top of the bge mainloop

This leads me to several assumptions. The first thing is, with this system you can dynamically add or remove logic components at runtime. You can create multiple hive systems that run side by side. You can extend an existing hive system at runtime?

One thing that I cannot grasp for now is how game objects are bound to the logic or vice versa.

Hope this was the right place to ask these questions. And thanks Sjoerd for your effort. It’s all a little bit fuzzy in my mind right now, but actual feels very powerful.
greetings, moerdn