Advertisement

Real-World, Custom AI Solutions

Started by September 02, 2019 08:34 PM
2 comments, last by Dawoodoz 5 years, 2 months ago

Hello!

I've seen a lot of threads on these forums, in which people suggest using FSMs, Behavior Trees, or some of the newer approaches out there like Utility AI (thanks Dave. :)). These are excellent and powerful tools, with long records of success.

But in 11 years of AAA dev, every project I've worked on has used it's own, custom AI solution. Some were similar to these well established ones, but some were quite different.


Most of these custom solutions, being proprietary, never see the light of day. Some are very optimized, specialized solutions - only useful in the niche game for which they were designed. But some are very general purpose, and re-used from title to title. I've often thought that, like BTs and Utility AI, some of these custom studio solutions could compete with FSMs, BTs, etc. as widely used - general purpose approaches if they were made public.

So I'm wondering: Without giving confidential specifics, how many of you have worked on teams that used custom, general-purpose ai solutions? Is it as ubiquitous as it's been in my career?

Thanks!

I think there are 2 different scenarios for custom AI.

One in which the devs just goes, "well we know how to program, so we can AI".

Another in which, "we have studied the different AI's approaches and none fits as they are on the project, let us design something more fitting, usually combining some and adding new stuff"

 

I think if they are just coding AI because they know how to code is not the right way to do it. I think first the team needs to have a knowledge of other techniques like FSM that you mentioned and see how those approaches would result in the game. I can't imagine too much an AI that simply has almost nothing from the techniques already existing.

  I mentioned in a thread here for example, I am working on a card game AI, its the third card game I project the AI for. I made a Decision Tree based on partial results of Minimax (no full data since your cards are unknown), weighting and using that data decide the best plays. Looking from outside it seems a custom AI, but it truly is combining multiple techniques and a little touch of my own :D.

 

Anyway, I think you have probably more experience than me with that, but just putting my thoughts and experience on the subject. I worked some with AI in quality and in games, but some years less experience than you though.

Advertisement

I tried using progressive real-time annealing on the GPU, which is a method from real world AI. It's trivial to implement yet powerful for anisotropic pathfinding when many vehicles are driving over dunes in strategy games. Just approximate a curve ahead of each vehicle that gets denser with more nodes the closer it gets to being driven along. Just three nodes will produce a smooth path by moving forward like a Bezier curve approximation. The more the path goes up and down or tilts sideways, the more penalty it gets during the brute-force forward motion simulation. Even if it doesn't do much to get them there faster, it looks like they avoid a bumpy ride which gives an illusion of common sense. Other shortest path techniques can be combined for closed spaces with many obstacles.

This topic is closed to new replies.

Advertisement