+
+# Rally Racer
+
+This repository holds a sandbox driving simulation controllable via a network interface as a machine learning and data collection challenge.
+
+# Installation
+From the root of the repository, run
+```sh
+uv sync
+```
+
+To run the game, you can use
+```sh
+uv run main.py
+```
+
+# Generality
+Launching [`main.py`](main.py) starts a race with a single car on the provided track.
+This track can be controlled either by keyboard (*WASD*) or by a socket interface.
+An example of such interface is included in the code in [*`scripts/recorder.py`*](scripts/recorder.py). To run it, simply use the following command:
+```sh
+uv run -m scripts.recorder
+```
+
+# Sensing
+The car sensing is available in two commodities: **raycasts** and **images**. These sensing snapshots are sent at 10 Hertz (i.e. 10 times a second). Due to this fact, correct reception of snapshot messages has to be done regularly.
+
+# Communication protocol
+
+A remote controller can be impemented using TCP socket connecting on localhost on port 5000.
+Different commands can be issued to the race simulation to control the car.
+
+These commands are declared in [`src/command.py`](src/command.py)
+
+## Car controls
+```python
+ControlCommand(control: CarControl, active: bool)
+```
+To simulate key press and control the car.
+
+
+# Controls
+
+- W Move forward
+- S Brake / move backward
+- A Turn left
+- D Turn right
+- F Toggle FPS indicator
+- V Toggle speedometer
+- R Reset car
+- C Toggle raycasts visibility
+- Esc Quit
+
+
+# Credits
+This project is based on the repository [https://github.com/ISC-HEI/RallyRobotPilot_2025](https://github.com/ISC-HEI/RallyRobotPilot_2025), which is in turn based on [https://github.com/mandaw2014/Rally](https://github.com/mandaw2014/Rally)
\ No newline at end of file
diff --git a/car.svg b/car.svg
new file mode 100644
index 0000000..802901f
--- /dev/null
+++ b/car.svg
@@ -0,0 +1,143 @@
+
+
+
+
diff --git a/logo.png b/logo.png
new file mode 100644
index 0000000..8cf9835
Binary files /dev/null and b/logo.png differ
diff --git a/logo.svg b/logo.svg
new file mode 100644
index 0000000..424f65a
--- /dev/null
+++ b/logo.svg
@@ -0,0 +1,202 @@
+
+
+
+