Hippo Lake
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























August 1st, 2006 at 10:44 am
[…] I’ve been interested in emergence for a long while - its one of the main reasons that I wanted to create a test-bed to play around with simple emergent systems like flocking (resulting in Hippo Lake). I think some simulated emergent phenomena are the closest that computer systems come to approaching magic - even the very simple such as Conways Game of Life. Perhaps part of the appeal is that you don’t need to write a lot of code to generate something complex and interesting - get the right rule set and parameters and let it go. That said, coming up with the right rules and parameters is not necessarily at all easy. […]