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

  • You can't hide
  • Watch the Shadows

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. As each player has a color, it is important to be able to change the colors of these additional lights to attain some stealth factor. A red-glowing player in a room illuminated by red light can not be seen really well. However, if a blue player changes the environment to glow blue, the first player is easily spotted and killed.

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
  • Take stereoscopic 3D into account (interchangeable renderer in system design)

Low target
  • Multiplayer
  • Shooting

Desired target
  • Environment Lights
  • Maze
  • Extended Game menu (game modes)

High target
  • Players can enable/disable environment lights during the game
  • Players can change color of environment lights and own light
  • Implement stereoscopic 3D renderer
  • Introduction movie
  • Extended Shooting mode

Extras
  • 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

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