Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 13 Feb 2001
Offline Last Active Apr 30 2015 04:07 AM

Posts I've Made

In Topic: nucl.ai Conference 2015: Crowds at Pixar, IBM's Watson, MCTS in Fable Leg...

30 April 2015 - 04:10 AM



Yes, it's always recorded.  Last year we had a pretty fast turn-around time for the AiGameDev members, aiming to do the same this year.  We'll also be posting more free videos from last year on social media (Twitter, Facebook) so stay tuned!




In Topic: Simple mechanisms for low-budget natural language generation

27 January 2014 - 01:46 PM

I'd second your Markov model idea, and somehow try to work around the training problem.


If you build a simple semantic model using WordNet for example, you could reduce your training data required significantly.  So you'd end up learning at the high-level, <pronoun> <verb> <noun>, or possibly more detailed like <pronoun> <eat> <vegetable>.  I'm not sure how good NLP / NLG libraries are for Javascript but there are some awesome ones in Python that could help with this.


Anyway, cool project ;-)

In Topic: Dealing with multiple threats in a BT framework

11 April 2013 - 06:02 AM



Good question!


In general this problem is independent of how you execute the behaviors.  Most often, there's a separate system for picking the highest risk target and engage a single behavior to deal with that, there's a separate system for picking positions according to that primary target (and possibly a secondary one), etc.


I've rarely seen production systems take into account more than two threats for position picking, and even in the cases you have two threats, the second tends to be weighted a bit lower than the first to prevent indecision problems and static/boring gameplay.



In Topic: Reactive Behavior Trees

26 September 2012 - 12:24 PM

You could create a selector as you describe it, with a separate condition tree (read-only) and then a behavior tree (read-write). However, you'll find those are a pain to maintain in a similar way than your previous example.

The way I use active selectors, I basically want the exact same as a passive selector, but instead running those higher priority branches every frame and aborting the lower-priority ones if those succeed. If that's the specification you want, then the implementation of it should be straight forward. (If not, just ask! :-)


In Topic: Reactive Behavior Trees

26 September 2012 - 04:09 AM

Yes, ActiveSelectors are a nice solution to this particular example. You'll first need to figure out your "specification" for how that should happen, e.g. every frame check all nodes of higher priority than the currently executing one and if one can execute simply deactivate the current one.

Once you have that specification, the code is relatively straightforward. I've done this differently a bunch of times, but most recently managed to get it working by mostly reusing the passive selector logic. Just write unit tests and it'll work out!