Spacecraft

Designed for "GameDevelopment Methodology" course

Project Description: SpaceCraft is an adventure/exploration top-down 2D game where you control a personalized spaceship that you build using materials collected during your journey. The player has total freedom to build a ship to fit his playstyle.

Context:  Made in Unity for “Game Development Methodology” course in 2021. The team had 3 Computer Science students, 2 Art students, and 1 Creative-writing student.  

My role: I was responsible for designing the Game Loop, which involved understanding the fun elements and balancing the battle and building experiences. Moreover, I was the Level Designer, which involved designing the map and the 4 main quests. 

More info: Itch.io link

 

Printscreen of the game

Gameplay Trailer

Concept: The gameplay is centered around controlling a spaceship that moves in a 2D space. There is a battle component that involves shooting with 2 available weapons while defending from enemy fire. The unique selling point of our game is the ability to change the way the ship is built, by creating and attaching new modules in runtime. 

Objective: To reach the center of the galaxy by following a chain of quests, and completing the storyline.

My role as the Map Designer

My role as the Map Designer was to generate a map with pseudo-random zones of enemies, asteroids and 

programming the quests system to allow our core mechanics to shine!

Design highlight #1: How does the player know where to go? 

I implemented a minimap that guides the player by pointing at the next quest. I achieved it using a secondary camera that displays the player, collectibles and enemies using different icons that are invisible to the Main Camera (Layer Mask). 

Design highlight #2: What are the map boundaries? We are in space, so what stops the player from infinitely traveling in one direction?

My first thought was to create a ring of asteroids that would work as a wall, stopping the player from traveling further. I discarded that idea because it wasn’t logical to have a “hard barrier” in space and the rest of the map practically empty. It might as well be an invisible collider ah-ah!

My solution was to implement an out-of-map zone that imposes a timer to go back to the player or else is game over. I got inspiration from a Tom Cruise movie in which he wasn’t allowed to leave his area to stay alive (spoiler: turns out it was all a lie and it was perfectly fine to travel to other parts – but not in our game!)

Design highlight #3: What happens if the player is killed?

As I learned in my previous project, “Lab-Run”, is very important to have checkpoints throughout any game (unless it’s a rage game). This prevents the players from losing their progress in a frustrating way. I implemented the “safe zones” that allow saving that point as a respawn location and we give enough minerals to build a thruster and gun components after dying.

My role as the Game Loop designer/programmer


A video of me explaining the Battle System and core game loop.

I was responsible for balancing the experience as the game progresses, by setting some “building rules” and adjusting the enemy difficulty.


Design highlight #1: What incentivizes the player to destroy enemies instead of just fleeing dangerous situations? 

I implemented an XP system, making enemies drop bits of experience. In our game, XP is used to limit the number of parts you can add to your ship. Virtually, it should be impossible to finish the game with a Level 1 ship because the last quest involves clearing Enemy Areas.

 

 

Design highlight #2: Enemies should be stronger as the player progresses through the game, to keep up with the player ship advances. How?

I programmed the enemies to spawn with stronger stats and more aggressive behavior as the game goes further. For example, the “Bullet Shooter” enemy will have a higher fire rate and the “Bombers” will try to reach the player by moving in an S pattern instead of in a straight line (which makes aiming more challenging).