Toribash
Original Post
AI in toribash
I'm really interested in the possibilities of creating a machine learning program for toribash

but toribash is such a complex game with so many hidden variables with that just comes natural to a human that a computer would have to convert into data and analyse that I'm unsure it could be done to the point at which the program could put up a reasonable fight to even an average (active) player.

the only way I could foresee it being able to be made at this point is if the AI could run all possible movements by it's opponent and itself and evaluate which would give the highest number of "winning" outcomes, still i don't know how you could define a winning frame without using variables that could potentially backfire.

but if it was possible running matches of AI vs AI to train it would hopefully create the hypothetical "best player" until it encounters a strategy it hasn't met, which it will then learn and once again regain it's title

Anyones thoughts on whether or not AI is possible within toribash or even toribash next would be much appreciated thanks
h
any input is appreciated and while I agree that making a self-learning AI is possible I'm unsure on whether or not a competitive self-learning AI is possible given the number of possible outcomes in each frame of the match and the unpredictability of the movements of the opponent at certain times.
I just feel like if an AI were to be working and learning it would take a large amount of teaching to get it to the level of a beginner.
h
The AI must adapt it's movements based on it's opponent movements. There are a lot of possibilities, and even more if you consider that AI (or active player) movements are constantly affected by it's opponent movements. One simple touch can ruin what the AI had planned. I think it is possible, but it would take years of teaching due to the amount of possible moves + how even little touches will affect the balance, velocity, etc of the AI.

If Toribash brings up an AI and it learn 90% of the possible situations, it would be an awesome challenge. "Who's gonna beat it?".

Conclusion: possible, but would take a huge amount time.
alright I was thinking of it from too much of a narrow perspective, I do believe it's possible, but I'm wondering how hard it would be and would it be possible for someone or some group to do so without the budget or number of workers of OpenAI or DeepMind. While I do believe AI could happen I don't think it will happen unless TB Next really gains some traction with it's release.
Originally Posted by torilose View Post
But then again toribash is not even close to being as complex as Dota2.

While there Dota is much more complex than toribash all it takes is one key variable that can't be accurately translated into a format which could be optimised, I doubt there is anything in toribash which can't be graphed/optimisted from a human's perspective.
A computer's perspective is much more analytic like distance from the ground in order to not dq, you know that a elbow closer to the ground is much less important than a glute.
however some strats for winning like lifting and tripoding rely on being close to the ground.
Im probably over thinking the amount of work the programmer would have to do in order to get a working machine learning program.
Last edited by Lmorti; Jul 1, 2018 at 09:15 PM.
h
I think toribash works more like chess or go from a computers perpective...and there is a ai that learned the game of go and beat world champion.
= SELLING MARKET INVENTORY =
Pm me for deals
Originally Posted by Insanity View Post
I think toribash works more like chess or go from a computers perpective...and there is a ai that learned the game of go and beat world champion.

Those really have nothing in common with toribash. Go and chess are both turn-based games, which for AI is child's play. Something like Toribash though is so much more complex because it involves predictability, which is one of the hardest factors to conquer for AI.

Is self learning AI in Toribash possible? Yeah, most definitely just like any other game, but it would require resources that are way out of reach for Toribash, which is why it's practically next to impossible.
Vox had a WIP script that sorta did it years ago (it controlled both toris), but it took days of leaving the game running before it would figure out staying upright let alone managing to fight properly.

Either way it was interesting to watch them slowly improve. The file it created did get horrifically big though since it stored everything that happened through thousands of matches.

No idea if anyone still has a copy of it handy though, it's from 2011/12 and was only passed around the staff on IRC.

<Erf> SkulFuk: gf just made a toilet sniffing joke at me
<Erf> i think
<Erf> i think i hate you
Originally Posted by torilose View Post
Not true. There are people developing self learning AI´s on their own. There is a guy on youtube for example who developed one for GTA 5 wich is a very complex game. The AI learned to drive.

Sorry to disappoint you, but an AI that can drive in GTA 5 is nothing compared to an AI that can defeat an average player in Toribash. To start with, it doesn't involve another forces beyond AI's capabilities to drive a car. All it needs to recognise is a road, other cars, and their movements (which are fairly straightforward and predictable).

As SkullFuk already mentioned, even a file to barely make a Tori stand on its own already took huge amounts of space. Now if you look at an AI that can fully fight, you're looking at hundreds and thousands gigabytes of data and a supercomputer that can manage all that data.
Originally Posted by SkulFuk View Post
Vox had a WIP script that sorta did it years ago (it controlled both toris), but it took days of leaving the game running before it would figure out staying upright let alone managing to fight properly.

Ideally you could run the program simultaneously on any system which used it and instead of holding the information on each individual computer which ran the program it's sent off the information somewhere to be collected, compared, and condensed and as you said it was from 2011/2012 a lot would changed which could improve the script in some shape of form or even making it a separate exec removing any limitations in lua.

There are hundreds of viable ways of creating a machine learning algorithm which have benefits and negatives for their respective tasks finding the optimal algorithm for creating an AI would reduce it's learning time too at the cost of the time to find this algorithm.
h
Originally Posted by torilose View Post
Do some research before you spit in my face like this. I actually have some coding experience and know my shit. "All it needs to recognise is a road, other cars, and their movements (which are fairly straightforward and predictable)." In toribash you have a couple of joints. How is that harder? The AI will try different random moves at first and based on successrate improve certain openers. It doesnt take a lot of space to store that as joint status can be described with just a few chars.

Who's spitting what lol, this is a discussion my man, calm your balls.

I have 4 years of coding experience and around 2 of it is game development, and yes, that involves some AIs. The thing you don't understand is how simple and primitive self driving AI is compared to TB fighting one.

To drive a car you need w, a, s, d. 4 controls. It involves no predictability, just recognising the terrain and using those 4 controls.

In Toribash you have 18 joints actually, not a couple. Each joint has 4 states, so to an AI that's 72 controls. I think there is a considerable difference between 4 and 72. And I'm not even including the predictability element of the game which is harder than any amount of controls.

Storing joint status doesn't take much if you look at it like "few characters", but if you really have any programming experience you would know that it's not that simple. As we already established there are 18 joints and 4 states for each. Now the AI has to store info of those 18 joints in their state EACH FRAME for thousands and thousands of games. How much do you think that can take up? The answer is a lot.

Originally Posted by torilose View Post
After a couple of hundred generations the AI will be able to beat a lot of players without even having to react to anything they do. Then a couple of thousand gen´s later the AI will take enemy movement into account and react.

Idk what you're on about but it doesn't belong to this discussion lol. We're talking about present time, not thousands of years later. And even at that you're wrong. It won't take hundreds of generations, it could easily be accomplished from a home computer in 20 years by the rate that technology is evolving.