1. Instruments of Destruction
  2. News

Instruments of Destruction News

Prepare for Take-Off: New Flying Parts And MUCH More!

Version 0.190 has a lot of changes, so I'll reverse the recent trend and go over the highlights of it first, then drop the full changelist below.

FLYING PARTS
There are 4 significant new flying parts (5 if you include an XL version), and an updated Vacuum Turbine to be an alternative to Thrusters. Adding flying parts to the game changes the dynamic of the "gameplay" significantly, but so far there's not much to do with flying vehicles in the game, aside build them and fly around 1 map. All the islands in the game don't really feel big enough to fly on, so I created a new procedural ground plane generator, and updated the level editor to support larger maps. And added some new effects to make flying feel better. And created a map that actually feels big enough for flying. There were many worms in the can that is flying parts, and I don't think I'm done figuring out what to do with them all.

Either way, here's where to start: Go into Sandbox mode (now loads Desert Test by default), and load up the Showcase Vehicle: First Flyer (3rd column on the bottom). That's a new vehicle that uses a lot of new parts, including 6 wings. It's not a great flying vehicle, but it introduces some of the basic concepts for the new parts. The thing that's probably the strangest for Instruments of Destruction is how I handle wings/propellers. I made them omni-directional, so it doesn't matter which direction they spin/move through the air. Wherever the top of the wing/blade is, that's where it'll move when it spins/moves through the air. It doesn't make sense for aerodynamics, but it makes building vehicles easier.

RESIZABLE PARTS
After figuring out how to get pistons and suspension to have more variable sizes, there were a number of other parts that made sense to add with variable sizing. Each category has required some pretty specific code changes to get each variation working, but it should be easy to add more resizable parts in the future. There are now Solid Pipes (normal and large) that can be variable length, a Flex Panel that has variable length and width, and a Flex Wheel with variable size. There will be more resizable parts in the future, and I'll probably unify how they are sized to some extent. They kind of remove the need for certain other parts, but I'm not going to worry about that yet...

CAMERA IMPROVEMENTS
I've been putting off camera improvements for a while, but I finally started somewhat down that path thanks to a bug that Scrapman found. It started by fixing that bug, then with some changes to how save/restore points work (one existed before, but it was barely usable), then I finally improved Follow cam so it is no longer completely embarrassing. I also added IKJL as controls to move the camera around with the keyboard.

FLOPPY AND BREAKABLE VEHICLES
I've had requests to make vehicles breakable for a while, though I've resisted because the game is about destroying buildings, and having indestructible/super-tough vehicles is a way to stand out from other games where you always have to worry about whether your vehicle is stable/solid enough to work. But I recently realized I could make a quick and weird version of breakable vehicles by inserting breakable fixed joints between every (solid) part. So that's what I did. It's only available in Sandbox mode (advanced mode, select the cab) and it is NOT a serious feature, because of how wobbly the vehicles get, but it's kind of fun to mess around with. It works better on smaller vehicles than larger ones, and you probably want to turn up Joint Stabilizer (which is now easily accessible when selecting the cab). Once you turn it on, you can adjust how breakable the vehicle will be as well. At some point I may improve/expand on this feature (particularly once local two-player support is in), but for now it's just a little bonus thing.

WHAT EVEN IS THIS GAME?
Between the logic parts last week, all the new stuff this week (didn't even mention gears are in now), and all the level/structure editor stuff that's hard to learn but quite powerful, Instruments of Destruction has a lot of POTENTIAL things you can do with it. That's what the game has had all along: potential. It is very much a Sandbox game, and I've embraced that, but at some point I need to add more content for people who aren't as into building things on their own, or exploring Steam Workshop. Building a vehicle is also pretty complex, with so many more choices and advanced features than it started with, and I haven't even added multi-select or copy-paste yet. Those features will make complex vehicles faster to build, though it won't really change the possibilities as much as anything from the past few weeks.

With all this new stuff smashing into the game recently, I need to take a break from it and just let everything simmer for a while. I'll be doing little fixes, and probably adding some more (easy) parts over the next few weeks. I've been alternating between Instruments and a side project for almost 2 months, and overall it's helped my enthusiasm and productivity on both games. Rather than a less productive but constant slog, I've been doing the most productive work of my life. That is split across 2 games (about 50% each since the end of August), but I've been at least as productive on Instruments in September/October as I was in any month since February.

The overall plan on the roadmap is still the same, and the timeline is too (1.0 in second half of 2023). Happy to answer any questions/concerns, but let's finish up for now and see the full set of changes...

VERSION 0.190 CHANGELIST NEW PARTS
  • Added new parts: Propeller and Propeller XL - Gets more lift from spinning than movement
  • Added new part: Wing - Gets more lift from movement than spinning
  • Added new part: AeroFlap - Tries to keep the vehicle moving in the direction of the flap (forward+backward)
  • Added new part: Gyroscope - Much stronger than real gyroscope, with separately adjustable spin dampening as well
  • Added 3 new parts: Power Drivetrain, Fast Drivetrain, and Axle - Added support for multiple connections on the 2nd half of a joint piece, so these are like swivels with multiple connectors
  • Added 2 new parts: Solid Pipe and Large Solid Pipe - Adjustable length pipes (Use E and Shift+E to change length)
  • Added new part: Flex Wheel Fixed - Adjustalbe size wheel (use E and Shift+E to change size)
  • Added new part: Flex Panel - Variable sized panel in length + width
  • Added 4 new parts: Gear 10/12 and Gear 16/18 (expand 10->12 and 16->18)
  • Added new part: Magnetic Plate - No more cages to trap Steel Orbs
  • Added new part: Fixed Bomb S - contract Fixed Bomb


PART CHANGES
  • Increased maximum vehicle parts to 1200
  • Added Thrust modifier for Turbine Vacuum (up to 5x thrust compared to previously)
  • Increased max distance to 500m for the distance sensor
  • Added new modifier to Fast Swivel/Piston: Ramp Speed (how fast it gets to full power)
  • Added Inflate Speed modifier to Balloons
  • Added Joint Stabilizer shortcut to Cabs so you don't have to go to Options to change it (still a global option)
  • Fixed distance sensor light not working (same with arrow always being red)
  • Fixed distance sensor not being active in build mode
  • Fixed toggle swivels ignoring independent motor
  • Fixed Power Swivel S doing nothing (not sure when it broke, but it's fixed now)


GENERAL/CAMERA CHANGES
  • Added Floppy + Breakable mode to Sandbox if you want to have a breakable vehicle (see above)
  • Improved follow camera so it is less jittery, better for nearly all situations/vehicles (not great, but stll way better)
  • Updated/improved camera save/restore (Tracking/Free mode)
  • Use Shift+F7/F8/F9 to save positions
  • Use F7/F8/F9 to restore positions (shows valid restores in upper right)
  • F6 restores previous position from the last time you played
  • Added IJKL as camera movement keys (in most camera modes)
  • Increased max draw distance by 3x
  • Added groundwash effect for moving quickly over the ground (visual effect)
  • Added ground effect force boost when using a Heli Blade or Wing near the ground
  • Forced box colliders on level meshes to have a thickness of 1 in every dimension (fixes treads collision issue)
  • Sped up camera follow speed for Tracking camera mode
  • Updated first showcase vehicle and moved crystals away from trees on Pisces
  • - Still not sure why trees are leaning over randomly
  • Made CTRL affect all camera mouse movement with middle mouse button/wheel (5x speed)
  • Added First Flyer as a new Showcase Vehicle (replaces Triple Threat)


EDITORS
  • Made it possible to zoom WAY out in the editors
  • Removed speed-based camera shake in the editors (slightly reduced in-game)
  • Added new ground-plane generator for non-water using maps
  • Added shadow distance modifier to environment settings in island editor
  • Added HIDDEN IN-GAME and EDGE SUPERFILTER options for loops in ground editor (so you can generate grass/rocks on the ground plane that fade nicely)
  • Fixed some issues with the editor and orthographic mode (way more usable for island editing)
  • On maps with no water, added a surrounding dust effect when the player goes fast

Massive Logic and Advanced Usability Improvements

Logic parts arrived just a few days ago with version 0.170, but version 0.171 and 0.172 have both done wonders to make them more user-friendly and enjoyable to use. And version 0.172 brings major improvements to a lot more than just logic parts.

Before we get to all the changes in version 0.172, here's a video that takes a quick look at a few ways you can use logic parts on your vehicles:

[previewyoutube][/previewyoutube]

Here's the full 0.172 changelist:
  • Improved input/output drawing, particularly when hovering over a control
  • Added visualization of distance/direction sensors (toggle on Debug Draw in Advanced Mode)
  • Added visualization of laser range
  • Added visualization of angle ranges for pivots and swivels with limits
  • Added visualization of position ranges for pistons/suspension
  • Made Logic Testing process/store in the actual gates during build mode (easier to debug complex logic)
  • Added adjustable starting angle to Suspension Socket
  • Added adjustable rotation limits to Suspension Swivel, Suspension Arm, Suspension Socket, and Pivot Spring
  • Made angle limits on powered pivots/swivels automatically update based on the starting angle
  • Made starting position restrict min/max position instead of the other way around (prevents breaking things better)
  • Added a new sandbox island: Desert Test (it's an early work-in-progress)
  • Made it easier to work with giant planes and loops in the island editor
  • Made it possible to fade the grass/rocks over a longer distance (per ground loop)
  • Removed default inputs from Logic Gates
  • Fixed (I think) toggle controls so they work with logic at very low/high frame rates
  • Fixed the input lights on logic gate updating at the wrong time
  • Fixed showing the popup for outputs when mousing over a physical control
  • Fixed lights not working with Always On
  • Fixed input/output drawing to highlight in double-mode correctly
  • Fixed being able to accidentally assign inputs/outputs to things that should have none (Logical Control buttons)
  • Fixed Suspension S having controls shown
  • Fixed some new first-time tool-tips being wrong
  • Fixed rotation of large piston (and others)


The big focus for 0.172 was on making advanced vehicle/part editing easier and more enjoyable. This means being able to see the exact range of motion for pieces that move and rotate, being able to see how distance/direction sensors work, and having logic gate processing fully functional while in build mode. And while version 0.171 introduced 3D visualization of logic controls, 0.172 improves the consistency and functionality of the visualizations significantly.

It should be a lot easier to create and tune complex vehicles than it was last week, not only because of the logic parts, but because it's a lot easier to adjust part settings and see exactly what those settings are doing. In the near term, I'll be adding some new parts, mostly based on recent requests, but I'm definitely heading in the direction of getting more flying parts into the game soon.

EXPANDING THE HORIZON

I added a new test map for Sandbox mode, one that has no water but instead has a very large ground plane. The purpose of this map, very much a work-in-progress, is to see how large a map can be without breaking the game. I made a couple editor improvements so these types of maps are a bit easier to work on, and I'll likely be tweaking some other settings to make large, water-free maps easier to create.

The water plane's fixed size in Instruments feels like kind of a limiting factor for flight and fast vehicle testing in general. I'm not interested in redoing the water currently or messing with it in general, but I do intend to replace it at some point. I just don't know when, so rather than apply a bunch of temporary hacks/fixes/etc, I'm going to make sure that giant water-free landscapes work well instead.

A similar problem/issue to water is also lurking with grass and rocks, but it's one that's a little easier to ignore for the moment, and that system is far less likely to get replaced. I'll think about the bigger issues and makes tweaks as necessary, with any potential LOD system being limited to straight-forward techniques like distance scaling/culling/etc rather than anything fancy.

Anyway, it's been a very busy past week. Aside from some new parts, the only thing I plan to work on this week is adding optional outputs to things like pivots and pistons. I'll be on the lookout for any other bugs or issues with logic parts/etc, though I think the majority of the problems are handled for the moment.

Version 0.171 changelist:

Added 3D logic connection drawing for logical controls
- Shows current part by default (if it has any, or if it's a logic part)
- Shows parts with inputs/outputs when you mouse over a physical/logical control
Increased logic controls to 1024 (from 32), added page up/down controls to advanced mode (PageUp/PageDn also work)
Changed logic to run on FixedUpdate instead of Update, so it behaves the same at variable framerates
Changed Input/Output selection to be per-button instead of a 3-click cycle
Adjusted weapon sound volumes to be a bit more balanced

Version 0.170a changes

* Added popup display to show what input/output you're assigning controls to
* Added shortcuts to change inputs/outputs remapping (5-8 on main keyboard)
* Changed outputs so they can also assign to a full axis
* Fixed issue with showing gamepad controls breaking build mode
* Changed things to be named INPUTS/OUTPUTS/CONTROLS consistently

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.