Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

457 Neutral

About alexjc

  • Rank
    Advanced Member

Personal Information

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Thanks!   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!   http://twitter.com/nuclai http://facebook.com/nuclai
  2. We've announced some pretty amazing talks for our nucl.ai Conference recently... At this stage the organization team is scheduling talks almost entirely based on what they want to see, so it's turning out well for everyone!   [attachment=27029:Screen Shot 2015-04-28 at 13.15.20.jpg]   From the Evolution of AI at Pixar to the Technology behind IBM's Watson, MCTS in Fable Legends (realtime) and Total War (turn-based), the AI Directors in Fortnite, ambient crowds in Assassin's Creed Unity, Behavior Trees and data-heavy animation techniques like Motion fields, and more to come...   Early Bird tickets are almost gone, but there'll be a batch of Early Worm tickets shortly after.  Also, if you're a student who want to volunteer now's the time as we only have a couple spots left.   Of course, anything you can do to help spread the word is very much appreciated!     http://nucl.ai/   Thanks! Alex, Petra & The nucl.ai Team
  3. Do you have a cool project to show off?  Did you work on interesting prototypes?  Have you learned something recently to share with others?  This is your chance!  The largest worldwide conference entirely dedicated to artificial intelligence in games is calling for speakers.     http://gameaiconf.com/vienna/announcement/call-for-speakers/   [attachment=26475:GAIC14_CrowdTuesday.jpg]     Any topics relating to AI in interactive media, training and simulations, and of course games are welcome.  In particular, we have tracks for the following:   • Character Animation • Real-time Decision Systems • Training and Simulation • Agent Behavior & Coordination • Procedural Content Generation • Virtual & Augmented Reality • Crowds and Ambient Life • Analytics & Data-Mining • Systemic Design and AI Direction     Just send an email to <events at aigamedev.com> to send in your proposal!  We're looking forward to reading them all.   Alex, Petra & The nucl.ai Team
  4. The Game/AI Conference 2014 will take place on July 7th to 10th, in Vienna/Austria.     CALL FOR SPEAKERS     Whether you're a professional working in the games industry, or a researcher in artificial intelligence, speaking at the conference is a fantastic experience.  So if you have a proposal, of course we'd love to hear it!   Send your email to <events at aigamedev.com>, or consider reading more about it here:       http://gameaiconf.com/highlight/call-for-speakers-volunteers/     If you have any questions (or ideas) for the conference, don't hesitate to let us know!     EARLY BIRD TICKETS     We're very pleased to announce that the event this year will take place at the prestigious Austrian Academy of Sciences, a magnificent and historical building.  It's located at the heart of Vienna's 1st district, equally amazing for both tourism and game conferences!       http://gameaiconf.com/highlight/2014-confirmed/     Tickets are available now.  You can secure a 50% discount if you buy now (and not for much longer), or if you're a student just email us <events at aigamedev.com> and we'll send you the details for a specially priced ticket!     Alex  
  5. 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 ;-)
  6. Hi,   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.   Alex
  7. alexjc

    Reactive Behavior Trees

    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! :-) Alex
  8. alexjc

    Reactive Behavior Trees

    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! Alex
  9. alexjc

    Game/AI Conference 2012

    The Live Stream from the Vienna Game/AI Conference will be available online free. By this time next week, Day #2 will already be underway. The broadcast starts around 07:00 UTC. I hope you can join us live to interact with the presenters and the attendees!
  10. alexjc

    Papers on RVO/HRVO?

    First of all, thanks for taking the time to formulate a great question! It stands out among most others here :-) I haven't worked with RVO2, so I'm not sure why it's taking that branch. However, a few things may help: ORCA is a bit easier to understand from the perspective of the "solver" -- it's just linear programming. Some algorithms have biases for turning in a particular direction, so it may be on purpose. ORCA for instance completely rules out half of the search space, which would similar to what you're seeing. Have you tried drawing the velocity obstacles? See this screenshot I tweeted recently from last weekend's AiGameDev interview. The green planes are what ORCA gets as input, and the red circles (less obvious) are the velocity obstacle. It does make sense visually so you should be getting something that looks reasonable. Alex P.S. There's also a masterclass on the topic with Jamie Snape on AiGameDev but it sounds like you're almost there :-)
  11. alexjc

    implimenting AI elegantly

    Sounds like a behavior tree with localized utility :-) I like this approach better. Scales well and it's easy to author -- as you said. I think BT is more specific than just a "hierarchical framework" that you can plug stuff into, but that's worth as separate discussion. Alex
  12. alexjc

    implimenting AI elegantly

    We were walking out of Moscone North and heading towards West on Monday evening after your lecture that afternoon. The conversation started something like this... I pointed out that while you focused your lecture on modularity of inputs and setting up criteria, I just haven't been faced with this problem in the past. I haven't had unmanageable inputs since the information I need is often expensive; every additional input costs you. I asked you about modularity of actions / outputs, since it doesn't seem to be talked about anywhere near as often, and that's a problem I've faced significantly more often. That's when you said the line I quoted, which for some reason is burned in my brain (it made sense :-) "Ah, for that you need something like a BT." I can see how hierarchy would help make it manageable, but a full utility-based hierarchy (like MASA's DirectIA aka. behavioral network, or Spir.Ops' drive system) would potentially have a huge performance impact since you have to simulate the whole thing to get a decision. If you don't simulate the whole thing and "prune" space with Boolean conditions for example, then you're basically moving towards decision-tree style AI. For this reason, I tend to take the approach of BT first, then sprinkle utility around where necessary. It's easier to work with, it's modular, and it's fast as hell -- O(log n). The alternative, having an elegant utility architecture that you need to hack for performance, hasn't been as appealing for me. Alex
  13. I won't help with your implementation directly, RVO are very well documented. Here's my best advice: If you want a quick solution, use the available libraries such as RVO2. If you want to implement it yourself, go through the papers. This one isn't a bad place to start. I hope that helps get you started! Alex
  14. alexjc

    implimenting AI elegantly

    I'd agree with Alvaro's advice. I've found utility very suited to managing relatively simple decisions (limited number of outputs) from arbitrary information (large number of inputs). There was a lecture at the AI Summit by Kevin Dill and he emphasized the modularity of input "criteria" above all. I asked him about modularity of decisions/output and he said something like: "Sure, for that you need a BT-style structure." If you have large numbers of possible outputs, and want to express a large variety of special cases that can combine together, then behavior trees or hierarchical planners are my recommended option. Utility has been found not to scale up very well in these areas (e.g. performance), and games like the SIMS 3 famously moved away from "utility everywhere" for these reasons. Alex
  15. The Vienna Game/AI Conference 2012 is the largest independent event dedicated to artificial intelligence, gameplay and character animation. Last year it brought together over 300 developers from around the world, including programmers from the leading European studios such as IO Interactive, Rocksteady, 2K Czek, Splash Damage, Ubisoft – and many more. This year, most sessions have been officially announced and the full schedule will follow, including the following titles: BATMAN: ARKHAM CITY from Rocksteady Studios HITMAN: ABSOLUTION from IO Interactive GRiD & F1 from Codemasters SPEC OPS: THE LINE from Yager Development VESSEL from Strange Loop Games MAFIA 2 from 2K Czek MOTORSTORM: APOCALYPSE from Evolution Studios There are also some tutorials (included in main conference) and workshops (standalone) on the topics of: Procedural Character Animation Workshop Behavior Tree Logic Workshop Monte Carlo Tree Search (MCTS) Data-Mining and Pattern Recognition Tickets are available from 96€ for the next few weeks, and if you're a student we have a handful of Bronze tickets at 48€. Keep an eye on the official website or @GameAiConf on Twitter for details. If you have any questions don't hesitate to ask! Alex Champandard
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!