Boids. Simple algorithms to seek (or arrive), evade, separate, flock etc. extended in troix d.
You can find some theory here.
I’m having lots of fun with them.
Also, I found the red book of opengl online for free.
I am planning on starting to make direct opengl calls. At least for the tails of the boids.