Instruments of Destruction cover
Instruments of Destruction screenshot
Genre: Simulator

Instruments of Destruction

Version 0.113 Changelist

Relatively minor changes, but a decent amount of them:
* Increased max parts to 1,000
* Increased save vehicle slots to 450
* Added "Place On Hold" option to speed up large builds (enabled by default)
* Added 2 new parts: Mini Beam and Mini Heavy Beam (contract the Half Beam to use them, not intended for common usage)
* Fixed issue with Undo overwriting some settings on parts (controls, angle limits, etc)
* Added more camera shake options (High is the old default, Low and Medium are now)
* Moved the Vehicle Reset button to the bottom left to prevent accidental deletions

Version 0.112 Brings Big Workshop Improvements, Undo/Redo, and More!

Let's start with the changelist on this one, because it's another long one:

* Added new Featured Vehicles section. These are chosen based on themes every 1-2 weeks (depending on my schedule). See below for more details on the first 2 themes...
* Steam Workshop Updating is now available. You have to subscribe to your vehicle and load it in-game before you can update it (from the Browse Vehicle menu).
* Undo and Redo added to build mode. Z is undo. Shift+Z is redo. Remembers 32 actions.
* Increased the vehicle palette to 32 from 16.
* Increase max inputs to 24 (aka 12 axes) from 16. Need to expand the UI to see them.
* Added the option to add small text that always shows over the controls (should help with Steam Workshop control confusion if used correctly). Saved in the vehicle file.
* Added the creator name to vehicle when they are uploaded to Steam Workshop (in the vehicle file itself), and it shows when you load the vehicle.
* Improved rope collisions and reduced minimum node distance to 2 (from 4).
* Fixed Slider not working on Magnets.
* Made Control+Arrow Keys move parts by 1/4 the normal rate.
* Made mirror mode work on both sides when moving parts.
* Increased camera ceiling significantly and made shadow distance increase when camera is higher.
* Sped up shadowed dust drawing.
* Added options to disable dust shadows and collisions.
* Made markers more visible from far away.
* Made the chain links have some slight movement instead of only rotation (more realistic/satisfying).
* Made the socket stiffer and have a smaller range (and less glitchy I think).
* Updated the plow/deep plow/scoop cost/mass, particularly the XL variants.
* Tilde (~) now reverses through the part categories (was shift+tab, but Steam prevented that).
* Fixed mirror mode not working on 6-way minis (and some other similar cases) when near the center line.
* Increased max vehicle name length to 25 (from 20).

Development has been going very well this week, and I finished version 0.112 well ahead of schedule. Undo/Redo was a much-requested feature, and Workshop Updating was also quite necessary. Got lots of good tweaks and improvements along with those, but the Feature Vehicles section is the big bonus for this version.

The Featured Vehicles is something that I really wanted to get in, as it gives more reasons for people to create interesting builds with a purpose. The community has been pushing the boundaries of what is possible in the game in quite a few ways, but many of those have centered on magnets and causing as much destruction as possible. With the slider option for magnets finally working, I'm sure we'll see even crazier magnetic-builds, but I'm hoping that the Featured Vehicles will provide more long-term variety to the types of vehicles we see. I picked 12 vehicles that I enjoyed trying out in the past couple weeks as the initial set, but going forward the vehicles will be chosen based on more specific themes.

NEXT THEME: 3-STAR DRACO

The first focused theme will be on Draco and achieving 3-stars in Play mode. You can target any of the 3 modes, and enter as many times as you like, but I'm looking for cool vehicles that make it (relatively) easy/fun to get 3-stars. To enter your vehicle for consideration, just submit a new vehicle to the Workshop with the Origin set to Featured. Please let everyone know what mode to play on in your description (and strategy if it's not obvious), and you should use the new control text field to explain the controls if they're not easy.

I'm doing a relatively short timeframe for this theme, but future ones may have a longer deadline. The deadline will be Wednesday, March 30th for entries. On April 1st I'll check out all the submitted vehicles and choose my favorites. I'm not sure how many vehicles I'll pick as "winners", but it'll be a multiple of 4 (and probably no more than 16). We'll see how this goes for 2-3 themes before committing to a consistent timeframe.

With these features in, I now get to move on to the structure editor. It's a pretty big task, so I don't have any real estimate for how long it'll take. At the very least I'll post again next week with the results of this week's theme and announce the next theme.

Radeon RX 500 (and earlier) cards: Slowness Fixed!

It's been a bit of a struggle to figure out the exact cause of Radeon GPU slowness, but the culprit was identified at last: Geometry Shaders. Geometry Shaders aren't used much, and they never were (modern games used more general purpose shaders to do the same things). Geometry Shaders are a way to take a single data point and extrapolate it into something more, so that's what I used them for. They were used in both types of dust particles (streaks and dots).

I say "were" in the past tense, because I replaced them with a mix of compute and vertex shader computations over the past day. It wasn't easy to get the compute shader portion to behave properly, but I eventually landed on a solution that works well enough. The hardest part was convincing the game that it was ok to use 7 append buffers, which I did by initializing them across 7 frames instead of all at once. Either way, switching to append buffers let me optimize the game quite a bit when there were fewer active particles.

Between the change in how particles work, and a little general purpose optimization, the game runs significantly better on GCN-based AMD cards (aka Radeon RX 570/580/etc). One other thing to help low-end systems: I added more low-end water settings (see below for upcoming options to speed the game up even more).

The game is *slightly* slower now than it was before in one case: When you're causing absolute chaos and max-ing out the particles. There are two main reasons for that. First is that the max particle count was increased by 25% (or more) across all particle types, so you're just seeing more stuff on-screen. The second is that the shadow-casting onto dust is slower now because it's doing the calculations 3-4 times more than previously. I'll try to fix this soon, though I'm not certain I'll be able to remove that de-optimization. Compute shaders are more limited in their access to certain buffers/textures, and that's where the shadows would have to be moved to for particles.

Either way, I'll be providing a way to disable a couple aspects of the dust in the next update: Shadows and collisions. Dust collides with things now, but it doesn't really need to for low-end machines, and same goes for the shadows. Those are the two most expensive operations for particles, though the swirling/noise they receive is also fairly expensive, and that also may be bundled in the reduced version.

Now that I'm back to full-speed development after a break last week, I'll be working on a few mid-sized features, then going to town on the structure editor. Editors are a piece of cake compared to compute shaders, but there's always a lot of UI work involved. The UI for the non-vehicle editors will not be as polished as the rest of the UI, so expect some new simplified buttons and other new UI elements to show up in those editors.

Version 0.110 and Upcoming Features

Version 0.110 marks the end of the barrage of update for the early version of the game. If something is very broken, I'll update the game again ASAP with a minor version, but otherwise it will be a bit before the next update. First let's cover what's new in this update.

Changelist for version 0.110
* Increased max parts to 750
* New part: 6-way mini (for advanced builders)
* Slider mode now works correctly on all parts that have that option
* Tuneable delay on bombs for the bomb launcher - existing launchers will have 0 delay, new ones will have 0.25 seconds by default
* Can move the camera lower, and improved the camera behavior at lower angles (collides with ground/water)
* Can disable specific inputs on parts (advanced mode)
* Added brightness setting in options (affects world only, not UI)
* Added Alternate Font button, available for some languages
* Added Reset Tutorial button
* Improved balloon behavior
* Non-player ropes use more segments (less stiff)
* Always show 2+3 star times for play mode
* Secret discount displays after finishing a mode 3x (instead of 5x)
* Ultra setting now available for water (not recommended, mostly affects water far away)
* Added Reverse Steering option for treads (intended for inside-facing treads)
* Made bloom settings adjustable instead of off/on (5 settings now vs. 2)
* Fixed vehicles not updating correctly in some cases
* Fixed vehicles not rendering in Workshop Upload mode if you go there after saving
* Tutorial message the first time you enter mirror mode
* Scroll edge of the map when you get close with the mouse
* Added a lot more keys to the help display in build mode
* Fixed two cases of the game getting stuck on startup due to bad save/vehicle files
* Game now saves a backup of the IoDPrefs file
* Changed the game icon
* Updated the character glyphs so nothing should be missing (fixes some Korean/Chinese characters especially being absent)

That's a long list, and it should take care of many minor issues that have been lingering. There are still a large number of bugs/fixes/tweaks to make, but all of these were doable in a reasonable timeframe.

The next update will likely be over a week away, as it's my family's spring break. The next really big feature will be the Structure Editor (along with some simple way to place them in Sandbox mode), but there are some medium-sized things I need to take care of before that:

* Fixing Radeon RX 500 series cards not running well. I have a 570 4GB in a box on my desk, and will be installing and testing it later today. If there's another new update today/tomorrow, it'll be because I found something with this to improve their performance.

* Adding Undo to build mode. I don't think this is hard to do, but it might take a day or so to work out all the issues.

* Ability to update Steam Workshop vehicles. Another task similar in scale to Undo.

* Featured Vehicles section in the Workshop. This might be easier than the previous two technically, but I want to add a section where I can highlight certain vehicle in the workshop, and have a message along with it. Would like to do a weekly feature update, with a theme for each week (announced ahead of time). Themes will be something like "ropes and balloons" or "3-stars on Draco (any mode)".

There might a couple other things (such as adding 8 extra input slots) that get prioritized ahead of the structure editor as well, but I don't want to get too bogged down in medium-sized features for too long. The structure editor, placement editor, and island editors are all needed before I can add more content efficiently (and there are in high demand from players too), so those are the big priorities over the next couple months.

So there will be a short gap in updates, then a few medium-sized updates, and finally another gap before the structure editor. I don't know how long these gaps will be, but things have been rolling along quickly so far, so I'd estimate the structure editor will be available by early April. I'll have a better idea in a couple weeks how accurate that estimate is.

Version 0.109 - Round Parts Extravaganza

Lots of new parts in this update. Not going to give details, as some are self-explanatory and others you can figure out by trying them.

* New parts: Rollers (2 variations) and Large Rollers (2 variations)
* New parts: Arc 90 (3 variations)
* New parts: Skid (2 variations)
* New parts: Combo Wheels (2 variations) and Large Combo Wheels (2 variations)
* New part: Balloon
* New UI color schemes, including Dark mode
* New BG brightness setting
* Show a tooltip about advanced mode when you click on the controls (trying to change them usually)
* Added 30 to FPS Limiter
* Made parts use 2 rows instead of 1
* Changed F (for Flip vehicle) to O
* Fixed entities flying around at start of an island (not 100% I got all cases)
* Fixed strength of 1.4/2.4 showing as 1.3/2.3
* Fixed a couple things breaking at the start of Aquarius + Libra

Version 0.108 Changelist

* Added new 3-Star system to Play Mode
* Every island/mode combo now has specific efficiency goals
* NOTE: Goals for 2/3-stars are likely to get tweaked (your star totals may change)
* Changed level 2's layout to make it more interesting
* Fixed the Flip Vehicle button not showing up in Sandbox
* Large vehicles spawn/dissolve/etc faster
* Made it more obvious to new players they can use pre-built vehicles
* Minor tweaks/fixes to a few missions
* Minor fixes to a couple parts

Version 0.107 - Steam Workshop Improvements

* Other Usernames appear after a short while
* Improved search options: Made By Me and Subscribed
* Upvoting works (but is slow to update)
* Searching by tags works now
* Improved readability of search results (not great, but better)

Steam Workshop Support - EARLY Beta Edition

Steam Workshop support is now in the game, in a VERY early Beta stage. Though I believe it works ok right now, I have no idea how it'll handle lots of people uploading vehicles. I will be monitoring feedback closely and will make necessary updates ASAP. That may include disabling it for a short while if there are major problems.

Please respond to this update or post in the forums with issues. I'm not really concerned about feature requests yet, as I want to get the basics working, then I'll move onto things like upvoting, updating your own vehicles, and making the sorting/tagging options work well.

As for how it works, I think it's pretty straightforward, so I'm not going to explain anything but the essentials here. You can upload vehicles, and you can browse vehicles. When you browse, you have to click on the vehicle once to download it. When it's downloaded, it gets a checkmark, at which point you click it again to load it.

I know some of the UI (particularly text input stuff) is wonky.

Version 0.105 (March 3rd, 2022)

* World and UI SFX have separate volume settings.
* Limit vehicles forward placement in non-Sandbox mode (slightly improved from 0.104a).
* No more BONUS OBJECTIVE display when there's not one.
* Show the center of mass with a smaller dot also aligned to the center-line (helps with mirror mode)
* Fixed a couple issues with build mode (spawning too fast killing the rendering, and moving too fast separating the vehicle).
* Added more checks to hopefully prevent sound effect issues from breaking the game.
* Fixed power pivot collision issue (wasn't colliding with itself but should have been).
* Game no longer runs when it loses focus.

0.104a (minor version)

Added forward limit on vehicles in non-Sandbox mode (gives you a message, moves the vehicle back).
Fixed issues with disabling gamepad (such as also preventing the KB from working!).