Java Program Uses Neural Networks To Monitor Games
tr0p writes "Java developers have used the open source Neuroph neural network framework to monitor video game players while they play and then provide helpful situational awareness, such as audio queues when a power-up is ready or on-the-fly macros for combo attacks. The developers have published an article describing many of the technical details of their implementation. 'There are two different types of neural networks used by DotA AutoScript. The first type is a simple binary image classifier. It uses Neuroph's "Multi-Layer Perceptron" class to model a neural network with an input neurons layer, one hidden neurons layer, and an output neurons layer. Exposing an image to the input layer neurons causes the output layer neurons to produce the probability of a match for each of the images it has been trained to identify; one trained image per output neuron.'"
Probably no one cares, but that's the wrong "queues" there. They mean "cues."
I prefer ties from the 1960s.
So they designed and wrote a neural network for the sole purpose of identifying a limited set of icons? Seriously?
They could have done this using conventional methods that would be significantly faster. Me thinks someone was just doing this for entertainment.
I've use neural network and genetic programming a few time, in work. Its completely different to normal programming. Instead of understand a problem completely, and write a structured solution to the task. You get a network and try and train it until its output matches what you think the output should be, no programming involved.
It's an external program that doesn't have access to the game's internal data structures. Basically it's a bot without hooks to the game and makes decisions solely by looking at the screen.
As someone who's been writing external trainers for games for years (though admittedly it was some years ago), I can assure you first hand that accessing a game's internal data structures is indeed very possible.
And even if I couldn't find that boolean, I'd at least try to hook the point where it tries to draw that icon.
The idea of using image recognition on the screen is so horribly inefficient a method... I suppose it could be used if absolutely nothing else works, but really that's about it.
A polar bear is a cartesian bear after a coordinate transform.