1. Instruments of Destruction
  2. News
  3. Logic Parts and Sensors Added in Version 0.170

Logic Parts and Sensors Added in Version 0.170

Lots to cover, so let's start with the changelist, then I'll explain how the logic/input/controls work in more detail:

Version 0.170 Changelist:
  • Added new part: Logic Timer - This is an input delay with 2 modes (see below)
  • Added new part: Logic Gates - Use up to 4 inputs and 3 gates to do some basic logic
  • Added new part: Basic Light - Customizable light that can also be used as a toggle for controls that don't have them
  • Added new part: Distance Sensor - Measures distance from the sensor (proximity) or distance from sea level (altitude)
  • Added new part: Direction Sensor - Measures your direction (North-East-South-West-Up-Down) or speed in those 6 directions plus 2 more (Sensor facing direction, or Any).


[Just wanted to interrupt and say each of the 5 logic parts serves multiple purposes. There will be more logic parts and things that trigger outputs, but these 5 should handle most of your programming/logic desires. Onward with the changes...]

  • Added new part: Free Piston - Works like Free Swivel, but in piston form. When not powered in use, it will slide freely. Power is also applied very differently than normal pistons.
  • Added new part: Quad Split S - Splits 1 connector into 4, intended for use with logic parts if you need to use a large number of them (larger version coming soon)
  • Changed and sped up connector + overdrive drawing
    [
  • } Added 3 new part categories and rearranged some stuff (kind of a lot)
  • Adjusted min/max rotation to do exactly what you'd expect (relative rotation from your starting angle) on rotating parts
  • Adjusted min/max rotation angles to snap in better increments
  • Adjusted pivot direction display so it's more relevant/helpful
  • Added advanced build option to enable "independent motor" for limited-rotation parts (now the default)
  • - Independent motor parts will neither be affected by, nor affect, other rotation parts
  • - Set custom "Motor Linkage" index so you can link motors like you want (this is basically the old behavior, but no longer linked to controls)
  • Fixed mirror mode sometimes choosing the wrong mirrored part in certain cases (common with mini-wedges)
  • Fixed some limits/issues with suspension length
  • Fixed the logic for hiding advanced/help stuff


[There were other changes, but I stopped writing stuff down at some point and I've been too busy to go back and find everything I adjusted/fixed/etc.]

HOW TO USE LOGIC PARTS

NOTE: I was working on a video to explain logic parts, but I realized a little way through that there's something missing: A more interactive display of how the parts are connected (logically). Basically I need to draw the inputs/outputs on the part you have selected, and any parts that are directly connected, so that you can trace the logic more easily. So I stopped the video and released this update a few hours earlier than expected. Look for version 0.171 to add that feature (and maybe more) next week, along with a video to cover all the new logic parts.

This image contains the majority of what you need to know about logic parts, and I'll break down the various sections below.



In the bottom right, we see 32 "L#" buttons. These are the logic buttons. They act as inputs for any part (just like a keyboard/gamepad button), and also receive outputs from logic parts. Whenever you have a part selected, all the logic/control mappings with a blue highlight are used by the part, and the orange highlighted one(s) are the ones for the controls you're editing.

There are 2 or 4 inputs for parts that receive inputs, and 4 outputs for parts that have outputs (only the 5 new logic parts so far). Note that there's a lot more detail to remapping controls, but the important thing is knowing which control is active/remappable. The active control has an orange outline, and that active control is what will be remapped when you click on an input (logical or physical). It's a bit confusing at first, but here's a quick way to see how it works...

EXAMPLE #1: Create a logic timer that has a 1 second delay and leave the default settings (Y to start the timer, H to cancel it), then click on "Out Normal" in the upper right, then "L1" in the logical inputs. You should see its "+" output mapped to L1. Now create a thruster, then click on L1 again to map its controls to L1 (because it has no outputs, the "Controls" input was auto-selected). Start the game, and when you press Y, the thruster will activate 1 second later. Press Y again, and the thruster will deactivate another second later.

Understanding the connection between logical inputs/outputs is the biggest new concept, so I highly recommend completing the example above. And here's another one that focuses on two other new parts...

EXAMPLE #2: Create a Logic Gate. Set the top gate to AND (click on it once). Click on "Out Normal" and then on "L3" in the logical controls array. Now add a Basic Light. Select "Controls" next (Y+H), but only click on it once (so both Y and H are highlighted in orange). Then click on "L3" below. Start playing and you should have to press both Y and H to turn the light on.

I think that's enough explanation for now. I'll be hovering in the forums to answer questions, and hop on over to the Discord if you want even more interactive Q&A. Aside from the 3D/interactive display of inputs/outputs to make logic better, I'll be trying out some ideas to make the input remapping a little more obvious/intuitive.

There's still at least one more big wave of vehicle building updates still to come beyond the logic tweaks/improvements: Multi-select, Copy-Paste, Rotating, etc. But I may diverge to work on some less-intense things for a little while. Getting this update done was a massive amount of work, and I need to back away a little and make sure logic stuff is solid before tackling another epic update.

FEATURED VEHICLE REMINDER

Just a quick reminder that this month's featured vehicle theme is Balloon Bombers, and I'll be doing the judging/playing on the 26th of this month, so get your entries in by then.