AI Programming with SendInput() Only

Started by SageOfTheSixPaths, October 15, 2010, 05:02:54 AM

Previous topic - Next topic

SageOfTheSixPaths

Hello,

     I am almost completely inexperienced in computer AI, AI Programming, and of course SC2-specific AI Programming.  However, that has not stopped me from being particularly interested in these subjects.

     Please forgive me if this is a question that is answered elsewhere (I have searched on google and the forums a bit), but has anyone ever attempted to go a step further than hooking into the games (such as here, and also http://eis.ucsc.edu/StarCraftAICompetition#StarCraftAICompetition) and actually run image recognition on the client screen?

    In other words, have it so that the computer knows only what a human could know from scanning the screen. An AI that needs to look at scouted locations, store states in its memory from what actions have been performed, and select units and perform actions, and use only simulated mouse and keyboard events to interact with the game. 

    In other OTHER words, a computer that does not "cheat" in any way, shape, or form.  I say this because if I understand how the AI scripting works now, the computer always "just knows" what units it has or has lost and things like health etc. without needing to actually select them or observe that the units are killed.

    I would be interested to hear any more educated opinions on the status of such an endeavor or whether, for example, current scripting could be combined with a screen scanning function to modulate what is actually KNOWN by the scripts.

Thanks in advance for any guidance!

   

MTops

I am working on an AI that does not cheat in any way. I have found a unit flag that I can use to test if a unit is visible (through the fog of war) or not. By forcing the AI to use information based on what he has seen, he has the same chances a human player would have.

But having the AI actually scan the screen would be impossible. Because the AI does not use a screen or camera to speak of. As far as I know anyway.