From a Dodging Ball to an Autonomous Drone: Reinforcement Learning in Unity

Streaming Media

Publication Date

Spring 2026

Presentation Length

30 minutes

College

College of Sciences & Mathematics

Department

Math and Computer Science, Department of

Student Level

Undergraduate

Faculty Mentor

Christina Davis

Metadata/Fulltext

Fulltext

Presentation Type

Talk/Oral

Summary

This project is an ongoing exploration of deep reinforcement learning in Unity, where I started by training a ball to dodge varied attacks and am now transitioning to training drones to do the same. Using Unity’s ML-Agents framework, I built a generic attack orchestration system with flying swords using Bézier curve trajectories and swinging blades with velocity prediction.

After getting the ball agent to successfully dodge attacks, I shifted focus to implementing more realistic drone flight with simulated LiDAR and IMU-like sensors, allowing the agent to perceive its environment and react.

Most of this work has gone into building the environment itself: designing systems, handling movement, and figuring out how perception and action interact, rather than just optimizing model performance. Moving forward, I’m combining the drone with the attack system, experimenting with different architectures, and testing deep learning approaches across different sensor inputs to see how they impact learning and behavior.

Project blog: marcocassar.info/dodgingagent
Source code: github.com/Ocramaru/UnityMLPlayground

Comments

Current progression:

Bezier-based attack trajectories

Initial drone flight

Drone navigation with simulated sensors (LiDAR/IMU)

Share

COinS