1. Instruments of Destruction
  2. News

Instruments of Destruction News

Version 0.261 Changelist

Added new part: Invisible - everything attached to same rigidbody disappears at game start (but still runs logic)
- Intended for making it easier to create/edit complex logic (no need to hide most things inside other parts)
Added new smaller part: Side Piston S
Updated 8 more parameters to persist/copy when expanding/contracting parts
Added Spread parameter for Bomb Launcher, Cannon, Gauss, and X8 Rifle
Changed default spread for Bomb Launcher, Cannon, and Gauss
Fixed a number of slanted loops that got broken (SP islands)
Made mirror-rotation syncing more robust (mirror pasting in particular)
Fixed copy-paste of ropes being broken
Added sound override for lasers
Removed limits for flex panel offsets (length + width)
Added a selection box to make direction sensor mode more obvious (and allow a speed of 0)
Fixed slot 32 on sequencer being unselectable
Fixed pushing [ or ] making the hovered button activate
Fixed browse workshop pages not working for maps
Made mouse snap to center of screen when FPS mode is activated
EDITOR: Added support for looping paths
- There are now normal (closed/solid) loops, paths, and path-loops

FUN FACTOR Featured Vehicle Winners

In this update we'll take a look at the "Fun Factor" featured vehicles, reveal the next theme, and look at how the campaign progress is going. First, here's the video for the Fun Factor vehicles:

[previewyoutube][/previewyoutube]

FEATURED VEHICLES
  • Eldritch Lord - RequinRanger*
  • Hex-Storm - JacuJ*
  • Stinger - Stranger
  • Nothing Overkill Here - Snicker_Nee_Yo
  • Robot mk2 - Paudl
  • Laser Spear - DarkySilis
  • MCCH Ascended Crystal - Arad
  • Bardl (Object Launcher) - Mazapine
  • TCCH Great Worm - Arad
  • Flying Monster - Paudl
  • Spore V3 - PyroTeknikid
  • Shock Factor - Mr. Bigglesworth


HONORABLE MENTIONS
  • ShatterDrone - AjaxGamr
  • AI Whirligig Saw - Jussi
  • Dragon - Stranger
  • Mammoth - Stranger
  • Junkasaurus - St. Nicolas
  • Tornado Madness - Costello
  • Heavy Escavator - DrBean
  • LCCH Prometheus - Arad
  • Explosive Barrel Mortar - [Arch]B_Glo
  • Mole Shockwave Blaster - Kili
  • HCCH Octopoda mk2 - Arad
  • Gilded Ornithopod - [Arch]B_Glo
  • Junk Muncher - St. Nicolas
  • LCCH Wandering Crystal - Arad
  • 34-Hurricane - Dr.Boom Ultra
  • Flapjack - Zombie Ninja
  • MCMW Secutar C-E - Arad
  • Mosquito - Stranger
  • Spinning Laser Disc - Richard333
  • Harvest - ID24601Right
[Apologies if I misspelled anything in the list]

There were a lot of solid entries into this month's contest, and many close calls between the Honorable Mention and Featured Vehicle list. As I've been finding out over the past couple months, creating a vehicle that has a unique purpose/function, fun and easy-to-use controls, and a cool design is a difficult task. There were two vehicles that were especially impressive this time: Eldritch Lord from RequinRanger and Hex-Storm from JacuJ. Hex-Storm is particularly outstanding from a technical and design perspective, while Eldritch Lord is just so creative and mesmerizing to use. Both of them inspired me to create new vehicles for the campaign, and I anticipate creating a few more that are roughly based on other entries. Thanks to everyone who entered the contest, as this was a very enjoyable contest to try all the vehicles!

NEXT THEME: GRAPPLING HOOK
NEXT DEADLINE: JULY 19TH, 2023


The next theme will be "Grappling Hook". Use the grappling hook itself, or some other combination of ropes/winches and attachers or similar parts to create a machine that uses a grappling hook in some interesting way. Functionality, ease of use, and overall design will be the priorities. It can be a vehicle that climbs stuff (requiring tough structures is fine), one that tears structures down, or anything else as long as a grappling hook-like device is a key element. The deadline is July 19th.

CAMPAIGN PROGRESS

I've been back working on Instruments recently, with various changes to Rhythm Storm completed (more details and new videos on the RS Steam page on June 6th when the beta demo goes live). Mostly I've been working on additional vehicles, some inspired by the fun factor vehicles, and creating a new video for the game to highlight them. That video I'm not sure will be public, as it's mostly for entering PAX Rising and other online games festivals. Will see how it turns out before making a decision.

After the video is wrapped up, I'll continue working on more features for the campaign (objectives/enemy AI/new objects/etc). I have 44 vehicles that are pretty close to final, with 6 more planned. I hadn't been counting and didn't really expect to reach 50 vehicles, but it seems like I might as well aim for it now. I'm not sure all of them will make it into the campaign with their own missions, and some might just be reward vehicles or alternate vehicles. I expect the vehicle lineup to be one of the key selling points for the game, so I'll be polishing and refining them even after the campaign is initially released.

I'm unsure if the number of maps will be more or less than the number of vehicles. The current plan is for each map to have 2 missions, with the main one having 3 stars to achieve (simpler and different requirements than the current system), and the other being a score-based mission of some kind (time/destruction/enemies destroyed/etc). Some vehicles will definitely show up in multiple maps, and its likely you will be able to switch vehicles in the middle of certain missions.

That's a lot of stuff to work on, and I'll also have some sort of beta-testing before the full launch of the campaign. Before getting too deep into all that, I want to do a pass on bugs and other easy suggestions, so look for a new version in the next week or so.

Version 0.260 brings improved ground/terrain (but there's a catch)

Version 0.260 is heavily focused on new ground/terrain editing tools and improvements. These tools add more complexity/potential to terrain generation, and I know they are not exactly intuitive. I intend to make a video about the terrain stuff, but I just don't have enough time to do it this week (due to important non-work stuff).

Rather than delay the build itself, I decided to release it now, as there are some other gameplay fixes that I want to get out there sooner than later. There's also a new sandbox map, Oasis Test, that replaces Bridge Tester. It's not finished, but it shows some smoother, more "hilly" terrain and has a couple of the new path-style terrain loops. There's still a little refinement to do on the terrain editing, but it's pretty close to final. Next week I'll wrap up the refinements and do the tutorial video for Terrain mode (formerly known as Ground mode). Here's the full changelist:

GAME/BUILD MODE:
Fixed the up/down arrow between controls (made it swap instead of selecting both which made no sense)
Fixed flex treads not working with auto-braking
Fixed direction of changing override sounds in the UI being reversed
Fixed flex panel/triangle/etc not going up to 10 in length/width slider UI adjustments
Fixed fog still being active even when it shouldn't be
Fixed bug with camera mod in FPS mode not working when more than 1 is present

EDITOR:
Added new option to use loops as paths instead
- Creates a road/path instead of a loop
- Path points can be moved vertically (independently), unlike normal loops
- Path points have width, y-offset, and slope offset values
- Does not use Upper or Structure-based grass/rock generation
- Control over side generation is start/end/left/right, not per point
Added per-type filters per loop for grass/rock generation
Added Negate option (and Negate Offset) to cancel out grass/rock generation
Added some wider slope widths for loop generation (5x1, 8x1, and 12x1)
Added control over grass/rock tolerance curve slopes (Hold CTRL while editing to see/edit slope with LMB y-motion)
Increased maximum amount of grass points to 360k from 230k (rock points unchanged)
Changed how grass generates on low-angle slopes/edges/etc for more organic terrain
Changed Upper grass/rock generation to only generate within the loop boundaries (instead of everywhere)
Added "Noise Affects Top" option for loops
Made per-loop noise available for all loops
Added backup point highlighting for loops so you're less likely to accidentally select nothing (and deselect the loop)
Resvised how ground plane rock generation works to be simpler, faster, and better
Added tooltips to all more slider settings and named some a bit better
Added SHIFT functionality to editor sliders (slow increments for fine-tuning)
Changed loop mesh generation so triangles below a ground plane are now removed
Renamed Ground mode to Terrain mode to make it a little less ambiguous
Changed Skew settings to affect all loop vertical profile types, not just custom profiles
Fixed arrow keys not working to move camera in Normal cam mode in editors (and fixed Control not speeding up arrow keys)
Fixed editor camera switching to weird modes when going back and forth to build/play mode
- Known issue: orbit cam is still the best for testing, follow/iso change to orbit
Fixed issue with using skew and noise on the same loop
Fixed grid grass/rock generation to not generate stuff outside the borders of the loop (most obvious in ground-plane maps)
Fixed editing some values only changing the current loop instead of all the selected ones

If there are any urgent fixes (hopefully not), I'll be able to get them done for another 16 hours or so. After that, you'll have to wait 'til next Monday.

First Person View and more with the Camera Mod and Sound Mod parts

Version 0.256 brings a number of minor changes and fixes along with two more parts that let you customize vehicles in new ways. I'll focus on the two new parts, with the full changelist below:

CAMERA MOD AND FIRST PERSON

First Person view is finally possible in Instruments of Destruction thanks to the new Camera Mod part. Has it been worth the wait? So far I'm going to say no. The game isn't really designed around FP view, so the effects don't look good from up-close. You can customize a lot about the First Person view, including the FOV, turning limits and speed, and where it appears relative to the part. In general I expect this to only be used for specific weapons/modes of a vehicle, and I don't plan to use it for anything else. Of the existing cabs, only the first 3 have decent interior models, with the Tall Cab and Standard Cab being the best ones. Not sure I'll add interior models to the other cabs. It depends on whether I need them, and when/if I add custom mesh overrides per part/type for vehicles.

Alternatively, you can use the part to offset or override the other camera modes, with different settings for both Follow (the first 5 values) and Iso/Orbit camera modes (the next 5 ISO values) If you set it to Override Cab Pos, it ignores the cab(s) and uses the part position/orientation instead. Otherwise it functions as an offset. If you set it to Always On, it ignores the input. Otherwise the strength value of the input can be used to modify how fast the offsets are applied once activated (this doesn't apply to FP view).

SOUND MOD

The vehicles in Instruments have 10 looping sound slots. Any part with a Sound Override setting (wheels, lasers, pivots, pistons, etc) affects one of those looping sounds, and changing the Sound Override changes which slot is affected by that part. That hasn't changed. But it's important to realize the 10 looping sounds exist, as they are what the Sound Mod part affects. Each Sound Mod can affect 2 looping sounds/slots. Let's break down 1 slot and the various parameters:

Slot 1 (or 2): This is the looping sound SLOT, named for the default sound that is played there and what normally affects that loop. There are always 10 slots, though the sounds are generally silent unless a part causes them to change in volume/pitch. This is the most important parameter because it affects what you are editing/changing. If you have 2+ Sound Mod parts modifying the same slot, only 1 of them will work.

-Sound Effect: This is the audio sample that is used for that slot. When you change the SLOT above, this will change automatically to the DEFAULT sound effect (the default pitch/volume will also be updated). There are 10 default looping sounds (same names as the slots), then 20 more looping sounds to choose from. A lot of them are similar, but I think that's ok because the pitch in particular affects the sound character more strongly than might be obvious at first.

-Pitch: This is the base pitch for the looping sound. 0 means it's played at the default pitch (100% speed) for the sample. At -0.75, it's playing at 25% speed (aka 2 octaves down), while the max pitch is 2.00 (aka 300% speed 2 octaves up).

-Dynamic Pitch: If there's an input set for the [+] value (top left for slot 1, top right for slot 2), that input is multiplied by the dynamic pitch and ADDED to the base pitch value. So how much it affects the pitch depends on the base pitch. If the total pitch value gets to -1 or lower, it essentially stops the sound.

-Volume: This is the base volume for the looping sound. This is straightforward compared to pitch, though volumes above 1 don't do anything by default. 100% is the max volume, but because the loops are affected by other parts or dynamic volume, values above 1.0 are still potentially useful.

-Dynamic Volume: If there's an input set for the [UpArrow] value (bottom left for slot 1, bottom right for slot 2), the dynamic volume is multiplied by the input strength, and then that adds to the part-based volume before multiplying by the base volume to get the final volume. If no part/etc is affecting the volume, then it's a bit simpler: Input Strength x Dynamic Volume x (base) Volume = Output Loop Volume.

There's also a TEST IT button for each slot. That'll play the whole loop once using the base Pitch/Volume settings. Some loops are longer than others, but in-game it's harder to tell that (because they loop).

NOTES: A couple of the slots (Engine1 and Engine2) are affected by the vehicle's speed and cab settings. Some of the slots also have their pitch affected differently based on the dynamic part parameters. There's too many variables to list them all here, but keep that in mind if you just using the Sound Mod to override the base loop sounds and not control them directly. Different slots will sound slightly different (and Engine1/2 are affected by speed and the Cab Engine Volume setting). There is also no default smoothing for the Sound Mod part input stuff, so you'll need Output Modifiers/etc on the inputs if you want to do that kind of thing.

VERSION 0.256 FULL CHANGELIST
Added new part: Sound Mod - customize the various sound loops the player vehicle uses (10 loops)
Added new part: Camera Mod - enable FP cam or offset/rotate the camera (based on the camera mode)
Added optional outputs to most weapons (except lasers)
Added F11 third mode for collision rendering (blue = normal, red = no_collide, green = treads, yellow = tread tracks)
Added 6 new particle type variations for Particle Effects part
Added two new regions for custom islands (and changed Compound + Test Island region)
- Also made it possible to affect exposure/saturation/contrast per region
Added material override on physics modifier and overlapper
Improved how highlighting works in build mode so it's easier to pick between 2 nearby parts (slight distance penalty for current selected one)
Allow small thruster and foot/foot xl to rotate
Added a function to select duplicate parts in build mode (Shift+Y by default)
Fixed low-speed bonus push (and gravity) no longer being used for powered wheels (all sizes)
Fixed: PgUp/PgDn not using new rot increments
Fixed last 4 colors not loading correctly on restarting in build mode
Added another check to remove duplicate selections of a single part in build mode
Fixed wave generator with loops disabled still essentially looping
Fixed not reselecting the right part when playing and returning to build mode (for close/overlapping parts)

The focus continues to be on building lots of unique vehicles for the upcoming campaign. I'm definitely burnt out to some extent, but feel compelled to keep working on vehicles (have around 50 at various stages). I want to start working on more maps soon, but need to add some new terrain generation tools first (hills/paths in particular are not fun to build currently) and I've been starting to think about how to rearrange build mode's UI more. Still don't have everything worked out in my head in that regard, so it probably won't happen yet.

At some point I'll need some beta testing on the new set of vehicles and maps, but that's still a month or more away. I had been hoping to get the campaign done before the Steam Summer sale, but that's looking less likely because good vehicles just take so long to do well, and I have no reason to believe maps will be much faster. On the plus side, I plan to polish about 10 vehicles to essentially final quality, and if I don't find anything significant to add/improve/change, I'll finally move on to non-vehicle work.

And There was Much Rejoicing (and Particles)!

Version 0.255 features a significant part of a different sort: The Particle Effects part. I'll go over in more detail below, as I'm going to continue doing the expanded changelist-style of updates for these vehicle-focused changes.

PARTICLE EFFECTS PART Added new part: Particle Effects
- Strength affects particle count, push/pull strength, and explosion damage/force
- Trails use strength to affect their lifetime, and amount is divided by 5
- Push/Pull are not particles, but a force applied to some particles
- Distort particle FX is different: strength affects size (diameter/spd no affect, amount = opacity modifier)
- Optional explosions that apply force/damage can also be used (these are always omnidirectional currently)
- Repeat timer set to 0 means no repeating, low values (0.01/0.02/etc) should be used with caution
Expanded sfx library for speaker to 22 sounds (previously 8)
Added camera shake and vibration strength adjustments to speaker
Added new part: Overlapper - stack up to 5 parts on a single connection


Each Particle Effects Part (PEP, in the Activated category) can generate two different particle effects at once, though some of the settings between the different particle types overlap in odd ways, so often you'll want more than one PEP.

The actual amount of particles generated depends on the particle type (smaller ones generate up to 8x more actual particles than it says), but in general it's not too hard to figure out and adjust accordingly. There's even a "Test It" button so you can try out the settings in Build Mode (explosions can destroy the buildings before gameplay starts), though it ignores the Repeat Timer in build mode. Here are a couple of the more unique particles that use the parameters in a different way:

Distort1a/1b - The distortion effect is always a single particle, but it uses the Amount value for the opacity. The strength affects the size.

Trails1/2 - These generate particles over multiple frames, and the amount is actually divided by 5 (and rounded up).

Push/Pull - These apply forces to most particle types. NOTE: Applying a force to a particle on the same frame it's generated doesn't always work.

To supplement the particles, I expanded the "Basic" Speaker so it has a lot more cool stuff to play with. In addition to 14 new sounds of various kinds, it can also create a screen shake, and for the first time in Instruments: You can also vibrate the controller. It also gains the Repeat Timer and Test It options [Using Repeat Timer with low values + loud sounds is not recommended.]

Finally, the last supplemental change for the PEP is the new part: Overlapper (Decorative category). It's a stupid part really, but it has 5 connectors overlapping on one side, so you can stack parts more easily without having to copy/paste a bunch of Flex Connectors.



ROUNDED FLEX PARTS Added new parts: Flex Light R and Flex Panel R
- Like flex panel/light but with circular shapes and scale setting
-- Flex Panel with style of 5-9 uses different scaling (keeps dome shape)
Reduced minimum length/width to 0.3 (from 0.5)


These parts are essentially the flex panel/light, but with a new circular base shape and new scaling parameter added. The scaling is applied before the mesh is stretched out. The Flex Panel actually isn't a panel for the last 5 styles. In that case it's a partial dome.

WHEELS AND TREADS IMPROVEMENTS Added reinforce option to all wheel types and treads
Added tread/powered wheel paremeter: Auto-Braking - Changes how they behave in turns and when not pressing anything
- Also tweaked response when reversing directions
- Changed default tread track material to slippery (doesn't really affect handling), and made it actually use the material override
Added 4th mesh options for flex treads (A3 is intentionally minimal)
Fixed wheel size collision issues (tiny, giant, flex)


All treads and wheels (except the Flex Wheel) now have a Reinforce option, and it helps with joint stability. Even Steering wheels, which already had a Reinforce option, benefit from the new type of reinforcement.

The second significant change is the addition of the Auto-Braking option to Powered Wheels and treads. This lets you change how the wheels behave when turning and when no throttle/reverse is applied. The default is None, but the new options are Partial and Full. I may change the default to new parts to be Partial in the future because it feels like a better balance to me.

Treads also received a 4th mesh option for all slots (A through E). I had a couple requests for the last base mesh (A3) to be essentially empty, so that's pretty much what it is.

OTHER TWEAKS/FIXES
Changed how direction sensor limit works to be consistent with other logic parts with ranges
- Should hopefully adapt previous settings to new limit style
Added proximity sensor-relative motion for Repulsor (Emitter Channel)
- If not 0, it finds the first Proximity Sensor with that channel, and applies forces/torque relative to that parts' orientation
- Useful for complex builds where you want to move something relative to another
Removed No Effects from treads (conflicted with reverse tank steering, not useful enough to keep for now)
Fixed an issue with material overrides not being used
Tweaked Breakable Connector break point strength downward to more reasonable values

The notable changes here are changing how the Direction sensor displays/uses limits, and the Repulsor Drive getting another mode. If Camera Relative is disabled, and the Emitter Channel is set to a non-zero value, the forces from the Repulsor Drive will now be relative to the first Proximity Sensor with that channel. This will make it a lot easier to move objects relative to each other without excessive amounts of logic and sensors.

That's all for this time. No predictions/etc this time about what will be next.