Boston Dynamics

Started by
53 comments, last by Calin 2 years, 4 months ago

Calin said:
My goal is to build a RTS with an AI that can read your mind while you are playing against him.

Valve is working on human brain → computer interface, so wait for that to read the players mind :D

But i see what you want is to predict player actions in RTS?
It's ofc. easy math to predict linear movement. Constant speed and no turns. This can be used to hit a moving target with a projectile, where the projectile also has some limited speed and would miss the target if aiming at it directly.
But i guess you talk about real problems, like predicting the players strategies.
I guess the easiest, and maybe the only way to do this is to learn from previous games against that player, or from his actions in the current match so far.
So it's a question about machine learning? Just asking out of curiosity - i surely can't help.
One idea i had is cheating: You react to the players commands, although no NPC unit is nearby to see them. But that's lame i guess.

Advertisement

JoeJ said:
But i see what you want is to predict player actions in RTS?

It`s about making the AI think ahead… like making him think ahead what the outcome of his actions might be… which is achieved by mirroring possible actions in the enemy`s mind. It`s like having the mind of your enemy at your disposal and secretly asking him what `would you do if I were to do this` before making a move on the map. It`s really a formula like any other formula if you plot in the right data you get the right result.

Let`s take an example, you`re playing Starcraft and it`s time for you to build an expansion. You have a list with all the crystal clusters on the map, from that list you will pick for expansion a cluster which is defended by your combat units (it`s in your deployed tanks range for example), sending your SCV in a cluster that`s near your enemy`s base would be an invalid choice as it will result in the loss of the SCV. (A skilled Starcraft player might even do that, but that`s a complex tactic… the skilled player has a strategy to counter his SCV being attacked. In the teaching version sending a SCV near the enemy base is a no)

My project`s facebook page is “DreamLand Page”

Only RTS i've ever played was Z on Dos, which was long before.

But i would try this strategy:
Reduce and discretize the game state. E.g. using clustering algorithms to approximate multiple units to a single point. Same for resources and buildings.
Same for the map. Scale it down as much as possible, but not too much so obstacles like mountains or rivers are still preserved.
This won't be perfect, but can be helped with jitter and randomness over time, so abstractions going too far may be seen in a future update.

Due to the simplification, AI can test out more options and think further ahead.
This planning could happen in a round based manner, so time is also discretized.
Then something similar to a chess AI should be applicable to build up a coarse strategy. (usually the videos of this guy are good: https://www.youtube.com/watch?v=U4ogK0MIzqk)
Only

grrr… NEVER EVER post a link into a topic while still typing. Paste them in only after you are done. Then, with some luck, it might even work. >:(

hmm… try to remember what i've wrote below the link…

Only a short duration of future time needs detailed AI, which then can be reduced to local decisions. The simplified coarse system handles global scale and overall tactics.
I would eventually implement the coarse system so it starts from scratch at each update. So it may come up with different solutions each time.
To counteract this, cache a set of promising options, and reconsider them in the next update.
This way the behavior should be more natural, meaningful and predictable.

However, i think you should make a post specifically asking about RTS AI. Some people here should know, but may shy away from topics about AGI, Terminators, animals and evolution, etc.

getting back to Boston Dynamics and the universal problem solving algorithm… in regards to the later, a better definition would be `algorithm for solving problems that require physical interaction only`, this category is made of all interactions with dead/lifeless objects (getting the ball from underneath the couch is one example. Solving problems involving dead objects is done through using a physics engine. The other branch of problems is interaction with living things/actors (people, animals, other robots). Predicting the behavior of actors is done by `reading the mind` (which is achieved through reflecting the immediate environment in their mind) rather than using a physics engine. The actions of an actor may be driven by reasons that are not dictated by the immediate/observable environment (people follow goals they set from home for example) but rather a the larger environment, for this reason a robot standing in the street might not know where the people passing by are heading. The immediate environment might dictate some short term goals for actors which a robot can detect.

My project`s facebook page is “DreamLand Page”

This topic is closed to new replies.

Advertisement