1. Instruments of Destruction
  2. News

Instruments of Destruction News

Multi-Select, Copy-Paste, Rotation, and Local Co-Op?

Version 0.200 has one of the most-requested features for vehicle building: Multi-Selection and Copy-Paste. It's hard to overstate how much this speeds up vehicle editing, particularly for large/complex vehicles. Here's an overview video to show what's new. It may seem a bit dry, but I'd recommend skipping to the end if you don't want to watch the whole thing:

[previewyoutube][/previewyoutube]

In case you didn't watch, the game kinda has local co-op support as well. Not great support, but it's not too hard to create multiple vehicles that use different controls and load them at the same time (copy-paste really helps here), and the game's camera will do a decent job of keeping both players on-screen.

Let's drop the changelist here, then I'll ramble on about improving iteration speed after reviewing the important changes:

VERSION 0.200 CHANGES
Added multi-select to build mode
- [LMB] Drag to select multiple parts
- [Control + LMB] to add to selection
- [Shift + LMB] to toggle selection
Added editing support for multi-selected parts
- Only affects SIMILAR parts (same or resized parts, or wheels of same function)
Changed move [Arrow keys] to support multi-select
- No longer uses connected parts (see below), only what you have selected
- [Shift + Arrow Keys] now does 1/4 movement (instead of 1/2)
Added selected part rotation controls
- [Control + Arrow Keys] now does rotation
- [Shift + Control + Arrow Keys] uses 7.5 degree rotation (instead of 45)
Added shortcuts to select Connected [T] and Same Type [Shift + T] parts
Added Copy and Paste for parts [Control + C] and [Control + V]
- Pastes the new parts where the old ones were by default
Added relative part pasting [Control + Shift + V]
- Based on the highlighted connectors when you copy AND paste (Hold [Control] and you'll see it isolated)
Changed part setting pasting to [Shift + C] and [Shift + V]
- Applies to all selected parts (of a similar type)
Added shortcut to toggle rotation center [W]
Optimized start up time by moving map outline generation to first time you enter play mode
- Saves ~5 seconds to start game
Added some support for multiple cabs (no more single limit)
- First cab is still used for tracking player speed/etc
- Camera now tracks average cab position, will zoom out some based on overall cab bounding box
Made Tires and gears no longer cause sparks when hitting other parts
Added material override option for gears, flex wheel, and all the decorator parts
Added [Control+A] and [Control+I] shortcuts to select all and invert selection
Increased the part limit to 1500

Multi-select works pretty much like you'd expect, with LMB clicking and dragging as the main selection tool. Shift is a toggle modifier, Control is an add-only modifier. There's still one primary part selection, which is what you'll edit in the upper right. If you want to change the primary part selection without much trouble, use Control+LMB.

When you edit a part, it will attempt to edit all your selected parts, but it's pretty restrictive about what parts will get changed. Only similar parts will be edited currently, meaning things that are the same type, or contracted/expanded from each other, or wheels of the same class. I will likely add more "similar" matches, but these were the most obvious ones that don't require extra error checking.

Control + Arrow Keys no longer works like it use to. It's now the Rotate Parts control. As before, Shift increases the precision of moving/rotating parts. I'll add mouse-based movement/rotation of some kind soon, but this works well enough for the moment.

The old Control+C and Control+V functionality (Copy-Paste part settings) is now on Shift+C and Shift+V. I considered removing it, but it's still pretty useful if there are a lot of settings to copy/paste, and it's less confusing now because it just pastes to the current selection (unlike the previous version). It also uses the same part filtering as normal editing, so it only affects "similar" parts. As with normal editing, you'll see some particle effects when things are being edited.

Copy-Paste is straight-forward for the default functionality, but requires a bit of explanation for relative pasting. The important thing to do is HOLD Control for a bit before you copy, and before you paste. This will show the last highlighted connector in blue. That's the connector that the whole thing will be relative to. Note this is ONLY when using Shift+Control+V, normal Control+V just pastes at the original location. The video above shows it decently well, but it's best to just do it a few times with some simple cases and you'll get the idea.

Finally, the cab limit of 1 has been removed. Add as many as you like (1 is still the minimum). The Normal and Isometric camera modes will try to keep all the cabs in view, though it's using some pretty simple math at the moment, and if you pan with the camera it won't object. Combined with copy-paste making it easy to create multiple vehicles at once (or copy one and load another, then paste the old one), you can essentially play local co-op as long as you use a reasonable number of buttons per vehicle. The only real limit to the number of players is the number of control buttons (24). I will likely increase that to 32 sometime, but it's unlikely I'll go above that.

ITERATION SPEED

It's obvious from my early testing that it's a lot faster to edit vehicles with these changes. I thought there would be some improvement, but I definitely underestimated the impact of these combined changes. Speeding things up has been on my mind a lot lately, as I've been trying to work as fast as possible on two projects. I recently upgraded to what is essentially the fastest PC you can buy right now, with an i9-13900k, 64GB of DDR5 RAM, and a very fast NVME drive. [The graphics card is just a Radeon 6700XT, but the graphics card essentially doesn't matter to speeding up game development]

Even after upgrading, the speed of starting Instruments in Unity was still longer than I wanted, but I eventually found the major culprit was a change I made a few months ago to better support custom maps. I moved that code to only run when it's needed (when you start Play mode), and the time from making a change in Visual Studio to playing the game is now under 10 seconds (down from almost 20 before the upgrade). 10 seconds isn't much of a savings on it's own, but I usually make that VS-to--Unity transition 50 or more times a day. It might even be in the hundreds on a day when I'm tweaking a lot of values. Gaining an extra 10-30 minutes of productive work a day is definitely worth it to me, and it's harder to get distracted when the compile/start time is so short.

Getting back to the update for a moment: Version 0.191 recently changed the speed of another important game feature: Reconnecting a vehicle's parts after it's modified. It was about a 15x improvement in speed, and it means the delay when making changes with larger vehicles is a lot less annoying than previously. Because of this speed-up and the connector drawing no longer being a bottleneck, along with the new multi-select/copy-paste combo, I increased the max part limit to 1500. I don't anticipate increasing it much more, though it'll probably reach 2,000 when version 1.0 releases.

THE FUTURE OF VEHICLE EDITING

I expect to make a lot of smaller changes and tweaks and a few part additions, but this is probably the last major change for vehicle editing. There will be more parts, and some general usability improvements, but the majority of future vehicle editing changes will be focused on making the new user experience a lot nicer. That part probably won't happen for a while, as I want to have a better idea of the overall game experience before refining how the vehicle editing is revealed to players.

After the usual follow-up updates/fixes for the next week or so, I'll be moving on to expanding the game's content/potential. I don't know exactly what I'll focus on next, but I'll go over the whole roadmap and see what piques my interest.

Version 0.191 changelist

  • Added new part: Double Wheel
  • Added button to view all logic connections (hold L in build mode)
  • Optimized connector updating so large vehicles are a lot easier to work with (15x faster on 1100 part vehicle)
  • Changed steel orb + XL to use continuous physics (so they are better projectiles)
  • Added non-advanced mode editing of flex panel size (E and S are the shortcuts)
  • Increased max flex panel size so it can cover 5 full-size parts (instead of 4.5)
  • Fixed vehicle note editing being offscreen
  • Fixed connection highlighting showing the wrong index for some logic controls (2nd page and beyond)
  • Remove mirrored rope/flex beam part when disabling mirror mode
  • Fixed not being to rotate socket
  • Increased max number of drawn connectors to 4096 (fixes issues with massive vehicles)
  • Added possible fix for parts having inputs/outputs when they shouldn't
  • Level editor: Fixed ground editing of custom loops intersecting the bottom UI section
  • Level editor: Fixed ground editing not letting you edit the level name
  • Added Option to disable IJKL and numpad controls (keyboard cam controls)
  • Removed Joint Stabilizer in options menu (it's now part of the cab advanced menu)
  • Fixed issue with large buttons having too large a hitbox

Balloon Bombers Featured Vehicle Winners Announced

The theme for October's Featured Vehicle theme was Balloon Bombers. Let's take a look at the video first in case that's what you came for:

[previewyoutube][/previewyoutube]

Here's the full list in text form:

FEATURED VEHICLES
  • Slinky Sky Bomber - Tatsumesan
  • Firework - Detaal
  • UFO - SmokieTheSalmon
  • Smart Magic Circle - Pyroteknikid
  • U.F.O. - Stranger - 54:04
  • A-53 Stormcloud - Chunkboi
  • Bomber Blimp - Dominus Noctis
  • Naughty Floater - Jonny_Arson
  • The JellyFish - ArchG
  • Mace Malstrom - St. Nicolas
  • Double-Hull Airstrike Blimp - Dominus Noctis
  • Air Dominator mk2 - Stranger
  • Orbital Strike - PaperMachine
  • The Massive - Zombie Ninja
  • Floating-Shish-Kebab - IceCreamMan4254
  • Zorglub - Stranger
HONORABLE MENTIONS
  • X Shaped Balloon BOmber - VanWykDanielG
  • Squid (Finished) - YuanGabriel.Maralang
  • Quad Propeller Airship - Turbo Jack Flash
  • Bear Trap Dropper - St. Nicolas
  • Orbital Attack Satellite - St. Nicolas
  • Air Raider mk1 - Stranger
  • Floater - Johnny_Arson
  • Airborne Grinder - Richard333
  • Air Tactical mk1 - Stranger
  • Air Warrior mk2 - Stranger
  • Earth Shaker Platform - Richard333
  • Bombing Zepplin - DarkySword

Thanks to everyone who entered. As usual, there were a number of very cool entries, and I'm always impressed by the creativity of the designs. Recording the footage for this contest definitely took the longest per entry, as flying is just difficult to do quickly/efficiently. It can take a while to move around, it's tricky to line things up, and with these types of air vehicles in particular you can end up way too high or smashing into the ground more often than you'd like.

There were a few entries that I really liked the design of, but were just too difficult to use effectively, so they generally ended up in the Honorable Mentions category. I decided to allow the UFO entries to qualify even though the balloons weren't exactly part of the main design. They were just very satisfying to use, with them exploiting a laser physics side-effect nicely.

NEXT THEME: WALKERS DEADLINE: DECEMBER 14TH

For the next theme, we're going with Walkers! I think we have everything we need to finally make satisfying walking vehicles, so it's time to give it a go. They don't need to be mechs, or have any particular design. The more "pure" the walking motion/design, the better. By pure I mean using logic and mechanics/physics as the main means of making the vehicle move. Using balloons and gyroscopes is acceptable, but I'll probably give bonus points for avoiding them, and thrusters/turbines will feel a bit like bending the rules.

Because this is starting late, and some holidays are coming up, the deadline is a bit longer. December 14th will the last day to enter a vehicle. As usual, set the vehicle category to Featured so it's easier for me to find it. Can't wait to see what you guys are able to do with this theme.

DEVELOPMENT UPDATES

I've been taking a short break from Instruments development to work on my side project. I'll probably reveal a trailer/demo for that in December, but I'll be back on Instruments full-time for the next week or two. My goal is to get all the remaining advanced vehicle building stuff done. I may be adding some new (simpler) parts, but the main focus will be getting multi-select, copy-paste, and related functionality in ASAP. Will fix some bugs along the way as well. While I don't expect to expand the types of vehicles that can be built much more, these updates should make it possible to build large/complex vehicles a lot faster.

Adding more content is also on my radar for things to do soon, but I feel like the game needs even more stuff to do (more objectives and more things to interact with) before I go down that path. The amount of work left on the game is sometimes a bit overwhelming, but I feel like I get more done when I don't think about it too much. The long-term plan/roadmap has a good overall direction, so I'll just keep chipping away at it and we'll get the game done when it's done.

[I apologize for the delay in announcing the winners, as there were a couple issues, including some severe illness, that slowed down the video's creation. Will try to make sure we get the video done quicker in the future.]

Version 0.190c changes

(The first change is pretty significant, powered swivels/pivots will generally be more powerful)

Made a number of changes to powered swivels/pivots
Added torque multiplier for powered swivels/pivots
Fix axles and floppy+breakable
Adjusted steering wheel model (pushed wheel inward to make it more stable)
Adjusted chain link to be more stable (but no more distance flex)

Version 0.190b changes

Fixed connection bugs with axles/drivetrains
Fixed connector/collision issue with solid pipes (especially large one)