1. Main Assembly
  2. News

Main Assembly News

Dev Log #9 The Hover Pad - New Part!

Hey Inventors!

Welcome to our 9th weekly Dev Log!

It's time to get creative with a new edition to the parts at your disposal in Main Assembly!

New part – Hover Pad


The Hover Pad is a new part in Main Assembly that works like a replacement for Drive Motors and lets you quickly create futuristic hovercraft.

The main purpose of this part is to make high-speed controllable vehicles, something that is hard to do with physical wheels. The part itself will handle hovering, steering and braking for you but it will not generate any forward thrust, so you'll have to combine it with another part that does just that.



How it works

This part works by applying three forces to the bot:
1. An upward force to create the hover effect. The strength of this force is proportional to the distance to the ground and it works similar to a normal spring. The more you compress a spring the stronger the resistance is.
2. A side force to keep the bot going straight and not slide uncontrollably. This force is also responsible for steering.
3. A brake force when brakes are engaged.



Programming

It offers four inputs that can be programmed:



  • Hover controls the strength of the upward force and defaults to 1.0 if not programmed. Set to 0.0 to turn off this part.
  • Drift controls the strength of the side and brake forces. Higher values will result in a “floaty” feeling with less grip. Setting this to 1.0 allows the bot to move freely with no resistance. This affects both steering and braking ability.
  • Brake and Steer are self-explanatory and works like Drive Motors.




The Steer node offers a parameter called Lean that controls the position of the side force. At 0.0 the position of the force is exactly where the part is, and a positive value will offset the force upwards in centimetres. The effect this has on driving is that it changes the rotational effect when you take turns. Generally, a positive value will make the bot lean more into turns. However, this value depends on the center-of-mass of the bot, so it's not universal.



Under the hood this part is updated at 100 Hz, which is the same as the physics tick rate, to make it accurate and reliable regardless of your current FPS.

See it in action!

[previewyoutube][/previewyoutube]

Learn how to make aircraft:


[previewyoutube][/previewyoutube]

Community Bot Spotlight




This week in the community spotlight is the Su-57 by Akaize, take flight with this impressive fifth generation stealth fighter jet!

See it in action here:
https://www.youtube.com/watch?v=H07_SvH8tUs

Be sure to comment below or get in touch with any builds you feel we should feature next week! :)

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

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

Dev Log #8 - Dev Diary, New Level Dummy Island, Win a Gaming PC More!

Hey Inventors!

Welcome to our 8th weekly Dev Log.



Developer Diary


First of all here's a video of us giving insights about Bad Yolk and Main Assembly!

[previewyoutube][/previewyoutube]

New Level - Dummy Island


Some of you may have caught the dev stream where we showed off the Search N Rescue challenges and the new sandbox level, Dummy Island. If you haven't, you should definitely check it out!

[previewyoutube][/previewyoutube]

(Disclaimer: several dummy inhabitants were definitely harmed in the filming of this video!)

Win a £2000+ gaming PC by building a bot!




PCGamer have a beta open right now that you can join to play Main Assembly, on top of that they are also giving away a high end gaming PC from Novatech. The prize, a Reign SENTRY MKII gaming PC is worth over £2,000. It features an RTX 2070, an i7-9700K and is built for 1440p gaming!

To have a chance at winning you just have to share a bot created in the beta on their forums. You can find out more here: https://bit.ly/MAPCComp

For the chance to win a

Bad Yolk Update


We have a short week this week because of a national holiday here in Sweden! Woohoo!

The 11th of June Launch is moving closer, and we're gearing up for the Early Access release of Main Assembly. We're very excited to share our game and have all the levels and parts open for you to try out!

The office is pretty much empty because of the current global situation, but a few of us walking distance to the office still come in. It's not quite the same when you are close to the release, and the entire team isn't gathered together. But we're in high spirits, feeling focused and happy!

We've also had Tomas, our screenshot specialist update the Steam page with new screenshots. Including this dummy filled beauty!



Community Bot Spotlight




This is the Horten Ho 229 - WW2 german fighter by Krautregen which is an impressive look back at an extremely early jet bomber which may be mistaken for a more modern stealth bomber! So, it's both an impressive bot but also a welcome dive into history!

Be sure to comment below or get in touch with any builds you feel we should feature next week! :)



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

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

Dev Log #7 - Friction and WIP Anti-Roll System!

Hey Inventors!

Welcome to our 7th weekly Dev Log.

Welcome to all the new creators that have joined from the PC Gamer Beta, which you can join here: https://bit.ly/MAPCGamerBeta Plus, a robot building competition opens soon to win a high end gaming PC!

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

Onto the main event...

Friction


When driving your bot around in Main Assembly you've probably more than once flipped your bot or started spinning out of control!

This Dev Log will take a deeper look at the work and progress we've had during development and the different steps that we've taken to improve the driving experience.



We've been testing several different approaches on how to handle friction to give you a great driving experience that behaves in a way that you'd expect it to.

Being able to build basically anything makes realistic friction troublesome since not every creation follows a perfect center of mass. That led us to “gamify” how friction works by trying to make it clever based on what is happening in-game.

It’s easy to get snow blind while trying to balance these things. Because of that, we've had some breaks between each new iteration during the development. Each iteration has coincidentally happened not long before each of the different Betas. By testing your Bots on the Workshop we have been given insight by viewing all the different creations.

Early on in development we used data from the Drive Motors to figure out if you were turning or not and by doing that gave you some more side friction. This didn't work very well because it solved one issue of being able to turn easily but made over-corrections, tall and fast bots were especially prone to flipping over!



That leads us to the next step and what we have in the current Closed Beta. We removed almost all Drive Motor checks and started using the speed and direction of the vehicle to figure out when to add side friction and when to start sliding. This we believe, is a step in the right direction, many bots could now drive faster and still be reasonably controllable.

The difficulty of not being able to test every bot out there we've learnt that instead of flipping over we now have more of a spinning out issue.

Leading up to Early Access we're now working on our next approach where we add more friction again but also we're using an “anti-roll” system where a very small force is being applied when turning and if your wheels are starting to leave the ground.

This helps you to make more sharp turns and hopefully lowers the chance of flipping over with your bot!



Now you are caught up to where we are currently with Friction. Moving forward there's more work to be done on this before Early Access to make your driving experience as good as possible with all different types of impressive creations!

Plus we want them to pass their safety inspections!

Community Bot Spotlight


This is the Jet Core Race Drifter by Hairybroness which has impressive obstacle clearance alongside the option of flight and upside down driving. We'd love to see this with some added anti-roll! Well done. Be sure to comment below or get in touch with any builds you feel we should feature next week! :) https://steamcommunity.com/sharedfiles/filedetails/?id=2088836433

Check it out yourselves in the PCGamer beta!

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

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

PC Gamer Beta - Live Now!

Hey Inventors!

We've partnered up with PCGamer to run another beta before launch!

They're also opening a robot design giveaway soon to win an incredibly powerful gaming PC.

Check out the article, join the giveaway and enter the beta here: https://www.pcgamer.com/uk/we-have-55000-main-assembly-beta-keys-to-give-away/

The beta is live until the 8th of June, ahead of the full launch on the 11th of June 2020!

We hope to see more of your incredible inventions soon! :)

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