DevLog 11: Unique Crafting System

Finally, it was time to add a proper crafting system to the BLASTRONAUT game. However, when I started looking around for inspiration, it turned out that in most games the crafting is pretty clunky. Furthermore, in 99% of the games crafting is completely menu-based which pulls the player out of the game and breaks the immersion.

One of the core design pillars of BLASTRONAUT is that all the activities will be embedded into the game world and there will be no pop-up menus. In this Devlog, I will describe my design process for making such a crafting system in 6 steps.

STEP 1. Using buildings for crafting was an obvious choice because it allows us to anchor it to the game world. So I started by drawing some variants. So here is my first attempt:

As you can see, only the function of one building is obvious. So I had to redesign the others until it was clear what is what.

STEP 2. Animating all the crafting buildings will also be important because it allows showing the player that the machine is working. After animating the fire in the furnace, they became much more lively.

STEP 3. Designing the interaction. The goal here was to allow the player to queue up some jobs with minimal effort. And for that, the player interacts with the buildings as usual, but instead of receiving the finished goods immediately, it would take a bit of time and the player is free to leave and do his business elsewhere.

So far so good, but this is where the bigger problems begin to appear.

STEP 4. Solving the issues.

  • The first issue is that if the resource number grow a bit larger, it can begin to overlap with the number on another machine. This was relatively easy to solve by rearranging the UI a bit.
  • The next issue was about how to get the finished resources back. There are two common ways to do that:
    • Drop the resources on the ground and the player picks them up by walking by.  Although it seems to be a fun approach it doesn't suit, because in a multiplayer game, the players will accidentally begin to pick up each other’s stuff, and it will cause chaos.
    • The resources get stored inside the machine and the player has to take them out.  This increases the complexity a bit and also requires adding another button, but it was the best I could come up with.
  • And the final issue was how to reconfigure the machine to produce something else. All I could think at the moment was to add another key that opens the configuration mode.

So after trying to solve these issues, my first solution looked like this. And I know it looks confusing.

And eventually, I improved it a bit by moving the F button right next to E. It looks a bit cleaner but is still really confusing.

STEP 5. So eventually I decided to move on and start working on the configuration panel. And while doing it I discovered that I could actually make this panel so minimal that it doesn't have to pause the game, but instead it can just replace the fuel bar on the top. Furthermore, it could open automatically when the player goes near the building so that I could even get rid of the keypress again.

STEP 6. Finally, I had to put everything together and make sure that all the edge cases are also covered. For example, what happens if the player changes the production while the machine is still running. Well, in this case, it just returns all the previously stored resources and finished goods automatically and still switches the production to a clean slate.

So that is what the final result looks like and I'm really happy about how it turned out.
If you want to try it yourself, then BLASTRONAUT will be on the Steam Next Festival that starts in just one week (21st of February). To make sure that you don't miss it, please wishlist it on Steam, this one click will help me a lot in the future.



Log in with to leave a comment.

I tried your demo today and really like how you implemented the crafting and mining system. In other games it always feels like doing some work ("oh first i need this exact picaxe and click multiple times on one block and then collect this one ore and put it in a furnace by selecting it in a big inventory") and here it's like playing a game...

Thank you! I'm also quite happy about how it turned out. Can cross this system out of my task list and move on to polishing other things :)


You are doing God's work. Keep up the amazing work and effort!