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.