For GP2 I developed a simple render engine using OpenGL.
I started by establishing an entity component system where each game object had a transform and set of other components which could include a mesh renderer, camera, follow behaviour, audio listener, audio source, etc...
I implemented a collider based trigger system that allows the engine to detect when two box or sphere colliders make contact. In the sample project I use this to change the follow target and trigger audio clips.
You can view the source code for this project on GitHub.
The audio implementation utilised FMOD to support 3D audio.