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).
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:
- Moving shadows in top view
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:
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)
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
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