Overview

High Level API Walkthrough

System Overview

Several processes operate in parallel to enable ACI. As Assetto Corsa is run inside a WINE bottle a State Server that scrapes information from ACs memory and forwards it from the WINE bottle via TCP to a State Client on the host machine. Each update received by the State Client is forwarded to a logger which pushes it into a Postgres database. In the same process as the State Client is a thread which captures rendered frames from Assetto Corsa. These frames are bundled with state to form observations that are placed into a shared memory buffer. This shared memory buffer is accessed by the agent process. The Agent Process hands observation to your agent’s behaviour() function and handles submitting the returned action to Assetto Corsa via a virtual gamepad.