Project Description:
SpaceCraft is a 2D top-down adventure where you collect materials to build and customize a spaceship that fits your playstyle.
My Roles:
- Level Designer: designing the entire map and 4 main quests in it.
- Game Loop Designer: finding the fun elements and balancing the battle/building experiences.
Context:
- Tool: Unity
- Course: Game Development Methodology course
- Team: 3 Computer Science, 2 Art, and 1 Creative-Writing student
Gameplay Trailer
Concept:
The game revolves around piloting a customizable spaceship in a 2D space environment. Players engage in combat using two available weapons while dodging and defending against enemy fire. The core innovation lies in the ability to modify the ship during gameplay by creating and attaching new modules in real-time, allowing for dynamic strategy and progression.
Objective:
Progress through a series of quests to uncover the storyline and ultimately reach the center of the galaxy.
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?
Initially, I considered using a ring of asteroids as a barrier to limit player movement, but it felt unrealistic for space and left most of the map empty. Instead, I implemented an out-of-bounds zone that triggers a countdown—if the player doesn’t return in time, it’s game over. The idea was inspired by a Tom Cruise movie where the character is told not to leave a safe zone (spoiler: it was a lie—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). I implemented “safe zones” that act as respawn points and provide enough minerals (currency) for players to rebuild essential components like thrusters and weapons after dying.
My role as the Game Loop designer/programmer
A video of me explaining the Battle System and core game loop.
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: How are enemies balanced to match the player progression?
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).
