SalvageNet: Recovery

SalvageNet: Recovery is a first person exploration crafting game where you are tasked to locate and secure a cache of resources on a hazardous, foreign planet.

Project Highlights

Crafting Progression

Inventory System Design

Level Design

UI Design

Working on SalvageNet: Recovery

SalvageNet: Recovery was my first attempt at inventory and crafting systems and with me being new to the design and implementation of these systems, I decided to make the game revolve around this system. This project was also worked on in two different classes a year apart from each other. That makes this project a good demonstration of the development of my skills, as I was able to refine and improve many aspects of the game with my new insight.

Crafting Progression in SalvageNet: Recovery

The idea behind this game was to build mechanics in the world and use level design to limit crafting exposure and encourage exploration to expand the players reach. To use resource limits and how far out you can explore as a gauge of how far into the game you are. This setup also helps mitigate overstimulation through the crafting system, as gating potions behind tables and resources limit system exposure at any given moment. Goals given are direct, but the game does not try to tell you the best way to complete the tasks, as those organic decisions on how the player wants to approach completing the objectives are part of the fun in the game.

I start by looking at my resources and final products and determine how valuable I consider those items to be. Items are then split into groups based on how strong they are with consideration put into memorable patterns and effect diversity, to make potions memorable and encourage unique playthrough, respectively. These groups are then set behind gameplay mechanics or crafting system limiters, giving player micro goals to complete while working toward their major goal. This gives players incremental motivation to keep them playing and exploring the system. Players can choose which potions they value more and seek those out if desired. A goal of the system was flexibility, so players could choose how they want to play.

While I think my approach to designing the system, the execution could have landed a little better. Some upgrades do not feel nearly as impactful as they should (gather speed) while other are way more useful (total oxygen). My original conceit needed 50 different items players could interact with, so complex mechanics were shelved to make sure those were all attained. More complex potions would be awesome though, giving players more diverse content than just stat changes. I also think this system could use some halfway currencies, something generic players could collect to spend how they want. This could help players feel like they are making progress with each trip, as the points can help mitigate bad luck.

Inventory System Design in SalvageNet: Recovery

Designing and implementing the inventory system was another critical component of this game, so time was spent building that system out. A goal of mine that I had with this system was scalability and how I could handle items being added and removed from the system. This approach gave me the bandwidth to create the 50 items needed as a minimum, but also afforded for me to make changes later, something I took advantage of when coming back and fixing a lot of the previous design that I felt was done poorly.

The inventory itself is essentially an array of empty item tiles with a list of all items the player has tracked in their inventory. When an item needs to be displayed, it grabs the info from an item database to make tile and fills in the blanks. Moving items simply swaps data with the interacting tile, so most of the logic that the player is exposed to is entirely handled by the UI itself. Implementation in this way allows for any item to occupy any slot, but also gives me the ability to filter certain item types out of specific tiles, by marking the tile to reject specific item groups.

Level Design in SalvageNet: Recovery

With much of the game pivoting around exploration as a main engagement driver, I ended up spending time iterating on my level. With this project having two different stopping points, I got to have two different maps that the player must interact with. Since the maps are wildly different from each other, I want to highlight my ideas behind each one and contrast it with the other.

I would say the primary driving factor of my first level was the concept of freedom. I wanted the player to feel as if they could go anywhere at any point, and the only limiting factor was dying while getting there. The only thing gating the end of the game is the final resources, located in each of the three different regions. Facing mortality in this way would force the player interact with the crafting system, since they needed it to reach necessary materials. The problem was that players would see this freedom and spin it how they saw fit. This usually resulted in a death flurry strategy, where players focus on brute force gathering, dying, then just returning to pick up items lost on death. Player really did not craft much or explore that aspect of the game at all. The problem being too open ended, giving players too much room to ignore core concepts of the game.

If the first level's goal were to focus on freedom, the second iteration aiming for limitation and creating interesting exploration opportunities. Assisted by item degradation on death and new environmental mechanics to explore, this new map creates more compartmentalized spaces for players to explore, clustering resources logically. This map still leans on the concept of using distance to limit progression, but the death changes force players into getting upgrades to not die as often. The death strategy is still possible, but not as effective. Better art assets also contribute to the exploration of the map, as unique trees and unique spaces help players identify locations, as well as just make the game look better overall.

While I think the first level pass was a good starting point, the developments done in the second map are undeniable improvements to a weaker space. The level caters to the crafting system much better, while also encouraging exploration through limited sightlines and unique features. Getting good content comes from knowing what content is not good and iterating until you have something good.

1st Final Level Design

2nd Final Level Design

UI Design in SalvageNet: Recovery

UI design ended up being another one of the gameplay aspects that effected the crafting and inventory system a lot, so developing here would be important to the system feeling good to interact with. Much like with level design, a lot of my UI went through significant changes, so I want to highlight differences and point out why I made the changes I did. Later iterations do have more mechanics to consider, but an overall goal of all improvements was to try and create a stronger foreign planet vibe from the visuals on screen.

First Pass


One of the simpler changes I did was with the crafting tables. I leaned more on iconography for buttons, helping reduce the amount of text on screen.

The only other noticeable change is the addition of a help toggle. Players can click the '?' icon to get that help screen to slide out. Previously, this information was in the tutorial once, so putting it here increases visibility for players to know how to use the crafting system.

First Pass


Another smaller change, this also focusing on the use of icons over text. Another consideration I needed to have was for the environmental mechanics and displaying their accessibility. Splitting them apart from the changeable stats was key to making sure players knew these upgrades were different.

First Pass


A lot more drastic changes were done to the main player HUD. Framing the screen in the helmet, along with angling HUD elements helps convey that the player is a space suit, attempting to increase immersion. The tutorial in the previous version was a one-off path that left you hanging once you completed it. The new HUD converts it into objectives that is togglable by the player. It gives the player a passive reminder of what they should be doing right now. Another tremendous improvement is the addition of a hot bar, so the player can use one-off potions way easier. Previously players would need to open the inventory to consume the potion, like every other potion.

First Pass


Providing another filter to screen by table tier was necessary so player knew what they had access to making. Along with additional filtration, the other large improvements made were to the opacity of icons. An item appears faded out if the player does not have the resources to make that potion. This helps players know what is accessible right now, but also allows them to look ahead and plan what they want to craft next. ON the back end, generating this list based on the master recipe list allows me to dynamically ad new combos without needing to hand adjust recipes, making iteration time much faster.