I See Sheep: A Practical Application of Game Rendering Techniques for Computer Science Education
In this poster we introduce the Crossbow Engine, which resides at the heart of "The Meadow", an educational game designed to teach students the fundamentals of computer programming in a novel and exciting way. "The Meadow" presents a visually rich virtual environment where the user writes programs to control the behaviour of a virtual sheep. By using modern 3D computer graphics techniques more commonly found in computer games, we aim to provide a higher level of graphical realism than is achieved in similar systems. The intended outcome of this is to entice students into the subject of computer science, and to help them realise that computer programming can be an enjoyable and rewarding experience.
The Crossbow Engine is a work in progress, and currently offers the following engine features:
- A scene graph making use of the visitor design pattern.
- A Lua scripting interface for engine initialisation and the management of user input.
- An abstract machine for the actual control of the virtual sheep.
- A rendering engine, using the OpenGL API and the programmable graphics hardware pipeline through NVIDIA Cg shaders.
Through scene graph nodes and a rendering visitor, the engine currently offers a variety of modern graphical features:
- High dynamic range lighting, with an automatic exposure control inspired by the technique used in Valve's Half-Life 2.
- A sky simulation system with user-adjustable dynamic weather and haze levels, providing seamless transitions from clear to overcast to thunderstorm, achieved through increasing cloud coverage, the onset and increasing intensity of rain and finally high-level inter-cloud lightning.
- Surface shaders also make use of general effects such as normal and parallax mapping, and implementing fog/haze levels, as well as specific effects such as water puddles in the gaps between cobble stones, or billboards that are aligned to face the camera in a vertex shader.
- A number of post-processing effects are provided, including vignette, saturation, HDR-bloom, and depth of field, most of which are user-adjustable.
- For high-end graphics hardware, the latest version now offers floating point frame buffer object support, and volumetric sun-beams.
Deployment of "The Meadow" is planned for later this year, when it will be used as a teaching aid in an undergraduate degree programme.