20 comments

[ 3.0 ms ] story [ 62.7 ms ] thread
I need to figure out how to turn this into an openAI gym so I can train my DQN on it. I just finished running the code from Deep Reinforcement Learning - Hands on for Pong, and it's pretty cool...
I get that the idea is to have an ever-improving champion, and I like the idea, but it's not going to work out that way in practice. The best way to defeat the current champion will be to exploit it in some way, which will usually lead to irregular, but very specific, behaviour of the challenger.

Then, when challenger becomes the champion it's behaviour will be useless and the next challenger will either beat it easily, or will do the same and the cycle will repeat.

To protect against this, the challenger should have to beat all previous champions, not just the current champion.

In order words, Bulbasaur > Squirtle > Charmander > Bulbasaur
In other words, Scissors > Paper > Rock > Scissors
I’ve never actually seen such a competition where all previous champions must be defeated. Sounds like a much more robust system- any examples of such?
World records in sporting events work this way. Perhaps it is obvious, but I consider it similar. The one diffrenece is of course that they don't compete directly as in this case.
You could solve that problem pretty easily by requiring the next champion to have to have defeated each of the previous winners
As suggested in the post you replied to.
I think you're probably right--but it's worth noting that it depends on the "space of tank behaviors". It's an open question whether there exists a tank that "strongly dominates" other tank strategies.

One way to deal with this could be to have a system similar to ELO in chess, so each tank gets a ranking. This is compromise between having to defeat "champion level tanks", and having to defeat champion level tanks more often than not!

In my limited experience with other programming games, it is rare for one AI to defeat another AI 100% of the time. So for a submitter, the claim their own red tank is stronger than the blue tank should be qualified with a 3 out of 4 wins or similar criteria.
Implement the previous challengers as regression tests!
The game physics look very inspired by Robocode[1]. Great work! I wonder if months of work could yield similar results to what was seen there, with neural networks and dodging and prediction of enemies.

1. https://robocode.sf.net

To name one more nostalgic programming game: RoboWar on the Mac (later ported):

https://en.wikipedia.org/wiki/RoboWar

Corewar is still the granddaddy of them all though, as has already been pointed out here.

At one time, there was a huge list of programming games posted on the 'net. This was a good idea and should be revived.

A strange game. The only winning move is not to play. How about a nice game of chess?