According to this guy, who looked at the assembly of NES Tetris they used a simple rotationTable, and don't care about what type the Tetronimo is.
In that case, there wasn't any animation between frames, therefore it did "rotate".
I did the same while doing an Tetris AI challenge, encoding a 4x4 grid to 4 bytes and applying it to my bit-table representation of the board, which proved fastest. AI block battle for the interested. It's over now, but there's an ongoing AI Go challenge..
Modern Tetris games like SRS, TGM do have animation between frames (and sound while rotating) and it has an effect on the game sometimes. In SRS it resets the lock delay and in TGM2 it counts against the rotation medal.
Sorry for my noshittyaskscience answer..
Hi Tony, some feedback on your survey itself:
I don't think email address is relevant if you're just looking to measure interest
If you are going to collect email address, you should include a privacy policy and outline how the information will be used, how long it will be retained, and who to contact to request it be purged. Honestly, just don't collect it.
I don't think gender is relevant, you aren't a AAA game shop trying to determine your target market for a massive ad campaign
For questions like your interest level, you don't need to say "On a scale of 1 to 5", that's obvious given the choices
About your project, I'm wondering if you are going to proceed regardless of whether people say they think you have a good idea? If so, why bother asking?
Also you've left out some questions that I would ask in the same situation, things like asking if users want to see the simulation play out in real time, or they just want to see the detailed results? And what kind of information or logs would they need in order to see why their AI routine decided to play a certain way?
And in case you haven't seen this, perhaps you can copy some ideas from them: http://theaigames.com/competitions/texas-hold-em
Good luck with your project.
Yep, written AI for a couple of games. There are a couple of website sites where you can submit bots to play certain games. One of these is http://theaigames.com/competitions.
As for actually writing it, the games above define some sort of text protocol where you get the game state by reading standard in and your actions go to standard out. Most of them have a sample bot that covers the basics.
I just came across http://theaigames.com/competitions/warlight-ai-challenge-2 -- it reminds me a lot of Ants... not least because I recognised current leader GreenTea. Somewhat unusually in this space, its engine is not open source.
CodeCombat, while primarily focused on teaching programming, also runs occasional competitions: http://blog.codecombat.com/
You might be interested in checking out The AI Games. It sounds like you’re building something in a similar vein. Might see some ideas you like or don’t like and want to build differently.
Good luck on the project!
There are actualy 14 bots in Python in the competition,
http://theaigames.com/competitions/ai-block-battle/leaderboard/language
We asked for starterbots here
http://theaigames.com/discussions/ai-block-battle/55b1f1115d203ccf128b4572/starterbots-wanted/1/show
From earlier experience, think will have a starterbot for Python soon here:
http://theaigames.com/competitions/ai-block-battle/getting-started
:)
Pretty cool; going to take a look after work. Appears te be a more refined game compared to the Risk clone over at The AI Games. A bit upset about the few choices, but can't change much about that. Same languages as Scalatron.
My standard recommendations if I don't know what area of AI someone is interested in are game playing and computer vision.
You already mentioned a chess bot. I probably wouldn't normally start with that, as chess is quite complex, but you could start with implementing minimax or Monte Carlo Tree Search for something like Tic-Tac-Toe (to see if it works) and then add more heuristics. If you program it in a nice way, it should be relatively easy to adapt it to other games. In fact, you could also just try to use the general game playing API to get access to a lot of games. You could also look at The AI Games.
In computer vision it's probably easy to do some kind of pattern recognition. The MNIST data set for handwritten digit recognition is now considered too easy, but it may still be a decent starting point for you. There should be a lot of tutorials on it. If it is indeed too simple, you can move on to FashionMNIST or something.
But you can do a lot of things. I recommend looking for competitions and benchmarks in AI, because they often give well-defined tasks, an API and maybe even some example code. Especially if that's the case, it should be easy to get started and you can spend as much time on it as you have for this particular project to improve it.
We used LEGO Mindstorms in high school and university, which was pretty cool.
I'm guessing it's probably a bit too high level for middle school students, but /r/LudoBots is an online robotics course by Dr. Josh Bongard that you might be able to take inspiration from. (maybe /u/DrJosh also has some advice for you)
Things like Robocode or the AI games are also fun, but probably beyond the programming ability of middle schoolers.
If they can't program at all you could still potentially run through some algorithms like e.g. minimax for tic-tac-toe.
Mostly focused on AI, from the simple to the complicated - They're not the same kind of games as LoL or Runescape are, mostly because bots in open multiplayer games do tend to ruin the game for everyone else.
All of there games tend to allow python bots. Just modify another example bot from another game and upload it:
http://theaigames.com/competitions/ultimate-tic-tac-toe/getting-started
All of the games communicate over standard input and output, so there is nothing java specific about communicating with the game.
Hey!
The bots can be found on the "Getting Started" page of each competition. Since you're new to programming, I'd suggest taking a look at Four in a Row. The "tutorial bots" are called "Starter Bots". You can find them here: http://theaigames.com/competitions/four-in-a-row/getting-started
Also, I don't think I've received your e-mail :(. Could you try again?
I see you haven't played against MisaMino. It's modern rules though. I guess the best bot which will arises from this AI competition is also on par with an excellent Tetris players.
To answer the original question: Bots are able to survive millions of pieces, human players are able to survive million of pieces (if the gravity doesn't kick in), so a competition where your goal is to survive as long as possible or score as high as possible (without a piece limit) makes no sense. If you take it to VS Tetris (garbage lines sent for making big line clears), then a human would be slightly better with only one preview, but would be worse with let's say 5 previews (because the AI can go through all possibilities and find weird looking moves that turn out great).
You could try making a simple AI for some games. I found this one very interesting: http://theaigames.com/competitions/ai-block-battle
You can download the starterbot and go from there, testing it out online and competing with others. It is fun to watch your bot climb the leaderboards. I'm "Dookiebot" on there, currently #36 but I was #18.
The Nullpo AI is pretty bad. It can't even survive, if you play with memoryless randomizer. There's a singleplayer game with a very good AI called MisaMino, which is also open-source.
Related: Currently, there's a program a Tetris bot competition going on. It will end in 4 to 6 months.
Really depends on what type of AI programming you find interesting.
It could be fun to make a space invaders clone and teach a NN-based agent to shoot the invaders, or teach NN-based invaders dodge bullets that the player fires.
It could be fun to make an AI for some popular or old-school RTS and pitch it against players or other AI's.
You could find a Mario clone and make an AI to beat that in the shortest possible time.
Etc etc.
There are plenty of AI competitions online. Try your hand at one of those! Here's one I found in 2 seconds of googling
I participated in Google's AI Challenge in the past, but it seems they stopped in 2010.
Good luck!