Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

3785 Excellent


About IADaveMark

  • Rank
    Moderator - Artificial Intelligence

Personal Information


  • Twitter
  • Twitch
  • Steam

Recent Profile Visitors

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

  1. "Closest node" is the first part here. That means you don't want to search the entire space for something that can hit the target and then see how close it is. That means a lot of testing. However, if you do a pathfind from your current location, you are more likely to find "the closest node" quickly. That said, since you don't have a defined goal spot, you would need to do something along the lines of a flood fill out from your current location -- e.g. Dijkstra. -- and test each node you come to. Please note that this is a bitch in many games because raycasts can be expensive. Therefore testing each potential spot can add up quickly. Another approach is to work outwards from the target. That is, paint what the target can see and then find one of those spots that's close to you. I forget the description for that sort of visibility painting since I'm just now into my first caffeine of the morning but someone else may jump in and help.
  2. IADaveMark

    The blackboards of behavior trees

    Well a lot of the world info isn't going to need to get passed. Passing copies of the data isn't a great idea for a lot of reasons. Just look it up from the behavior objects as needed. Same thing for the character's data... just look it up. You can pass in a reference to the world or character if needed, too. Methinks you skipped a few parts of the behavior tree tutorial.
  3. IADaveMark

    The blackboards of behavior trees

    This sounds like you are making it a bit more complicated than it should be. Also, there really is little difference between the way a BT process its environment and some other architectures.
  4. IADaveMark

    Hidden information games AI

    Bayesian inference. Not new, but the go-to tech for hidden information.
  5. Yeah, that was based off of occupancy maps by Damian Isla. He thought it was so groovy that he and Christian Baekkelund made Third Eye Crime. At about 11:40 of this, Damian shows off a demo of occupancy maps and describes how it is done. (His first 30 minutes of the lecture is about knowledge representation.) https://gdcvault.com/play/1267/(307)-Beyond-Behavior-An-Introduction Start at 30:30 of this for more about the design of the game, Third Eye Crime based on it: https://gdcvault.com/play/1018057/From-the-Behavior-Up-When
  6. Frob nailed most of it pretty well. In theory, you could just do IF/THEN statements here and there and have simple AI. Or you could do really nuanced stuff with utility curves and whatnot. The best bet is to ask yourself, "if I was playing the game, what info would I take into account and what would I do with it? What move would I do?"
  7. IADaveMark

    Evolving neural networks

    Put another way, there's more than one type of "AI for games". It isn't monolithic. Therefore, there could also be different "best tools" for the job for each of those. That said, when people talk about "game AI", they are usually talking about things like behavior selection and what surrounds that (e.g. knowledge representation models). For that, NNs and GAs are very rarely the best choice.
  8. IADaveMark

    Evolving neural networks

    There are all sorts of fancy tools at the hardware store.... but before I buy them I ask myself "what am I trying to do?" If you are trying to make game agents that can be authorially controlled by designers to do very specific things, then a hand-wavey learning system isn't going to cut it. "Let's just run this NN trainer and see if the NPC behavior just happens to match what I was thinking of when I was laying in bed last night." No... screw that. Make the character act the way you specifically want it to. Also, remember that we aren't trying to make The Best NPCs in our games... we are trying to make The Most Fun NPCs. What's your fitness function for "fun" in your learning model?
  9. Please not tht this is a "a,game AI" forum 99% of the people here wouldn't have any clue about the problem here and of those and of tha t do perhaps 25% might have an inking. Regardless, a game AI forum is not great place to ask games about non-game AI.
  10. I use them all the time and encourage them. There are some things that simply make sense that way. For example, if you have a stealthy action that you only want to do when you are invisible, you can do a boolean check to see if you have the "invisible" tag. If you don't, the behavior is automatically 0 (since the consideration is 0) and you move on.
  11. Have you watched our GDC AI Summit lecture on that architecture? http://www.gdcvault.com/play/1021848/Building-a-Better-Centaur-AI The short answer is that any behavior that is targeted is scored on the behavior+target basis. Anything that is standalone is scored on only the behavior basis.
  12. This has very little to do with utility AI... of any AI for that matter... and more about knowledge representation. For the most part, it can be solved by Programming 101 sorts of answers. Create a representation of what a day is. Create a function for determining that. Create another boolean function for "is it a weekday" that checks to see if the day returns M-F. Create a representation for what time of day it is. Create a boolean function for whether or not it is a work hour or not. if (IsItWeekday && IsItWorkHours) { GoToWork(); )
  13. I'm trying to get to the point where I can sell and/or licensce my IAUS and Imap system (e.g. on Unity Asset Store). I've had plenty of people and companies ask me about it. The GDC accident has set me back quite a bit though. 😕
  14. I've got both my IAUS and Imap system in C++ and C# because of my work with different clients, but it isn't in shape to put up as "middleware". BTW, Apoch's Curvature is based on my IAUS and the work we did when I was at ArenaNet.
  • Advertisement

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!