As autonomous vehicles continue to become a “thing,” software developers will continue to program the AI that goes into such vehicles. The problem with working on AI driving software is having a practical way of testing it. While some are seeking open road testing, some developers opt to test in virtual environments.
One such developer is Harrison Kinsley. Known as Sentdex on Twitch, he has programmed (in Python) a self-driving AI and has unleashed it in Grand Theft Auto V. Kinsley is not the first developer to use the game for this purpose, but he is the first to stream the training session live 24/7 on Twitch (see below).
The AI is named Charles, and if you did not know what you were watching, you would swear that it was a homicidal 13-year-old behind the wheel. Charles drives like a player hellbent on causing as much destruction and chaos as possible, which is not an unusual play style for GTA V. Pedestrians are not an obstacle to Charles; they are a target. The AI is also fond of plowing into police cars, driving on the sidewalk, repeatedly smashing into unbreakable walls, and flinging the car into the ocean.
According to Digital Trends, the software “uses pixel-level-analysis of on-screen information to make decisions about how to drive.”
Unfortunately, Charles was programmed without a memory, so not much learning is going on at the moment. Kinsley eventually plans to give Charles a memory. At that point, the AI will use what Sentdex calls “deep learning” to improve its driving skills.
The way it works is, Charles looks at pixels on a frame-by-frame basis. At each frame it decides what to do; accelerate, brake, turn, etc. With no memory, the AI has no other information to base decisions on other than what it sees on the screen for that single frame. From a single frame, Charles is unable to tell things like speed, the direction of travel, and other factors that play into the decision-making process while driving.
Sentdex maintains that even with a short-term memory of only a few frames programmed in, Charles would be able to “know” if it was going forward or backward and at what speed. Long-term memory (again, once programmed) would “remind” Charles how to respond to what the short-term memory is telling it.
It is an engaging and sometimes funny stream to watch as Charles navigates through Los Santos, but it should become even more engrossing as the software blossoms and becomes more advanced.