Rift 5

Software Development

Best Project Award!

(Selected By Our Peers)

Spring 2015

%

Grade

Months

Team Members

The Challenge

Our task was to build a complex application in under 6 months using good development practices. We defined our own project and goals. We were required to documented all of our work using various diagrams such as Gantt charts, and UML diagrams. We also had to utilize source control to manage our teams code. Due to this project being open ended with very few exterior constraints teamwork and communication was crucial to our day to day operations.

Our Project

Rift5 is an action game, set in space, with modern graphics and virtual reality based features. Wearing the Oculus Rift, players appear to be seated in a ship cockpit. The ship joystick matches the player’s joystick in reality, heightening the sense of presence. There will be multiple ships, both AIs and networked human players. Ships will have weapons, and there will be physically simulated rocks and debris as obstacles. A variety of game challenges are presented, similar to modes such as deathmatch, team combat, and racing.

Features

Virtual Reality

Using interactive screens and buttons located around the station the user can, select a ship for a mission, configure their stations defense system, customize ships, launch to the multiplayer screen, and a variety of other tasks. This type of design is critical to making a virtual reality optimized game with a natural flow, meaning the player will spend less time looking around massive menus with their VR device.

Voxel Ships

Rift 5 features a voxel ship editor with save and load options. You can currently have up to 6 ships in your hanger. To edit a ship, select a ship slot or add a new one. Once you’re in the editor you can fly around and place blocks in whatever orientation you please. All of the blocks are combined into one mesh for fast rendering. There are also many color options.

Multiplayer

We also implemented multiplayer and user accounts. The race game mode allows multiple players to connect to a host session. Once the race starts all of the players spawn in the same world, their positions are sent across the network to keep all of the game instances in sync. The first person to cross the finish line wins.

Challenges

Due to the massive learning curve, our initial development cycle was slow and our resulting code was poor and expensive. In order to move forward on new features, we found ourselves constantly rewriting our previous code as we learned new methods for accomplishing our goals. We also had to avoid known engine bugs and come up with our own workarounds while we waited for patches to be released by Epic Games. We even documented and reported a few bugs along the way.

My Role

Team Leader – Software Developer

Scheduling

I helped keep the team on task as we tried to balance the documentation requirements with our software development goals.

Focus

I guided the teams focus each scrum cycle to ensure that we had a working demo at the end of each cycle.

Documentation

Everyone was required to actively contribute to our projects various documents.

The Results Were Amazing

Overall our project was very successful. We accomplished our core goals and managed to be selected as the top project. Our final result was both visually appealing and functional. Most of the time we worked together very well and efficiently as a team. We were defiantly one of the more organized teams. We collaborated on documents via Google Docs, and OneDrive, we also kept records of assets that we barrowed from around the web and filled out proper citations based on the license associated with each asset. In the end our game had a number of different modes and a modern looking GUI system.

Like what you see?