• Register


Take on the role of a drone with the ability to design and build robots for your everyday needs! Find unique ways to overcome various challenges in singleplayer or jump into the Sandbox and craft and play alone or with other players.

Create

Challenge yourself and your friends to create the most exciting looking robot using a freeform crafting tool and modular parts! Change your robots color palette to make it your own!

Create

Customize

Put your personal touch on your drone through different paint jobs and collectible cosmetic items earned by playing the game!

customize logo

Control

By using the nodes in the powerful visual programming interface, you can set up controls for your robot. After getting the hang of it, you can dig deep into it and use Sensors to make logic for different types of automation.

Control

Crashl

Your robots will take damage if they crash, fall, or take a hammer to the face! Advanced destruction systems enable bending chassis and damage that effects robot behavior. But don’t worry, you can iterate to improve and respawn your robot as many times as you like.

destruction without boxing bags

Collaborate

Join in on the multiplayer fun to create and play with others in an open sandbox environment. Load any robot you create in singleplayer or build completely new ones under the watchful gaze of your friends.

gif11 without tank resized 70

  • View media
  • View media
  • View media
  • View media
  • View media
  • View media
Post article RSS Articles

Devblog: Programming Robots

News

Hi folks, [BYG]Watts here. This is my first devblog and we're going to talk about something near and dear to my heart: programming!

Happy drone, programmer drone!


In Main Assembly, we want to allow players to control elaborate contraptions and make cunning devices, but in an approachable and enjoyable fashion. Not everyone enjoys writing code, after all!

The brain of any bot is either a Docking Station where your little drone avatar can directly interface with the robot, or a Processor which is designed to operate without direct control. While your drone is docked, your controller inputs (mouse and keyboard or gamepad) are available for you to use in programming. Both Docking Stations and Processors can also use inputs from sensor parts, such as proximity and orientation sensors, get feedback from powered parts, and generate their own signals such as waves and noise.

Advanced docking station


As an important aside, Docking Stations are available in two flavours. The Simple Docking Station has reduced capabilities but can automatically program itself to control robots that look a bit like a conventional car. The Advanced Docking Station is, well, much more advanced!

When you have a docking station or processor on a robot, you can use a shortcut to enter Programming Mode at any time during crafting.

The programming itself uses a node- or graph-based representation. Signals carrying fractional values (normally between -1.0 and +1.0) enter the Docking Station or Processor, from inputs or sensors, and can then be combined with simple math operations (addition, multiplication etc.), tested against each other (minimum, maximum, equality etc.), used with very simple memory systems (take the mean value, delay the input for some time, etc.), and finally sent to powered parts!

One of the simplest such parts is a Motor. If the programming sends a value of 1.0 to a motor, it spins at its maximum speed. If it instead receives 0.25, it will spin at quarter speed. And if it is sent -0.5, it will spin backwards at half speed. Most parts accept this kind of continuous input and respond accordingly.

Programming a drive motor


Slightly more complex is the Drive Motor. This combines a simple motor with a mechanism for turning the wheel, a brake and a suspension assembly. Turning and braking are controlled through independent outputs. As the name hopefully suggests, this part is designed to get robots up and driving around with minimum fuss.

Successfully programmed!


Parts such as Servos and Pistons treat the values they receive as a target position, based on their limited range of motion. For example, if a servo can turn from -90° to +90°, a value of 0.5 corresponds to +45°. It will then turn until its actuator is aligned with this target angle, assuming it is not blocked.

Combining all these features allows for a remarkable level of control! Chaining servos, pistons, hinges and motors permits many degrees of freedom, and the programming lets you adjust these parts with as few or many inputs as you need.

Advanced programming


You can even make a crab bot with just a handful of servos!

Crab!


Comments
Guest
Guest

This comment is currently awaiting admin approval, join now to view.

Guest
Guest

This comment is currently awaiting admin approval, join now to view.

Guest
Guest

This comment is currently awaiting admin approval, join now to view.

DexicD
DexicD

hey if you bad yolk read this can you just tell when will you reliese the game i love it and im watching your main assembly videos and waiting for the game to reliese sorry but you made a perfect game its that perfect that i cant control myself when i see it because everytime i want to play it

Reply Good karma Bad karma+1 vote
Guest
Guest

This comment is currently awaiting admin approval, join now to view.

Guest
Guest

This comment is currently awaiting admin approval, join now to view.

KumaGK
KumaGK

Will definitely be watching this one. Combining two of my favorite game mechanics: Kingdom Hearts' Gummi Garage, and Final Fantasy XII's Gambit system.

Reply Good karma Bad karma+1 vote
BadYolkGames Creator
BadYolkGames

KumaGK Don't forget to wishlist it :)

Reply Good karma+1 vote
KumaGK
KumaGK

Way ahead of ya

Reply Good karma Bad karma+1 vote
BadYolkGames Creator
BadYolkGames

Fantastic! Also! There is a discord channel.

Discord.gg

Reply Good karma+1 vote
Post a comment
Sign in or join with:

Only registered members can share their thoughts. So come on! Join the community today (totally free - or sign in with your social account on the right) and join in the conversation.

Follow Profile
Icon
Main Assembly
Platforms
Windows
Developer
Bad Yolk Games
Contact
Send Message
Homepage
Badyolkgames.com
Release date
Game watch
Follow
Share
Community Rating

Average

-

0 votes submitted.

You Say

-

Ratings closed.

Style
Genre
Adventure
Theme
Sci-Fi
Players
Multiplayer
Project
Indie
Boxart
Boxart
Twitter

Latest tweets from @badyolkgames

🪚The work is underway🔩 Our community is preparing for the SPACE Update alongside Main Assembly's launch, as they'r… T.co

Jan 13 2021

RT @Team17Ltd: Main Assembly launches January 26th alongside the new SPACE Update! 🤖​ Check out the teaser trailer and prepare yo… T.co

Jan 13 2021

👽And for more info about the Space update, head on over to @Steam: Steamcommunity.com See you January 26th 😍 T.co

Jan 7 2021

🤖Inventors🤖 Main Assembly launches January 26th 2021 - alongside a the SPACE Update! 🌌Interstellar creations 🚀Fly… T.co

Jan 7 2021

🚀🌟Become an Inventor 🌟🚀 Main Assembly is 25% off in the @Steam Winter Sale -- ending tomorrow! Get creative 👉… T.co

Jan 4 2021

RT @Team17Ltd: Get flashy with @Razer Chroma! ⚡️ 🧠🟩Use the power of your imagination to invent and create a vast array of wonderf… T.co

Dec 23 2020

🚀🛠️Become an Inventor 🛠️🚀 ❄️Grab Main Assembly 25% off in the @Steam Winter Sale! 👉Get creative this Christmas:… T.co

Dec 22 2020

Another safe landing, wonderful! 🚀 Some of our Inventors are hard at work building spaceships, as they ready thems… T.co

Dec 22 2020

Our community is getting in the festive spirit!❄️☃️ This snowman was a very good lad this year. Well done, Sir!👏🎁… T.co

Dec 18 2020

Embed Buttons
Link to Main Assembly by selecting a button and using the embed code provided more...
Main Assembly
Statistics
Last Update
Watchers
3 members
Articles
1
You may also like
Portstar
Portstar Adventure
Astroneer
Astroneer Adventure
Crash Landed
Crash Landed Adventure
Into The Light
Into The Light Adventure
Retro World
Retro World Adventure
RE:OZMA
RE:OZMA Adventure