1. Main Assembly
  2. News
  3. Dev Log #6 - Welding!

Dev Log #6 - Welding!

Hey Inventors!

Welcome to our 6th weekly Dev Log.



Thank you again to everyone for taking part in the Main Assembly Open Beta, we were thrilled to see so many incredible builds!

We have a developer stream tomorrow at 1PM BST with two exciting reveals which you can catch here: https://www.twitch.tv/BadYolkGames

Onto the main event...

Welding


Welding is an important part of making advanced mechanical devices in Main Assembly, but explaining the need for it is a little tricky. So let’s talk about trees, cycles and piston engines!

To start with, Main Assembly defaults to a very simple method of building. We place a motor on a chassis: the motor is the child of the chassis. We add another motor, a second child of the same base chassis. We add some wheels, each wheel the child of its respective motor. This forms a simple tree-like structure: each part can have zero or more children, and exactly one parent (except the base chassis, which is an orphan). The tree branches but never forms loops.



This works well for the majority of simple robots, and quite a few more elaborate ones. Each part having precisely one parent (again, except the base chassis; the root of our tree) makes a lot of things easy to handle, from the data we save to the hard drive all the way to efficiently printing the robot. Importantly, when a parent part is moved we can move all its children at the same time, allowing for quick adjustments to your build.

Sadly, there are some things we cannot do with these simple relationships. For example, if we want a piston to push a lever arm, we have a problem: the lever arm needs to be attached to both a bearing at one end and a piston at the other. That’s one too many parents for our simple setup!



This is where welding comes in to save the day. Welding allows us to say: this lever’s parent is this bearing over here, but the lever is also attached to a piston over there. When the piston pushes, the lever must move, and because of the bearing it can only move in a rotational fashion. All is well, our machine works!



Powered levers are not the only case where we need to form a closed circle of attachment. From custom suspension setups to piston engines, there are many cases where we need a single part to consider two or more other parts as attachment points.

Alright, so that’s why we need welding. But how do we use it?

In Main Assembly, you can currently only weld starting from parts that allow movement. Either linear motion – a piston or spring – or rotational movement like a servo, hinge, motor or bearing. In addition, the part you’re welding cannot have anything else attached to it already. These limitations aside, the process is straightforward: select a part, bring up the radial menu (Bound to `E` on the keyboard by default) and hit the Weld action. If the Weld action is not present, the part is not suitable for welding for one of the above reasons.



Your cursor will then change to indicate you’re in the welding mode. If you hover over a target part, a chunky line will appear to indicate the welding direction and range. Welding is currently limited to a 10 cm radius, so keep an eye on that indicator to ensure success.



Just click again to complete the weld between two parts. A floating icon will appear between valid weld pairs, and it will pulsate when you hover either of the two parts involved in the weld.
To remove a weld between two parts, simply select the originally welded part and bring up the radial menu. The Weld action will be replaced with Separate to split the two halves of the weld.

Now, that 10cm maximum range becomes important as you adjust your robot in assembly mode. It is very possible, or even likely, that as you perform edits to your robot some of the parts that were welded will move further apart. In this case, the floating icon will change to indicate a broken weld. If you print the bot now, the parts will not be successfully connected.



You can either adjust your design to bring them closer together and restore the welding, or separate them as above.

That’s pretty much it for welding, at least in its current incarnation. We hope you enjoy creating crazy suspension and elaborate mechanical contraptions with the help of the weld tool!



Thanks for reading inventors, we'll see you next week for dev log #7! :D

Keep your eyes peeled for more opportunities to play the game before launch. Plus if you want to be notified on Steam you can wishlist the game for it's Early Access launch on June 11th here: https://store.steampowered.com/app/1078920/Main_Assembly/

You can also keep up with Main Assembly's development on all these channels:
Main Assembly Twitter Main Assembly Reddit Main Assembly Facebook Main Assembly Discord Team17 Twitter Team17 Facebook Team17 Discord