1. Instruments of Destruction
  2. News

Instruments of Destruction News

New Build Tutorial and Challenge Mode in Version 0.410

Let's start with the changelist this time. It's not a massive one, as some of the things listed took a bit longer than you might think at first. Here's what changed in version 0.410:

  • Added 5 new build tutorial missions + islands
  • Added new build tutorial system with step by step instructions
  • Added challenge missions/objectives for first 2 main + 5 build missions
  • Added new challenge mode logic and objectives
  • Added new voice lines for new build tutorials + challenge mode
  • Added new part unlocking system for Build&Destroy campaign
  • --- Editor lets you edit the part locking per mission
  • Added a Mission Complete/Challenge Complete popups when you finish
  • --- 3-stars for normal missions (bonus and main objectives)
  • --- Moment of completion for Challenges
  • Added invert output option to direction sensor (Max Limit = 1 instead of 0)
  • Islands now load their outline meshes from disk instead of generating them
  • --- Speeds up going into either campaign for the first time after startup
  • Level Editor: Added new tools to help place more entities faster
  • Changed reset layout for vehicle controls to use a better default layout (assumes you haven't change mappings)
  • Crystals are now semi-random on each load (3 chosen from ones placed)
  • Changed campaign map islands to fade in/out as you get closer (instead of always drawing)
  • Fixed campaign map scrolling limits to be dynamic based on islands in the campaign
  • Increased build menu size of parts and part names
  • Made shift+click work to select the same colored-parts again (on the Colors setting)
  • Level Editor: Fixed popup for vehicle default selection deselecting
  • Level Editor: Fixed cutoff sliders for grass/rock (switched to Wave Logic-style)
  • Fixed not being to remap a gamepad axis (stick/trigger)
  • Fixed resizing part reseting physics linkage
  • Fixed CoM debug display (F11) being broken on certain maps
  • Slightly reduced area damage boost to structures from 0.360 (particularly with lower mass)
  • Fixed shortcut to hide/toggle handle not working (Ctrl+W)
  • Disabled outlines on selections/etc during build mode (too slow with tons of parts)
  • --- May bring it back later if it can be optimized
  • Added debug function - Shift+F11 in build mode - disable BOTH as a dual input/output option
  • --- May make this permanent, feedback is appreciated


The biggest things for 0.410 are the new build tutorials and missions in the Build & Destroy campaign, and Challenge mode now being a real thing that's fairly fun (7 challenges currently). There are a lot of smaller changes within those, and a lot of voice lines added as well.

I'm pretty happy with how the initial missions for the Build & Destroy campaign are shaping up, and the Challenge missions are working well. The build tutorial is hopefully good for new players, but really I need to test it a lot more. Feedback on the tutorial is appreciated. It's a different style than other tutorials, and there will be at least 5 more tutorial missions coming in the future. The additional ones will be less step-by-step and more general. The idea is to teach the basics and then slowly let the player take more and more responsibility for the vehicle design. By mission 11 in the BnD campaign, there won't be any instructions, though you'll still be unlocking parts throughout that campaign.

BUILDING NOTE: I'm considering removing the "Both" mapping option for part controls. Parts can have up to 4 inputs and 4 outputs, and you can assign 2 at once (as an "axis"). But I've been finding it more annoying than helpful when working on vehicles, and I added a mode to disable Both as an option. Hit Shift+F11 while in build mode, and you'll no longer have Both as an option. Just something to try out for advanced vehicle builders.

UPCOMING WORK

After a small bug-fix update or two to follow 0.410, my next two priorities for big tasks:
1) Revise camera system.
2) More objectives and things to support additional objectives.

The camera system work I need to look at more closely and figure out if I should rewrite the whole thing or try to wedge in transitions to animated/scripted cameras at the start/end of missions. Both approaches could work, and though I'm tired of messy code throughout the game, rewriting something that mostly works is not always wise. Having some way to override/blend into a different camera might work, and it could mostly reside outside the rest of the camera system.

For the objective stuff, it's time to finally add turrets and drones/orbs that attack the player (and Kraken). I'm not sure if those will be vehicle-based, or custom objects (like the car/truck/SUV). Beyond the enemies, I need to make sure all the other mission types I want to do are possible. The missions are turning out well so far, but I also see how it could become tiresome/repetitive due to too much focus on destroying stuff. Part of that also requires more creative level design and vehicle/physics interaction. Either way, having a variety of missions is needed to keep the game fun for both campaigns.

Beyond those two things, the biggest remaining task is adding all the missions to both campaigns. That's a massive task on its own, but I'll be breaking it into smaller groups along the way, and missions should get easier to work with fewer features being added. Beyond missions, there are quite a few small tasks, and I'm sure I'll find more things to fix/tweak along the way. It finally feels like I will finish the game someday, even if I'm not sure yet when that is.

Changelist for Version 0.402:

Biggest thing is the Advanced Toolbar being added to Build Mode, but lots of other adjustments and fixes. Not expecting to make further changes to the Build Mode UI, aside from adding help text/tutorials. Full changelist:

Added Advanced Toolbar in build mode (need to enable it to see it)
Added buttons to select parts with comments, controls, signal inputs, or outputs
Added optional comment and control display on selected parts
Added input quick-assign on the edit parts popup - click directly on the listed controls on the right
Re-enabled multiple vehicle starts and let you pick them on build mode settings and advanced toolbar
Added direct-text-entry as position/rotation snap options
Aligned two popups for build mode to the left side (Quick Edit and Vehicle Control Layout)
Added Left-Alignment IOMapper option
Fixed direction sensor speed mode so the output matches the description
- Full output when speed is below the required direction/limit, falls off to 0 at max limit
Added a better timeout to Steam Workshop uploads (after 3 seconds, hold Escape if no progress)
Changed a lot of slider values to take/show decimal values (generally sliders with larger values)
Fixed gamepad being able to see Extreme IO version of popup
Fixed Shift-clicking on new Physics Linkage property doing nothing (it now selects parts with same linkage)
Fixed Gamepad double-clicking on build mode settings page
Changed how some values are displayed in build mode (move amount in particular)
Clicking outside a text box (build mode) now completes the entry
Fixed signal assignment issue with 2nd page and beyond when using extreme/compressed display
Fixed quick assign showing/assigning the wrong inputs with single-input assignment
Fixed some problems with part IO displays
Fixed Pegasus normal mission bonus objective count

Version 0.401a changelist (vehicle naming fixes)

  • Tweaked layout of part categories when using mouse+KB (gamepad version unchanged)
  • Fixed text entry for vehicle name trying to edit the wrong string
  • Fixed text entry for vehicle name/description sometimes entering on the left side of text)
  • Changed Steam Workshop upload to make it more clear you're not editing the actual vehicle name
  • Synced name for saved vehicle name and the displayed name (it uses the name if set, or the saved one if not)
  • Fixed newly-placed flex connection parts drawing lines to unconnected parts

Complete Build Mode UI Makeover - Version 0.400

I'll cover future plans and behind-the-scenes stuff below. First we're going to focus on the changes to build mode. Everything with the build mode UI has been revised or altered in some way, so there's a lot to cover. Let's start with one of the big objectives for the redo, which is adding gamepad support to build mode. Here's what build mode looks like while using a gamepad.


There are a few things that change when using a gamepad, and the top bar is the most obvious thing that changes compared to mouse and keyboard. I'm not going to go into too many details of how all the gamepad stuff works because only people on Steamdeck will likely use it for now, but many more people will use it when the game comes to consoles next year. You can't do everything with a gamepad, but that's mostly because I didn't want to deal with creating an in-game keyboard to edit various text fields. There are a few KB/Mouse shortcuts/combos that don't exist on gamepad, but none of those stop you from creating the same vehicle.

Moving on, let's look at the PC version of the layout with the most important popup enabled.


The shortcut for Advanced Mode (A) now brings up the part settings popup (on the right). This is a scrollable list of properties, and nearly every property has a tooltip that explains a bit more of what the setting does. This list scrolls using RMB or MMB Wheel. [I decided to leave the most of the vehicle settings in the cab properties, as I didn't want another pop-up, and there's so many vehicle settings, it needed to scroll anyway.]

The sliders in build mode have a new feature that's been highly requested: You can click on the value and enter a number directly. This also allows you to enter values outside the range of the slider. There are no error checks currently, so this is a good way to crash the game if you're so inclined (that crash won't happen 'til you play, most likely). There's also an optional comment field associated with each part so you can leave notes/comments for yourself or others (top right of the settings, only shows if the comment exists).

If a part has controls, they'll appear at the top of the settings. Click on the inputs/outputs and a secondary popup will appear. There's a new Quick Assign button at the top of that. Press that and this is what you'll see.


Depending on what you press, it'll either assign a new slot, or map to an existing controller slot. The old system of reassigning buttons/etc also exists in a 2x8 list, arranged vertically instead of horizontally now. There are now 32 button slots, up from 24, with the first 16 mapped by default. I decided to rename "Logic" connections to "Signals" to avoid confusion with the Logic parts. There are still 1024 of those available. I changed how signals render on parts a bit, but I might revisit it a bit more later to increase visibility/etc.

So that's the main pop-up and child pop-up you'll probably leave open/use most of the time, but other popups include Build Mode Settings, the Quick Edit popup, and the Layout popup. Build Mode Settings and Quick Edit are mostly a place to throw shortcuts/settings in a way that makes them more accessible to everyone. They all have tooltips and list the relevant shortcuts where needed.

The Layout popup is a bit different though. Here's what that looks like.


You can now edit the vehicle and creator names, along with editing how the control layout is displayed. Every used control will appear here, and you can select and move the controls around as you see fit. This is how they'll be displayed in-game, along with whatever labels you add. For previously created vehicles, the control hint will be converted to a label. You can have up to 8 labels at once. You can also create a gamepad-specific layout. As with most things that you can move, holding shift lets you move the controls/labels in smaller increments.

That covers many of the major changes, but I skipped the new move/rotate handle and many other minor changes and tweaks. There are a couple things that aren't quite finished, particularly the help mode/options, and switching between multiple player starts. I'm also considering redoing how sliders/ammo/overheating displays are handled (they'd be on the control layout, and be customizable), but I'm going to wait a bit.

Here's a quick summary of the build mode improvements (outside of the arrangement of things) if you want to know what to look for:
  • Sliders now have optional direct text entry with no limits.
  • New 3d handle for moving/rotating selected parts (resizable).
  • Gamepad now works with 99% of build mode functionality.
  • Parts now have optional comments.
  • Customizable control layouts with up to 8 custom labels, and optional gamepad-specific layouts.
  • Quick Assign feature to reassign button inputs.
  • Added descriptions to a lot more parts, and they are always available.
  • Added tooltips to the majority of part settings
  • Improved display of shortcuts for buttons/etc.
  • Many previous shortcut-only options now show as real options that display tooltips+shortcuts.
  • New option to compress the build mode UI vertically.
  • New option to display GP+KB shortcuts at same time in the remapper popup.
  • Added an outline to selected/highlighted parts.
  • Changed how signal inputs/outputs are displayed on parts.
  • Added highlighting of parts using the highlighted button/signal (remapper popup).


WHAT'S NEXT? WHAT TOOK SO LONG?

As usual for any big update, I'll be following up with a series of smaller updates over the next day or two. With so many changes, there are bound to be issues that I didn't find. I have a list of smaller changes I might be making, but some of them will depend on feedback/requests/etc. Long-term I have a pretty firm list of what needs to be worked on/added, but at the moment I'm feeling very much burnt out and will work on whatever seems easy/enjoyable to work on. The only thing I'll do for sure in the short-term is update the control layouts of the Main Campaign vehicles.

In terms of why this update took so long, it's because it was a very large amount of work, much of which I was just not able to anticipate. Every time I changed one thing or rebuilt one part of the interface, that would spiral into a web of additional tweaks or fixes or new decisions that was difficult to predict. UI touches nearly every part of the massive codebase for the game, and Build Mode is the most complex system in the game by a significant amount. Every UI element changed in some way while also adding gamepad support, and gamepad support accounted for nearly half of the work because of the added complexity, special cases, etc.

To be completely honest, I've been miserable while working on this update. I only kept going because it needed to be done, and I used my desire to work on anything else as motivation to get this done. I'm glad it's done, and feel some sense of accomplishment, but I'd prefer to never work on a UI this complex again. I didn't enjoy working on the in-game level design tools either, but those don't have to be particularly good or work on console, they just have to work for me. The added pressure and need to keep things as user-friendly (and gamepad-friendly) as possible, along with the sheer number of elements involved, pushed it over the top. I was more productive working on this than the level editor tools, but I was even more unhappy about it.

Part of the problem might be the underlying UI systems I've built just aren't that great, particularly when it comes to creating complex visual elements. But I can't imagine any system that would create the resulting build mode UI/systems without a good amount of messy, difficult code.

Regardless, I'm determined to finish Instruments, and the rest should be relatively easy and enjoyable to work on compared to this.

[Apologies for the excess complaints. And please give feedback about Build Mode even if you don't think I'll like it.]

Driving Towards Release, and A Few Words On Unity

Version 0.360 launches today for Instruments of Destruction. This release signals the beginning of where Instruments of Destruction is heading, with Version 1.0 expected in early 2024. There's a lot of new things in this release, particularly with the New Campaign (from the PAX Demo) now being the primary mode for the game, and the old campaign starting a transition into being the Build & Destroy campaign. The old campaign hasn't changed a lot yet, but it will no longer offer 3 modes, and many of the existing islands will be changing in the future. They'll either be revamped to be included in the Main Campaign, or edited to fit the build mode campaign.


You will also notice the menus and UI have undergone a large transformation. Almost all of the smaller text is now larger, the buttons have changed fonts and got a bit of a stylistic change, and some buttons are now centered instead of being offset to the right. The HUD has been simplified a bit, particularly outside of Sandbox mode, and the 3-star system is much simpler and easy to understand. There are other changes, though I covered a lot of those in the previous news post about the PAX Demo.

The NEXT big update will focus on redoing the interface for Build Mode. I've been playing similar games like Beseige and TrailMakers on console to see how they handle the various issues and streamline things. Besiege is not a bad reference on console (or in general), while TrailMakers' console controls felt very clunky to me. While I will be focusing on making the Build Mode controls usable on a controller while revinsing the UI, I believe doing so will benefit the PC (kb+mouse) experience as well.

I'll try to maintain the various shortcuts and systems that exist currently, but some elements of Build Mode may change in the future. I expect that overall speed and usability for advanced vehicle builders will not be affected in a significant way (either negatively or positively), and there may a slightly re-learning curve. My hope is that the changes will improve build mode for everyone, but the focus is on the initial usability and user experience.

Beyond the build mode UI changes, the old campaign will be morphing into a new sequence of tutorials that unlock more and more functionality and parts over time. Between the new tutorials, improved UI, and better documentation within the UI of the advanced editing capabilities, vehicle building should be a more enjoyable experience for everyone within a couple months.

As mentioned previously, the new campaign will also be expanded significantly. I expect there will be around 50 islands in the Main Campaign by version 1.0, each with its own custom vehicle and bonus mission. The Kraken will be featured in 20 or more missions of the Main Campaign, with additional obstacles, challenges, and objectives providing more variety than what is seen currently.

So those are the two biggest things coming to 1.0, but there will be plenty of other tweaks and improvements. Another significant change coming in the next couple months: the camera system will likely be completely redone. The camera system is just a complete mess at this point, and it's very difficult to do anything with it. The Follow camera will be the primary camera mode because the Main Campaign is built with it in mind, but it will be rebuilt to be much cleaner under the hood while having the flexibility to transition/blend into gameplay-specific cameras as needed (for mission intros/outros/etc). Orbit camera mode will remain as a toggle of some sort, while a new photo mode with other ways to adjust the camera will be added as a separate mode. Some of the exact camera details are still TBD, but that's the general plan.

I'm not going to do a changelist this time because there's just too much to list and I haven't been writing a lot of stuff down. I've tested this build a lot, but I'll still be actively fixing things ASAP if anything snuck through.

ON THE UNITY DEBACLE

I've used Unity as an engine since 2011 for my games. I've used C# as a programming language since 2004. So this has been a really tough week seeing Unity completely destroy their relationship with developers. There are so many ways their proposed Runtime Fee and what they've done is wrong, but I don't feel like going over all of them here.

Up until the past few years, my games barely needed Unity to actually run. They used Unity as a shell for running a ton of C# scripts, playing sounds, drawing things, and processing input. Most of them have just a few game objects in Unity, and I could port one of them to a framework like FNA or MonoGame in a day or two. [Both of those are XNA spin-offs, which was the first C# framework I used to make games back in 2010.]

That easy portability is not true of my latest 3 games: Instruments of Destruction, Rhythm Storm, and Speed Demons. All 3 are more tightly integrated with Unity's systems, especially Instruments and Speed Demons. They would be significantly more work to port to another framework or engine than my previous games.

Let me rewind a couple weeks. At PAX West, over 20 different people asked me what engine I used for Instruments of Destruction, and I gladly told them it was Unity. All but two of them said something like "Oh really?" or "I thought it was Unreal". [For the record, I don't think Instruments looks like an Unreal game.] I even had a guy from Unreal visit the booth 3 times (his son loved the game) and give me his card all 3 times. He wanted me to switch to Unreal for my future games, and I politely told him Unreal looks great but I was happy with Unity.

That feels like a long time ago, even though it's only been 14 days. I've been planning to release PC and console versions of all 3 games (IoD, RS, SD, and maybe one more tiny one) in 2024. That will not change, and I'm excited to finish them all. 2024 will be Radiangames' fond farewell to Unity (and C#), and I'll be going out with the biggest bang I can.

After wrapping those games up, I had been planning to finally switch to Unity's HDRP renderer and upgrade to the latest version of Unity (I still use Unity 2019 and the old Built-In renderer). I was excited learn to use all the latest Unity tech and tools that I've been purposefully avoiding for the last couple years. Those plans have changed a bit. I'll still be learning about some great new tech and tools, but in another engine instead. I'm fortunate that the timing works out in that way.

In the end, the game engine is just a piece of software that game developers use to help bring their games to life. Many types of artists and creators use software. People generally don't care what software was used to make the things they like (music/art/movies/etc), and artists often use software of companies they don't like (hi Adobe!). As much as I now don't like Unity as a company, I still like the software, and I'm not letting my games suffer because the company screwed up.

So yeah, it's been a week. My plans have changed slightly for the future, but 2024 is still going to be a big year for Radiangames titles, and finishing Instruments of Destruction is the first step in making that happen.