Project Proposal - Game Programming Lab '11

Group members: Daniel Bucher, Etan Kissling, Jan Rüegg, Francois

Team 2: Reign of Darkness

Game Description:

Story

900 years from now... the sun has been destroyed by an accident caused by a species which thought it would be the smartest

The only survivors are entities purely made out of light, which try to collect the last remainings of the only meaningful resources left: light and heat.

They want to possess as much as possible of this resource to live a good life. However, as time goes on, more and more of the stored light vanishes and they start to fight for the only thing that gives them hope.

Mechanics

The player's goal is to collect all the light. However, as more light he collects the brighter he begins to shine and the easier he is spotted by his opponents who will attack him to gain his collected light. The main aspect of the game is to be able to reveal the opponents possible locations by relying on the shadows and lights of the environment.

Big Idea Sheet

  __    __                                           __   __        __              __
 /\ \  /\ \                                         /\ \ /\ \__    /\ \      __    /\ \
 \ `\`\\/'/ ___   __  __        ___     __      ___ \ \/ \ \ ,_\   \ \ \___ /\_\   \_\ \     __
  `\ `\ /' / __`\/\ \/\ \      /'___\ /'__`\  /' _ `\\/   \ \ \/    \ \  _ `\/\ \  /'_` \  /'__`\
    `\ \ \/\ \L\ \ \ \_\ \    /\ \__//\ \L\.\_/\ \/\ \     \ \ \_    \ \ \ \ \ \ \/\ \L\ \/\  __/
      \ \_\ \____/\ \____/    \ \____\ \__/.\_\ \_\ \_\     \ \__\    \ \_\ \_\ \_\ \___,_\ \____\
       \/_/\/___/  \/___/      \/____/\/__/\/_/\/_/\/_/      \/__/     \/_/\/_/\/_/\/__,_ /\/____/


        __      __    _      _      _   _          ___ _            _
        \ \    / /_ _| |_ __| |_   | |_| |_  ___  / __| |_  __ _ __| |_____ __ _____
         \ \/\/ / _` |  _/ _| ' \  |  _| ' \/ -_) \__ \ ' \/ _` / _` / _ \ V  V (_-<
          \_/\_/\__,_|\__\__|_||_|  \__|_||_\___| |___/_||_\__,_\__,_\___/\_/\_//__/

Movement

The player can move freely (fly) in a three-dimensional space. That means, he is also able to do "looping" or switch top and bottom. However, he is in an enclosed room containing many geometric objects, and cannot move through walls or other objects. The game is played in first person view (fpv).

  • 3D Geometric World

out_small.jpeg

Controls

  • Left thumb stick: moving forwards, backwards and sidewards
  • Right thumb stick: turning up / down / left / right
  • Analog trigger buttons (R2 / L2): left / right tilt
  • Trigger button (R1): shooting
  • Trigger button (L1): action

Collecting Lights

At the beginning, many small lights are scattered all over the level. They lie at several fixed locations and can be collected by the players to reach their goal: Capturing all the light.

Light can be collected by simply touching it. It is then transferred to the player and becomes part of the player (see section Growing), making the original location darker, and the player brighter.

Environment Lights

Additionaly to the collectible lights, there is environment light which can be manipulated by the players.
Desired Target:
All players start as white light as are also the environment lights. In the level their are some switches to turn on and off specific lights in the level. By turning off the environment light players can no longer hide in the light.
High Target:
All players start as white light but can change themselves and the environment light by hitting some switches which are distributed in the levels. For example the player hits a red switch so the environment light and the player change to red while the others stay white. So the player which changed the color can still hide in the light but the others will be easier to find. If now another player hits a blue switch he and the environment will change to blue while the others keep their color. (The player which changed to red stays red).

Growing

When collecting lights, the players "grow". That means on one hand, they get brighter, bigger, and have more "firepower". However, that also means their light reaches further (they can better be seen by other players) and they are easier to be detected. The hitbox does not grow when light is collected.

Shadows

Shadows are an important part of the game. The player are themselves "balls of light", casting shadows in the geometric landscape. Players can therefore guess the location of other players (even if they are hidden behind objects), by looking at the shadows (and the movement of shadows) on other objects and walls:

  • Shadows in 3D view

out0001.jpeg

  • Moving shadows in top view

out0002.jpeg out0004.jpeg

Shooting

The aim of the game is, besides collecting the lights and growing, to shoot at other players, so the players can have the lights for themselves.

When players get shot, they get smaller and darker again, "destroying" some of the energy. Thats what the title Reign of Darkness means: As players shoot each other, the sum of all the light in the game decreases over time, until there is only darkness. This also ensures that the games ends eventually, as soon as there is not enough light left.

The simple version of this is that we have a laser gun that gets stronger the more lights we have collected.

A more advanced idea is that every light we collect can be attached within a certain space around each player with an individual direction. Hitting the "shoot" button makes all of the lights shoot at the same time:

out0003.jpeg

This way, the user can choose to focus all the directions to one point, creating one strong weapon, or to spread many lights into different directions, making some sort of "shotgun" effect.

Multiplayer

The game is played against one or multiple opponents who want to compete for light control. Every player sees his view on a part of the screen, resulting in the application of split-screen techniques. Network support will be out of scope for this course.

Game modes

In the standard game mode, there a two ways to win:
  • Either collect a target amount of light (like 70% of all the light)
  • or destroy all of the enemies.

Additional game modes could be implemented by changing these light targets or disabling weapons (so that it becomes a race for light collection).

Technical Issues:

Light effects like reflection and refraction. Shadow casting depending on lightsource.

Stereoscopic 3D (here shown as anaglyph)

Screenshot_01_2D.png Screenshot_01_3D_anaglyph.PNG

Screenshot_02_2D.png Screenshot_02_3D_anaglyph.PNG

Development schedule:

Layered task breakdown:

Functional Minimum
  • 3D environment
  • Player lights
  • Free moving in 3D
  • Collect lights
  • Simple game menu

Low target
  • Multiplayer
  • Shooting

Desired target
  • Players can enable/disable environment lights during the game
  • Environment Lights
  • Maze
  • Extended Game menu (game modes)

High target
  • Players can change color of environment lights and own light
  • Introduction movie
  • Extended Shooting mode

Extras
  • Stereoscopic 3D renderer
  • Mirrors
  • Destructible walls
  • Network Multiplayer

Task List:

Abbreviations:
  • All: A
  • Daniel Bucher: D
  • Etan Kissling: E
  • Jan Rüegg: J
  • Francois: F

Task Description Who Hrs Actual
1 Brainstorming A - 20
2 Setup of XNA A 3  
3 Maze design J,D 30  
4 Setup light / shadow renderer F 40  
5 Place collectible lights F 10  
6 Implement movement with controller J,D 20  
7 Implement multiple players E 25  
8 Implement splitscreen E 25  
9 Implement environment lights F 30  
10 Create game menu E 20  
11 Implement collision detection J,D 40  
12 System Design A 20  
13 Documentation / Wiki A 80  
14 Growing of light spheres upon collecting F 10  
15 Create game modes E 20  
16 Implement shooting J,D 50  
17 Prototyping A 20  
?? High Targets (to be filled in)      

Timeline:

Abbreviations:
  • All: A
  • Daniel Bucher: D
  • Etan Kissling: E
  • Jan Rüegg: J
  • Francois: F

Starting from 7. March 2011:

Due March 7 March 14 March 21 March 28 April 4 April 11 April 18 April 25 May 2 May 9 May 16 May 23 May 30
Task Draft Presentation Final Draft Prototype     Interim report       Alpha release Playtest   Final presentation
1 A A                      
2     A                    
3     J,D           J,D        
4     F F F                
5       F F                
6     J,D J,D J,D                
7         E E E            
8           E E E E        
9               F F        
10     E                    
11       J,D J,D J,D              
12   A                      
13 A A A     A     A A A    
14       F F                
15               E E        
16           J,D J,D J,D          
17   A                      

Assessment:

The main strength of the game is that we use the game graphics as a key element to achieve the goals in the game. It is essential to react to shadows and lights as even the players themselves are light entities. In addition, the environment lights can be used to gain more advantages over the opponents. As far as we know, this is a novel concept in video games.

We want to emphasize that in our case the graphics effects are not only a nice to have but an essential element of the gameplay.

Backgrounds:

Courses in italic are attended in the current Semester.

Daniel Bucher, Semester 7:
  • Visual Computing
  • Computer Graphics

Etan Kissling, Semester 7:
  • Visual Computing
  • Computer Graphics
  • Computer Vision
  • Physikalisch-basierte Simulation in der Computer-Graphik
  • Java and C # in depth
  • Surface Representations and Geometric Modeling
  • Seminar 'Advanced Methods on Computer Graphics'

Jan Rüegg, Semester 7:
  • Visual Computing
  • Multimedia Communications
  • Computational Photography and Video
  • Java and C # in depth
  • 3D Photography
  • GP-GPU Programming
  • Surface Representations and Geometric Modeling
  • Seminar 'Advanced Methods on Computer Graphics'

Francois, Semester 2:
  • Computer Graphics
  • Computer Vision
  • Physikalisch-basierte Simulation in der Computer-Graphik
  • 3D Photography
  • GP-GPU Programming

Tools

XNA 4.0

Page URL: https://twiki.graphics.ethz.ch/bin/view/GameClass/RodProposalFinal
2025-08-03
© 2025 Eidgenössische Technische Hochschule Zürich