Hippo Lake is a simulation of a simple environment populated by a number of agents able to interact with each other and their environment.
Its main purpose was to explore artificial intelligence that can be simulated using steering behaviours (and phenomena such as flocking) – and is based upon Craig Reynolds’ “boids”. I’ve always been fascinated by the complex behaviour that can be exhibited by a simple simulation with interesting interactions between elements. The simulation here involves thirty different agents that are steered by the three main components of flocking – cohesion (the desire for an agent to stay within a group of other agents), alignment (the desire for an agent to stay aligned with its neighbours), and seperation (the desire for an agent to not get too close to its neighbours). There are also strong steering forces applied to persuade the agents to stay within the confines of the ice (wall avoidance) and to stop them crashing into the rock bridge (obstacle avoidance). While some behaviour may appear quite random, sometimes it can produce some really interesting results, when the hippos will form little ice skating formations and cruise under the bridge together.
The secondary purpose of Hippo Lake was to explore elements of art asset creation and the process of exporting and integrating into a modern game engine. It gave me an opportunity to start with a blank canvas and learn more about character modelling, rigging and animation in Maya, as well as the process of using exporters to bring these assets into the engine. Initially I wrote a collada-based renderer but moved to the open-source Ogre engine for the performance.
Download Hippo Lake (PC – 6.4Mb)
Developed in C++, Ogre (graphics)
The environment and characters were created in Maya
Textures were created in Photoshop and Flash