Hello, Gunsmiths!
Today we’d like to write about a central problem with developing the game. It is not really a feature, hopefully when playing you will not really “see it”. But it is something that we had to really nail down to produce an enjoyable experience. That issue is how to set up the process of working on a single gun.

First of all, let’s just acknowledge the specifics of firearms. These weapons are fairly complicated and require a very high degree of precision. There is almost no engineering tolerance here - everything has to fit snugly. Even simple early guns from the past had to withstand great pressure during operation.

Their modern descendants have the same physical problems, but are also required to flawlessly perform many additional mechanical functions: for example to switch the fire mode, or to keep feeding round after round in a very rapid succession. And yet, each design is not completely closed and shut. There is a place for modification and customization. That thread right here has to fit down to a tiny fraction of a millimeter, but now over there we’re going to swap out a few parts and it will still function albeit in a different manner. So how to deal with it in a game?

One option is to leave everything to the player.
User can interact with the gun and its constituent parts in any way that is possible. Impose no systematic process whatsoever. Here’s a weapon and do what you will, fix it if you can. We had that implemented, but it was obviously just a step on the way. It immediately confused testers. It could maybe sorta work for the most hardcore audience, but I’d doubt even that. Over a number of iterations we’ve recently arrived at a solution that finally satisfies us. Well at least for now, maybe we’ll tweak it even more as development continues.
Types of workOne part of the solution is to split “contract work” from “owned guns”.
If you were sent a specific weapon from a client, there is one set outcome for the finished work. Configuration and customization are limited to that. Even disassembly may be limited, if you only need to reach a few parts you don’t need to break the whole thing down to every bit and bolt. That makes contracts a natural fit for learning. Player can start with a very easy contract, then progress through a couple of increasingly difficult ones. When he buys his own guns he will already have some idea of how to deal with them. This doesn’t solve the heart of the problem but clears it a little bit.
TestingWhile it's not directly contributing to fixing anything, in real life and in simulation the first step is to see what is wrong.
In the workshop you can try loading some dummies and try operating the gun, observing how it behaves. To field test it with live ammo, it has to be repaired first.
RepairAs for the repair process, here we’ve got a couple of distinct phases. Repair consists of configuration (decide on what gun config you want to build), disassembly, procurement (if any parts need fixing, cleaning, replacing - do it now) and assembly.
During each phase, the player can focus on that specific task and is not faced with every possibility all at once. Go over all phases and the gun is fully functional.
CustomizationExternal modification like painting or adding attachments doesn’t directly interfere with mechanical function of the weapon and it’s separated to its own block.
Putting it all togetherHere having different types of work divided from each other pays out. With contracts the whole flow is going to be very specific. After testing and consulting clients' wishes, you’ll know exactly if it needs to be repaired, reconfigured, or if and how you need to change its customization. Game will keep track of these phases and inform you on the way, so you can focus on how to deal with each task one by one. However with your own guns, after you’ve first fixed them, there is no set end goal.
It is the player who can initiate any of these phases in any order he wants to. It is the same process but ordering is different.
This almost takes care of overall organization. Why not completely? If this was a fantasy game we’d be through. We could just put only things that conform to this flow, or modify them to fit. But with real guns there’s no such luxury and we’ll have to deal with some wrinkles, exceptions, special cases.
They will be dealt with, one at a time.