Graviator



Description

Graviator is a First-Person-Multiplayer-Shooter that is not about shooting enemies directly. Instead players have to manipulate gravitational forces in the game environment to the enemies' disadvantage.

In Graviator the players use the effect of gravitation as a weapon during gladiator like arena fights. Players stage the fights from the inside of small spaceship like vessels. On top of those vessels a cannon is mounted that can project small and ephemeral black holes onto the environment.
The main objective in the fight is to use this ability and pull other players into close proximity to a major black hole located at the center of the arena. Upon entering this massive black hole the player loses one point and has to respawn.

Graviator is a semester project of students from Salzburg University of Applied Sciences. To develop this game students of both Bachelor Programs MultiMediaArt and MultiMediaTechnology had to work close together.
Since I study both of the courses in a parallel manner, I acted as some kind of link between the programmers and the artists. Nevertheless, my main task in developing this game was programming the game's client and writing some of the dynamic ingame shaders.
For further details on the game's development check out my Dev Blog.

Frameworks:

  • Ogre3D | rendering
  • FMOD | managing sounds & music
  • CEGui | display GUI and HUD
  • Boost | threads & network
  • LuaPlus | reading values during runtime for quick balancing

Team:



Dev Blog

thursday, march 8, 2012
New Gameplay Video is Online!

Yesterday Chris and I recorded a quick round of Graviator gameplay. The gamemode was Capture the Flag. You can watch the video at the top of this page.

thursday, november 3, 2011
Graviator Alpha Test

Last week three of my fellow students and I took some time to run a little test on the Graviator network architecture. During that time we discovered several bugs and and talked about essential features we will apply in the future. You can read more on it at Christian Winkler's Blog.

wednesday, november 2, 2011
Swept Volume Rendering in Graviator

There are several game modes in Graviator. One of them is "Capture The Flag" where the player has to hold the flag as long as possible. The flag is visualized by a short energy beam. Since the vessel that carries the energy beam moves quite fast we can render the swept volume of that beam pretty much like they do it with blades in other games. So what you perceive as flag is not the energy beam itself but the swept volume of that beam.

I used a vertex shader to create this effect on the graphics card.

tuesday, november 1, 2011
Generative Wave Shader added

I wrote this generative shader that simulates the propagation of waves through an obstacle and renders those waves on the obstacle's surface. Its purpose is to visualize the impact of a shot hitting the energy shield like surface of the arena.

Features:

  • shader integrated into Graviator using the OGRE render engine
  • written in Cg
  • can be compiled for a number of both OpenGL and DirectX shader profiles
  • supports up to 10 seperate wave emitters
  • emitters can be placed in 3D
  • waves propagate through object and are rendered on the surfaces

friday, october 28, 2011
Graviator Dev Blog started

Although the game looks like being almost final there is still a lot of work to do.
Tests have to be done, bugs have to be fixed and there are still some improvements I want to apply to the game's graphics and shaders.
But first of all, I want to give a brief overview on the current state of the game.

We started developing Graviator as a student project for two semesters.
In the first semester we focussed on the gamedesign and created several prototypes for evaluation. After this semester we had a basic version of Graviator.
Everything important was rendered, a simplified version of our physics simulation was up and running and a rudimentary network communication made first LAN games possible. Even though the game was far from being finished we complied with the request to present it at the Salzburg University of Applied Sciences: Open House.

For the second semester of development our aim was to turn this demo into a real game. This included several tasks like refactoring a lot of the former code, reworking the game's graphics, physics and network, integrating the server code into the client application and implementing the GUI.

Development is still going on. In the next couple of days I will add information on changes we applied since the end of summer semester 2011.