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.'"
Ohhh, can it tell me when to move and shoot as well? Hey then interface it with the keyboard and mouse inputs and all my games can play themselves (like masturbation for computers).
Then I can do other things while having fun playing games.
...
Probably no one cares, but that's the wrong "queues" there. They mean "cues."
Why on earth are people still wasting their time on Neural Networks? Sure, they have a catchy name, but everything else about them sucks. Today we have much more robust methods available, e.g. Relevance Vector Machines, etc.
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.
I just got that obnoxious song out of my head, and now they want to put the whole game in there? No thanks!
CAn'T CompreHend SARcaSm?
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.
Don't play against jackasses. Makes public servers a bit harder to deal with, but it is an easy solution otherwise.
Nerd rage is the funniest rage.
SecuROM has detected JAVA on your computer! Please uninstall JAVA before launching the game.
Except to do something like that you have to analyze the program code of every game you make a trainer for. I've never done that sort of thing, but it seems scary.
An approach like the one they've outlined can probably be moved from game to game with only parameter tweaks.
That is the true beauty of machine learning :)