Zero Gravity is a first person action puzzle game. An empty spaceship is on its way to collide with earth, and a robot has been sent to prevent this from happening. The player controls the robot, and needs to find its way through this spaceship to reach the control room. The spaceship itself has been damaged a lot, creating all kinds of obstacles. Some security drones are still active and try see the robot as an intruder as well. It’s up to the player to outsmart the robots by using the force-fields and zero gravity to their advantage.
Development time | 1 semester, 1 day a week | Main role | Gameplay Programmer |
Team size | 16 | Tools used | Unreal Engine 4.7 Visual Studio 2013 Subversion |
Department size | 4 | Personal Main Objective | Learning how to use Unreal Engine |
This project was the first group project for which we were required to use a game engine that uses C++. One of the most challenging parts to program in this game was the rotation of the main character. The engine was originally built for first person games where the is always an up axis and same horizon. In this game the horizon does not exist and the player is free to move over all axis, however most functions did not allow for changing this easily. Instead of using Euler Angles, we has to use Quaternions, which weren’t hard to use, but harder to understand. What was most challenging was to re-align the player with the surface they are standing on without rotating strangely. Ideally the shortest path would be used to align yourself, but it was hard to determine this. Eventually, with the help of a teacher, we found a way to do this correctly.
Halfway throughout the semester we had the core mechanics working, the player was able to jump around in the spaceship, and make use of the force fields. The path-prediction was also giving a good enough indication of where the player would land. The second block was mostly spend on polishing the game, getting the levels in, and optimizing some code. Since we were all new to the engine, there was a lot of unconsistency throughout the code and Blueprints. I’m quite proud of how far we’ve come with this game using a completely new engine for all of us. I’m sure that if we were to create this game again from scratch with the knowledge we have now, we would be done within less than half the time it took.