Procedural animation

Raylib
Trigonometry
Efficiency
For our AI final project, two classmates and I set out to explore procedural animation—an area that blends math, AI, and game feel in a really interesting way. Inspired by titles like Rain World and GTA V, we wanted to investigate whether randomized behaviors and real-time procedural systems could lead to more immersive, believable simulations.

We built a simulation using Raylib, centered around a lizard-like creature that roams its environment and hunts flies. The creature has a defined "kill zone"—a small field of view where it can detect and respond to targets. When a fly enters this space, the lizard will react and move in for the kill.

Instead of relying on traditional animation systems, we implemented our own using a mix of trigonometry and vector math to control movement and articulation. Procedural animation is a complex and nuanced topic, but building our own system from scratch gave us a deeper appreciation for how expressive simple math-driven motion can be.

The end result was a surprisingly lifelike and reactive creature that moved with purpose and unpredictability. More than anything, it was a great learning experience—both technically and creatively—and something we were proud to build together as a team.






About me
I’m a C/C++ developer with a strong focus on graphics programming, low-level engine work, and optimization. I enjoy working close to the hardware, whether it’s refining rendering pipelines, improving performance, or just figuring out how to make things run better. Lately, I’ve been exploring the PS5, getting a feel for what modern consoles bring to the table.

What drives me is building systems that let others create without limitations, whether that’s artists bringing their vision to life or developers pushing their projects further. I like clean, efficient code, and I’m always looking for ways to make things more seamless, more performant, and more intuitive.


juansalvadoraviles@gmail.com