Page 2 of 2

Re: Seeking Programmers

Posted: 18 Nov 2016, 16:00
by HDeffo
pier4r wrote:Hmm but one doubt. For every step gladiabots has easily way more possible action than chess (in chess the average is between 20 and 30) in whatever map, well maybe not mind game. Chess programs struggle to get depth 15 in reasonable time, I wonder how can you get depth, say, 50.

When you will put your code in an open repository (github?) I would really like to see it.

Yes and no. For one fact there are many fewer pieces. Most would be circle of death at 9 a player. And the second fact being I don't have to use a reasonable amount of time. My AI will calculate partly just over time and partly off the enemy AIs it plays in battle most likely I'll have it search horizons to losses involving online battles. So given a reasonable time of a couple of minutes it should theoretically build a decent turret style AI. Then I'm assuming in a few weeks at deeper depths it'll start coding kiting mechanics into its bots

Re: Seeking Programmers

Posted: 18 Nov 2016, 18:33
by pier4r
true the 3 minute horizon speeds up everything. I want to see the repository!!

Re: Seeking Programmers

Posted: 18 Nov 2016, 18:52
by HDeffo
I'm not really starting this for a while just because I'm rather busy lately and I want a lot of time to devote to something like this

Re: Seeking Programmers

Posted: 18 Nov 2016, 21:56
by pier4r
Understandable :)

Re: Seeking Programmers

Posted: 21 Nov 2016, 18:28
by GFX47
I can't wait to see what you'll come up with.

Re: Seeking Programmers

Posted: 21 Nov 2016, 18:29
by GFX47
NullPointer wrote:Initially I thought it was non-deterministic because I can still find randomness when I put an AI to play against itself. Then I realised it's not randomness, it's just that something is not 100% symmetric. I imagine this is not by design, so there's a bug somewhere.

That's the collision system. I have to rethink it.

Re: Seeking Programmers

Posted: 22 Nov 2016, 12:40
by Optometrist_Prime
I'm a big fan of evolution developing basic AI

So how about we evolve the AI against other AIs (also evolving) before it's used on the proper servers, that way they're not dumb AI and it works much better

Re: Seeking Programmers

Posted: 28 Dec 2016, 04:24
by verra
I'm potentially interested in helping out with this project, I've just found this game and I'm fairly enamored with it. I have some experience with machine learning.

My first suggest is to reduce the search space by limiting it to only care about one map.
Perhaps Set Your Priorities or Seven Wonders. Secondly I would reduce the number of complete fail states. By putting the following basic AI at the lowest priority of all generated AIs.
_simplest.png (31.08 KiB) Viewed 1379 times

This should only allow the AI to beat a set of idling opponents. It still leaves room for improvements on things, such as early resource pickup, retreating, better targeting priority, advancing etc. The important part is doing this makes it more about maximizing effectiveness and less about just trying to make something work.

Re: Seeking Programmers

Posted: 28 Dec 2016, 04:53
by HBomb
With respect, I'll be pleasantly surprised if you are be able to come up with any results at all that would stand against humans unless
A: you have an impractically high amount of time.
B: you have it learn from a high number of "succeasful" AIs, find what will probably work and run with that.
C: you're able to speed up the game down to seconds/milliseconds. Even then it would have to be against a single enemy AI, or on a single map.

Pier4r's argument still holds, in my opinion. While there are far fewer pieces than chess, the pieces are a lot more complex with a massive number of interactions with other pieces in comparison. And I'm only thinking of one-on-ones.

However, if you prove me wrong and your AI builder gets to league 4 I'll be so damn interested in how you did it.

Re: Seeking Programmers

Posted: 28 Dec 2016, 09:34
by Hamster
So, If I have understood correctly you want to build an AI that will design in-game AI's.

When building an AI it will have a choice to do nothing(i.e. not build a node) or build a node. In the case it builds a node it have hundreds of options (conditions, move, attack) and if there are other nodes it has to decide the order.

Compared with chess, the amount of options is staggering (you could simplify, to some extent, but even still, the number options is greater than GO -- and lee sedol only recently lost to a machine).

In principle, genetic algorithms could find something. BUT, its also more or less a fact that genetic algorithms usually don't produce successful algorithms; you'll be lucky if after 500 generations you have something that collects resources after killing things.

Neural networks & other machine learning techniques are probably too be preferred (if you want something that wins games, that is).

Its a cool idea for a project and I wouldn't mind pitching in where I can (I'm interested in this sort of stuff, but from a technical standpoint I'll be of little use to you since my entire knowledge base in this area is reading wikipedia entries :)) .

But right now, before a single line of code is written, you (we) should probably figure out exactly what problem we want to tackle and what approach is best.

For example, maybe the best approach is to generate a dataset (of some sort), and then see if you can use something with say mircosoft Azure.

Re: Seeking Programmers

Posted: 28 Dec 2016, 17:12
by HDeffo
Hamster wrote:-snip-

Actually depending on how you look at the problem the complexity is actually essentially infinite due to the fact any number of nodes can be put into a tree.

I had already considered this dilemma and it's the very reason I DON'T believe a genetic algorithm will work in this case just because there are too many mutation paths and it would require a lot of nodes.

The solution is similar to chess and go but to instead have two locations to range instead of only one. I need to calculate in steps how the game will go in X seconds and then limit tree changes to adapt to said seconds also by X steps. You have to remember chess and go are also not solved at all so by that point of complexity it doesn't matter if game complexity increases or decreases because horizon checks tend to be extremely efficient in game engines.

All of this being said while I still feel a game engine is entirely feesible for gladiabots I have postponed this project as other people made me aware it's going to be a complete b word to work on with the game changing rules and logic every few weeks thanks to being alpha. Instead I'm working on another calculative project that uses a human elemeny to produce more efficient AIs. That secret project though only the people in the group chat know the extent of though ;)

Re: Seeking Programmers

Posted: 28 Dec 2016, 18:31
by pier4r
And, if I understood it, should boost the community a bit (at least those that read the forum).