Inspiration

We wanted a challenge and to be tested, but also to do something that we would enjoy doing and keep us motivated all the way through (Even when things start breaking at 4am). We also wanted to get a real hands on experience with the Oculus Rift.

What it does

The Rift Drift is a game which uses the Oculus Rift. You are spawned in above a beautifully generated 3D terrain & you have control to glide through the air on a hand-glider. Scoring points by flying through hoops and trying to beat other connected players.

How we built it

The procedural terrain was generated by first creating a 2D image of noise using a Midpoint Displacement algorithm, which was then used as a height map in order to produce the 3 dimensional terrain. This algorithm has a roughness parameter which enables you to fine-tune the general shape of the terrain, and in conjunction with a height coefficient and running the entire map through an exponential function, we can create some very interesting terrain.

The terrain is then coloured and lit through a variety of materials and lights in order to give the terrain the icy look it has.

It was all hosted online using Amazon Web Services. We ran it on a Tomcat server using an EC2 instance and using the Amazon distribution of Linux.

Challenges we ran into

Using an unfamiliar language, Javascript, for the core components of the project. The Oculus Rift isn't supported for laptop use. At all. Developing a web socket when hearing it's name for the first time an hour into the hackathon.

Accomplishments that we're proud of

Overcoming our challenges, trying new things and using github properly!

What we learned

A lot about Javascript & WebSockets! About working in a team

What's next for Rift Drift

Run on a Desktop PC!! Much greater land sizes, far greater vertex density (detail), faster running, etc.. Biomes: Generate two more noise maps and then use those as a moisture and heat map. Use these along with the height map to create varied biomes depending on their conditions. Lakes and rivers - areas relatively low to their surroundings with high moisture levels can become lakes, for instance. Extra detail - Trees, buildings, etc. Collisions

Challenges

Amazon Challenge Bloomberg Challenge

Share this project:

Updates