This Self-Driving Car In 'Grand Theft Auto' Drives Pretty Much Like a Human (Badly)

“Charles” is a Python-coded driver that loves to hit police cruisers as much as you do.
May 17, 2017, 4:00pm

It's honestly kind of difficult to spot the difference between a human driver in Grand Theft Auto V, and a Python code running behind the wheel. After all, it's a game where most of the fun is in bombing through the city like your personal demolition derby. That's exactly what Charles, programmer Harrison Kinsley's self-driving neural network (a computer program that teaches itself to estimate things using input data), does best.

Kinsley's been recording videos of self-driving GTA runs since April, and streams live on Twitch from 9AM to 9PM CT since early May. He's hit a few snags (his internet connection was literally chewed up by squirrels), and Charles occasionally gets stuck on a wall or tight corner, where Kinsley briefly intervenes.

Why attempt AI in GTA? Kinsley writes on his Python Programming blog:

"It's an open world with endless things you can do, but let's consider even just a simple one: Self-driving cars. With GTA V, we can use mods to control the time of day, weather, traffic, speeds, what happens when we crash…all kinds of things (mainly using mods, but this isn't absolutely required). It's just a completely customize-able environment."

Charles drives one frame at a time, basing decisions on pixelated visual data—"Charles only sees exactly what you see," Kinsley writes on the stream description. He's hoping to add some short-term memory and self-learning in future versions.

Researchers for real-world self-driving automobiles use GTA to help train machine learning algorithms, but since Charles spends a lot of its time t-boning cop cars, it might be a few updates before car makers take notes from its skills. In the meantime, it's fun to watch it get shot at.