Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (404)
games submitted by our members
Games in WIP (289)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  AI Blackboards - anyone any experience with them?  (Read 1141 times)
0 Members and 1 Guest are viewing this topic.
Offline Orangy Tang

JGO Kernel


Medals: 48
Projects: 11


Monkey for a head


« Posted 2011-08-24 02:12:10 »

So, Blackboards. I suspect I need something like this to hold shared/inferred state for my mission generator, and a blackboard seems to fit what I'm after. Has anyone any experience with these? At the moment I'm literally starting with a simple struct and a couple of hardcoded variable (a 'static blackboard' is the lingo I believe). However I'm not sure how this is going to expand/change as time goes on.

In particular most of the stuff of the web about blackboards seems to be about dealing with typesafety in a C/C++ blackboard. I'm wondering if there are any cunning tricks people have used that make a blackboard easier to work with in Java...

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline delt0r

JGO Coder


Medals: 18


Computers can do that?


« Reply #1 - Posted 2011-08-27 11:11:26 »

I use blackboards in my game to quite good effect. One use case (not the only one) is what units to target and what priority (its a RTS). I hate it when every unit just attacks the closest, typically faster light unit while heavy hard hitting units are left free to wander up to do massive damage a few seconds later. Also indirect fire can take a long time to hit, so the unit may already be dead soon. So when a unit attacks some enemy unit it first checks the blackboard of the enemy unit to see what is already attacking and what damage is expected to be delivered and when. If it then decides to continue with the attack it writes the details on the BB. Pretty simple and works quite well.

This part of the implementation is very specific for that data, it just faster. So far i just add more add hoc stuff as it goes. There are some flags that can be set or cleared etc. I don't like generic code for generics sake.

I realized this may differ slightly from some definitions of blackboards in AI, but it is one of them. I got the idea from a AI book.

I have no special talents. I am only passionately curious.--Albert Einstein
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Browse for soundtracks for your game!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (35 views)
2013-05-17 21:29:12

alaslipknot (44 views)
2013-05-16 21:24:48

gouessej (73 views)
2013-05-16 00:53:38

gouessej (73 views)
2013-05-16 00:17:58

theagentd (81 views)
2013-05-15 15:01:13

theagentd (75 views)
2013-05-15 15:00:54

StreetDoggy (117 views)
2013-05-14 15:56:26

kutucuk (141 views)
2013-05-12 17:10:36

kutucuk (141 views)
2013-05-12 15:36:09

UnluckyDevil (151 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!
Page created in 0.082 seconds with 21 queries.