July-August 2018

A Unity City Simulation for a Cybersecurity Challenge

A client-server Unity simulation where REST-controlled traffic lights made mistakes immediately visible through crashes.

Screenshot of a Unity traffic simulation.

I simulated a city where car crashes were more frequent than usual.

The state of the traffic lights could be changed through a REST API. Drivers followed the instructions of those lights, so if a mistake was made, collisions appeared in the simulation. There was also support for displaying tweets on a HUD.

The project was the context for a cybersecurity challenge about PLCs. Contestants could see the effect of their work immediately, as crashes.

The architecture was server-client. Every decision of the agents was calculated server-side, and the real challenge was broadcasting those decisions in a fault-tolerant way on minimal bandwidth.

It was built in Unity with C# as the scripting language. I also made the models and animations in Blender.