Image Recognition

Started by
14 comments, last by TriKri 18 years ago
Quote:Actually thats what ive started to do but it feels like my ai is cheating.


How is that? If you want a realistic AI for a game like Pong you should be modeling a delayed response like humans have, and including a margin of error on where it predicts the ball will land.

If you force the computer to 'view' the game the way the player does you'll never have a competetive AI on any 'real' game. That type of 'viewing' wouldn't even be desirable for a game AI.
Advertisement
Hes making a bot for a game!!
Colin Fahey did some stuff on using a webcam to control a tetris program.
his site (http://www.colinfahey.com) appears to be down at the moment though. A google cache of the tetris stuff is here:
http://72.14.203.104/search?q=cache:SzpKHOuFoh8J:www.colinfahey.com/2003jan_tetris/index.htm+%2Btetris+site:www.colinfahey.com&hl=en&gl=au&ct=clnk&cd=3
Quote:Original post by Cubed3
Hes making a bot for a game!!


I had an idea to make a bot for Counter-Strike like this before. Just combining an aimbot and an image-recognition AI to run around the map and navigate for you.

Then you could just sit back and watch it do its thing.

But the project turned out to be harder than I thought it was going to be.

Someday!
One thing people keep forgetting about the human brain, is that we can't really process a full image of data 30 times a second. If you tried viewing a slideshow that way, it'd be a blur. Our brain with find components in an image, then assume it's either in the same area, or is moving to a predictable location, then look for that same object in one of the possible new locations.

Your Pong AI could look at the screen, find the paddles and ball, then predict possible future locations for each component. The AI's paddle is very predictable, the ball only changes direction when it strikes a paddle, so the only truely unpredictable component is the oponent's (human's) paddle.

If you want to be tricky, the human brain, at first, thinks that each component can move in any direction at any time. But after a while, it'll learn what the boundries for the movement are. Give your AI the ability to use "experience" and it'll be much more flexable in the future.
E:cb woof!
How would you give your AI the ability to use experience? What you mentioned now was only a specific case where I guess you have to program your AI to learn that a paddle often keeps going in the same direction as before. But how do you use that fact when it is discovered? And what if you want your AI to be able to learn more things than that?

This topic is closed to new replies.

Advertisement