
Top-down space shooter
Engine: Unity
Team Size: 2
Developed: October 2018 – July 2019
Platform: PC
Galactic Gravity Gunner is a space shooter, where the player has to defeat enemies and collect resources to unlock upgrades for his ship. But the player is not able to shoot in a classic way. His only weapon is a gravity gun, which can affect enemy bullets. They can be absorbed and thrown back at hostile space ships. Also asteroids can be altered and used as deadly weapons. If the player unlocks enough upgrades, enemy ships can even be thrown against each other or planets.
I was responsible for the audio integration, the iterative tutorial, and programmed the inventory/ upgrade system. I also contributed to the player movement and the enemy AI system, shaped the UI and worked on weapon types, visuals, level design, and game concept.
the gravity gun
For the gravity physics, that is the foundation of the gravity gun, the real Newton’s law of universal gravitation is used. Furthermore, each object that can be manipulated via gravity has a specific mass and density. Therefore its reactions to the gravity are calculated accordingly. This holds for every object except planets. Because manipulating enemy bullets via gravitational force was found out to be hard during testing. Especially if the projectiles should be altered back to the enemies. That is why we introduced our wormhole mechanic. This enables the player to pull in enemy bullets into the black hole of the gravity gun (via left-click). After that, he can push them out of the wormhole (via right-click) and into the hostile ship. During playtesting this mechanic (that is not necessary to use), improved fun and player engagement.
enemy behavior
Because we faced unfortunate problems regarding Unity’s AI system, we had to code our own “intelligent” enemy movement and obstacle avoidance. This was especially challenging because our enemies should constantly move around the level. During this, they not only have to dodge other moving enemies but also moving planets and asteroids. We tried to make this system as simple as possible. For instance, when an enemy is randomly flying around and will encounter other enemy ships or asteroids, he will just stop, turn around and fly to another spot in the level. When he realizes the player, this obstacle avoidance is disabled. But letting hostile ships move around planets was most difficult. When they fly towards them, ships move perpendicular around them, until they have free sight onto their destination (the player or a spot in the level). Even though it works most of the time, our enemy movement system is not fully satisfactory due to the difficulties mentioned above, but well enough to be fun and engaging.







You must be logged in to post a comment.