3D-Game: AVZ-Run


AVZ-Run is a 3D-Browser-Game, developed using Javascript and THREE.js as part of the computergraphics programming lab in the summer semester 2016 for the lecture Computer Graphics at the University of Osnabrück with a group of 10 students.

/images/avz_run.png

This 3D escape game takes place in the currently empty General Availability Centre (AVZ) of the University of Osnabrück. As is generally known, the AVZ is at risk of fire and collapse, and semi-annual fire drills and parts of the building falling from the ceiling are the order of the day. In the game AVZ-Run, the whole thing is taken a little further - this time the building is already completely destroyed and the player, a poor student who fell asleep at the computer, must escape as quickly as possible. To do so, he must navigate a series of locked doors with scrambled transponders, rampaging robots and creeping smoke inhalation to get down floor by floor.

The programming lab lasted for three weeks, with group meetings every morning. The game was developed based on the Javascript framework Three.js javascript framework. This enables graphics card accelerated 3D animations directly in the browser without the need for plugins. In the first session, the following basic conditions were set:

  • 3D design, as realistic as possible
  • Freedom of movement for the player with jumping and ducking
  • First-person camera
  • Interface with possible inventory
  • Object interactions
  • There should be puzzles
  • Story mode
  • There should be a time limit
  • Easy extension for more levels

In order to achieve a stronger immersion, we have decided in favour of the the first-person perspective. This makes the player feel closer to the game than would be the case with a third-person view, for example. We have implemented a basic game mode that tells a story. We have also created a level editor that can be used to create additional levels. These can be simply be placed in front of the existing ground floor. The mechanics are based on the player having to solve puzzles to open the open the way to the next level. The player must interact with objects in order to use them at specified locations, and can add certain items to their inventory.At certain points, the player performs an inner monologue which results in hints to reduce the frustration factor. A time limit for passing the levels is set by the player’s life points, which slowly reduce due the constantly increasing smoke.

groundfloor_model.png

The ground floor of the AVZ was hand-crafted to model the real AVZ as faithfully as possible, whereas the starting floor showcases the ease to create a level using our custom level-editor, which allows to create and combine arbitrary polygonal shapes and exports them in the XML-format used by the game itself. The various used items (Axe, Fire extinguisher, keys, sponge, medikit etc) are handcrafted using Blender. Many features of the viewing pipeline of THREE.js were used to create fire effects, collision boxes, the player’s movement, smoke effects, point-light-sources, interactable objects and much more.

Play Here!

Watch how it’s played