OpenCart Templates
Home / Technologies / Level Up: Nvidia’s GameGAN AI Creates Pac-Man Without an Und…

Level Up: Nvidia’s GameGAN AI Creates Pac-Man Without an Und…

This site may earn affiliate commissions from the links on this page. Terms of use.

Nvidia has created the first generative network capable of creating a fully functional video game without an underlying game engine. The project was begun to test a theory: Could an AI learn how to imitate a game well enough to duplicate it, without access to any of the underlying game logic?

The answer is yes, at least for a classic title like Pac-Man, which also happens to be celebrating its 40th anniversary today. That’s an impressive leap forward in overall AI capability.

GameGAN uses a type of AI known as a Generative Adversarial Network. In a GAN, there are two adversarial AIs contesting with each other, each trying to beat the other.

Here’s a hypothetical: Imagine you wanted to train a neural network to determine whether an image was real or had been artificially generated. This AI starts with a base set of accurate images that it knows are real and it trains on identifying the telltale signs of a real versus a synthetic image. Once you’ve got your first AI model doing that at an acceptable level of accuracy, it’s time to build the generative adversary.

The goal of the first AI is to determine whether an image is real or fake. The goal of the second AI is to fool the first AI. The second AI creates an image and evaluates whether the first AI rejects it. In this type of model, it’s the performance of the first AI that trains the second, and both AIs are periodically backpropagated to update their ability to generate (and detect) better fakes.

The GameGAN model was trained by allowing it to ingest both video of Pac-Man plays and the associated keyboard actions used by the player at the same moment in time. One of Nvidia’s major innovations that makes GameGAN work is a decoder that learns to disentangle static and dynamic components within the model over time, with the option to swap out various static elements. This theoretically allows for features like palette or sprite swaps.