Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 113 114 [115] 116 117 ... 210

Author Topic: That which sleeps- Kickstarted!  (Read 368019 times)

Sergarr

  • Bay Watcher
  • (9) airheaded baka (9)
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1710 on: December 01, 2015, 01:32:14 pm »

I do wonder how can you create an infinite loop during AI development. From what I know, most common AI architectures (like rule-based systems or neural networks) don't really have any points where it can loop indefinitely. What kind of AI system is he using?

EDIT: Looked it up. And, uh...
Quote
A bit more detail because I think itīs interesting: Aparently the AI now tries to figure out what other parties in the world now will try to do to anticipate it and act in accordance to that. To do that the AI of one party has to "ask" the other AI what it will do, which then starts considering itīs actions and in return ask the first AI what they will do, causing an infinite loop which crashes the game. I would post more but I am not sure if what infos are allowed outside the backers forum. I will ask the mods if we can share more infos.
Yeah, I don't see any way to get rid of infinite loops without reworking this whole "AI asking other AIs" part.

Replace it with AIs having some predictive estimates on other's behaviours based on their previous interactions, and then it'll work. For additional bonus points, it would also work for AI prediction player's behaviour and adapting accordingly.
Logged
._.

ndkid

  • Bay Watcher
  • Player of Games
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1711 on: December 01, 2015, 01:33:09 pm »

But it's a matter of stopping the loop.  Overall AI design might be hard, but I doubt this particular will be.
This is actually an interesting problem. I suspect the refactor will be non-trivial, depending on how well modularized the AI code is now. Writing it in my head, I would be tempted to basically hand the "Figure Out What to Do" function an array of the other AI plans. At that point, you could do reasonable parallelization, where you spawn a thread for each AI to think about what it would do with no neighbor data, take the result, feed it into a second iteration, and then you can stop iterating at pretty much any arbitrary point. If a particular AI keeps giving the same answer multiple iterations in a row, you take it out of the processing since its mind is made up.
Logged

Cthulhu

  • Bay Watcher
  • A squid
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1712 on: December 01, 2015, 01:42:19 pm »

I was suggesting something similar, though your treatment of it's more technical.

SA seems to think the solution is to use RNG to settle ambiguous cases, which Josh is apparently loath to do.
Logged
Shoes...

jhxmt

  • Bay Watcher
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1713 on: December 01, 2015, 01:47:53 pm »

If the AI has a concept of "do nothing/perform no action", possibly when AI 1 asks AI 2 "what would you do in this situation?", AI 2 has to take the explicit assumption that AI 1 does nothing additional (as that's the point of the initial question).  If it has to ask AI 3 what it would do, AI 3 has to operate under the assumption that AI 1 and AI 2 would take no additional action, etc.  Eventually all the pathways would be exhausted and there'd be no loop - although the AI's planning would be based on, effectively, guesswork.  The vagueness of the guesswork could be reduced by AI 1 asking multiple other AIs in sequence (thus exhausting the pathways in different orders each time) and then choosing between (or amalgamating) the results, but there'd be a processing cost to that.

It's an interesting problem, though.
« Last Edit: December 01, 2015, 01:49:33 pm by jhxmt »
Logged
Quote from: beefsupreme
Try slaughtering a ton of animals, meat makes less decisions than animals.

Why Your Ramps Don't Work
How To Breach A Volcano Safely

Chosrau

  • Bay Watcher
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1714 on: December 01, 2015, 04:56:33 pm »

Rock-Paper-Scissors isn't interesting, yet it also loops to infinity if the two players start asking each other about their next move.

And Josh doesn't want to randomize it? He is unwilling to include mixed strategies? That doesn't make sense to me.

I also don't really understand why AI 1 should know exactly how AI 2 is gonna react. Why should it have this perfect knowledge? What it should do is guess (based on ingame information it has, which might be false, possibly supplied by player/other AI actions) how AI 2 is going to react. And in the end this guessing always comes down to RNG.

It might be unfair saying this based on a quote that does not come from Josh himself, but him not wanting to use RNG does not fill me with competence in believing he actually knows what he is doing in this case.
Logged

Neonivek

  • Bay Watcher
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1715 on: December 01, 2015, 05:12:16 pm »

Just give the AI a number of "Asks" according to how intelligent it is.
Logged

Serenseven

  • Bay Watcher
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1716 on: December 01, 2015, 05:22:07 pm »

Keep in mind that the original explanation of the problem was an (over)simplified version so that non-coder backers could follow the discussion without getting lost. There's a lot more to it than the AIs mindlessly going around asking each other what they'd do. I just used that as an easily-understandable example of how the AI could get itself into an infinite loop.

Also, the version on the public forum is missing the information that Josh did get the infinite-loop behavior to stop by imposing a limit on how much information the AI is allowed to gather before it's forced into a decision. The problem now is when the AI gets forced into a decision like that, it often comes back with "do nothing", even when doing nothing is clearly inappropriate in the current context.
Logged

Neonivek

  • Bay Watcher
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1717 on: December 01, 2015, 05:23:52 pm »

Keep in mind that the original explanation of the problem was an (over)simplified version so that non-coder backers could follow the discussion without getting lost. There's a lot more to it than the AIs mindlessly going around asking each other what they'd do. I just used that as an easily-understandable example of how the AI could get itself into an infinite loop.

Also, the version on the public forum is missing the information that Josh did get the infinite-loop behavior to stop by imposing a limit on how much information the AI is allowed to gather before it's forced into a decision. The problem now is when the AI gets forced into a decision like that, it often comes back with "do nothing", even when doing nothing is clearly inappropriate in the current context.

It is more that they lacked a loop breaker.
Logged

Cthulhu

  • Bay Watcher
  • A squid
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1718 on: December 01, 2015, 05:29:44 pm »

So what are the odds of getting a more technical description of the problem?  You're right that we won't really be able to provide good suggestions even then, but the post was ostensibly there to provide information and it's starting to seem like the simplification goes to the extent of being misleading.
Logged
Shoes...

nenjin

  • Bay Watcher
  • Inscrubtable Exhortations of the Soul
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1719 on: December 01, 2015, 05:46:03 pm »

I mean, it's a big gnarly stinky hole of broken AI interactions. The effort truly describing the problem to forum goers just so they can understand the problem probably isn't worth it.
Logged
Cautivo del Milagro seamos, Penitente.
Quote from: Viktor Frankl
When we are no longer able to change a situation, we are challenged to change ourselves.
Quote from: Sindain
Its kinda silly to complain that a friendly NPC isn't a well designed boss fight.
Quote from: Eric Blank
How will I cheese now assholes?
Quote from: MrRoboto75
Always spaghetti, never forghetti

Neonivek

  • Bay Watcher
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1720 on: December 01, 2015, 05:52:11 pm »

I mean, it's a big gnarly stinky hole of broken AI interactions. The effort truly describing the problem to forum goers just so they can understand the problem probably isn't worth it.

Well it isn't really that complicated honestly. I don't know why people are being so critical.

The AI has a situation where they can enter an infinite loop because it spirals out of control. It happens.

Yet everyone is so quick to jump on this game's case... which tells me that everyone is REALLY sick and tired of the game developers.

Mostly because if a developer people liked said this, people would praise them for being so transparent. If say... The Starbound development team did it, people would be annoyed because it would be them wasting time again not making the game they aren't doing particularly well at making.
Logged

Xgamer4

  • Bay Watcher
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1721 on: December 01, 2015, 06:35:13 pm »

I also don't really understand why AI 1 should know exactly how AI 2 is gonna react. Why should it have this perfect knowledge? What it should do is guess (based on ingame information it has, which might be false, possibly supplied by player/other AI actions) how AI 2 is going to react. And in the end this guessing always comes down to RNG.

That's the thing, though. How does the AI make a guess? Josh can't code possible guesses in a priori. That undermines the entire reactive AI structure. You'd want the AI to make a reasonable guess.

But before the system can provide "reasonable" guesses, it needs to know what's actually reasonable - which requires knowing what the other AI is planning on doing. Else the AI might react incredibly poorly in some circumstances, simply because they failed to understand what are "reasonable" responses.

But it's a matter of stopping the loop.  Overall AI design might be hard, but I doubt this particular will be.
This is actually an interesting problem. I suspect the refactor will be non-trivial, depending on how well modularized the AI code is now. Writing it in my head, I would be tempted to basically hand the "Figure Out What to Do" function an array of the other AI plans. At that point, you could do reasonable parallelization, where you spawn a thread for each AI to think about what it would do with no neighbor data, take the result, feed it into a second iteration, and then you can stop iterating at pretty much any arbitrary point. If a particular AI keeps giving the same answer multiple iterations in a row, you take it out of the processing since its mind is made up.

This suffers from the same problem. How do you generate that array of other AI plans? If AI A needs to have an idea of AI B's actions before AI A's "Figure Out What To Do" function returns, but B needs to have an idea of A's before B's "Figure Out What To Do" function returns... well...
Logged
insert something mind-blowing/witty here*

Zangi

  • Bay Watcher
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1722 on: December 01, 2015, 07:11:28 pm »

AI needs to be doing their own shit first, then if they get new info, they may or may not act upon that info.

Either way, this shouldn't be the whole picture....  just small tidbits of the AI being given out without the context.
Logged
All life begins with Nu and ends with Nu...  This is the truth! This is my belief! ... At least for now...
FMA/FMA:B Recommendation

nenjin

  • Bay Watcher
  • Inscrubtable Exhortations of the Soul
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1723 on: December 01, 2015, 07:29:00 pm »

Quote
Well it isn't really that complicated honestly. I don't know why people are being so critical.

*says the guy who doesn't code the game, hasn't seen the code, or more than a 3rd party paraphrasing the developer's description of the problem*
Logged
Cautivo del Milagro seamos, Penitente.
Quote from: Viktor Frankl
When we are no longer able to change a situation, we are challenged to change ourselves.
Quote from: Sindain
Its kinda silly to complain that a friendly NPC isn't a well designed boss fight.
Quote from: Eric Blank
How will I cheese now assholes?
Quote from: MrRoboto75
Always spaghetti, never forghetti

ArKFallen

  • Bay Watcher
  • Bohandean Desserter
    • View Profile
Re: That which sleeps- Kickstarted!
« Reply #1724 on: December 01, 2015, 07:39:50 pm »

Looking forward to see what this game is during beta(probably be LPs)/release. Not a backer but this is up there in my gaming priorities at the moment because the theme and genre.
Logged
Hm, have you considered murder?  It's either that or letting it go.
SigText
I logged back on ;_;
Pages: 1 ... 113 114 [115] 116 117 ... 210