Blackboards

A format for the creation of a blackboard object is as follows:

new: bkbd imagefile numimages imagenumber backgroundcolour chalkcolour aliascolour textx texty

the only elements of this creation different from most other objects are the ones defining colour and textx - texty.

textx and texty simply specify the top left hand corner of a textbox that will be used for plotting words onto - this plotting will happen on part 0 of the blackboard.

The colour component is specified as a 24 bit number - 8bits red, 8bits green and 8bits blue. There is a free tool to calculate this number available for download from this CDN site. If you are unsure of how to specify a number in RGB format you can usually use a paint package (such as Paint Shop Pro) to display the RGB values for the colours you require.

The way that a blackboard object works is to have a list of words associated with it, which it then can broadcast to creatures in one of two ways - either by shouting it out to anyone within hearing range or by only teaching it to creatures that are looking at the object itself.

Building the word list itself can be done in a few ways, the preferred way is to pull words from the game word list and store these in the blackboard. The other way is to explicitly give it a text string for each word and associate it with a concept that a creature can learn. In the reference section you will find the default word list which shows both the concept position and the words used. The advantage of using the game list is that it is localised for each country and can be altered on each individual users machine, the second method means that your word is the only option that is taught.

Note: All Life Kit and later versions of Creatures2.exe use a new method for the word list that involves creating a 'vocab' file on the machine - this then becomes the game word list and can be altered. All blackboard objects that aquire their word list from the in-game word list will then aquire them from this personalised list. To allow for ultimate flexibilty it is a good idea to initialise a blackboards word list in the 'enterscope' event rather than at the point of creation. This means that the blackboard will aquire it's words each time the game starts - rather than just at creation - and means that any changes to the vocab file since the object was created will be used.

Blackboard objects use the idea of having a pointer to their current word to know which word they should broadcast when told to do so ... in this way you change the pointer to the word you want, and then tell it to broadcast.

More specifically this is acheived using ov00 which should be set to a number matching the objects word list index for the word it wants to broadcast - you then use the bbd: edit command to broadcast the word at this position.