← All projects
Networking / AI & machine learning / LLM & automation · 2026

Zappy

A networked simulation where autonomous AI agents live, cooperate and evolve in a shared world. We designed the whole architecture around a strict protocol: a C++ server running the simulation, an OpenGL client to watch it and AI agents acting in it, then a bridge that opened the same world to a VR headset in augmented reality, a web app and LLM-driven agents with their own personalities.

C++20OpenGLGLFWPythonNode.jsHTTPPixiJSMeta Quest 2LLM API
Team
6 people
Context
End-of-2nd-year project
Status
Done
AI agents learning in a simulated world (image: mikemacmarketing, CC BY 2.0)
AI agents learning in a simulated world (image: mikemacmarketing, CC BY 2.0)

Context

Epitech's end-of-2nd-year project, one month for a team of six. Behind it is a question that matters more and more in AI: letting agents learn and evolve in a simulation before they act in the real world. The challenge was to design an architecture solid enough to run that simulation, with every component following the same strict protocol.

What was built

  • Simulation server in C++20: a single-threaded event loop on poll(), a command queue per agent, time-scaled actions, every rule of the world enforced on the server side, and a written protocol specification (RFC)
  • Graphical client in C++ with OpenGL (GLFW) that follows the simulation live
  • Autonomous AI agents in Python: each one perceives its surroundings, decides on its own and coordinates with the others by broadcasting messages
  • Bridge (bonus): a client that keeps a cached copy of the server state and serves it over HTTP, so any number of extra clients can follow the simulation without loading the server. It connected a Meta Quest 2 showing the world in augmented reality, and a web app for phone and PC
  • LLM agents (bonus): language models connected through an API, with a personality system that shapes how each agent acts in the world
  • A test server to try agents in isolation

Results

1stof the campus