The idea of steering behaviours can be traced back to Craig Reynolds’ 1987 paper 'Flocks, Herds, and Schools: A Distributed Behavioral Model’. In this paper Reynolds describes an algorithm that produces a beautiful simulation of flocks. Reynolds elaborates on this concept in the paper ‘Steering behaviors for autonomous characters’ where he presents a comprehensive collection of behaviours ranging from casual motion around a space to complex group formations. In his own words, the ‘paper presents solutions for one requirement of autonomous characters in animation and games: the ability to navigate around their world in a life-like and improvisational manner’.
If you are interested to know about these methods (or even better would like to implement a few more for GameLoop) a useful resource can be found in the book 'Programming Game AI by Example' by Matt Buckland. This was my main resource for the GameLoop implementations as well.