1. Instruments of Destruction
  2. News

Instruments of Destruction News

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.

The KRAKEN Arrives, a PAX 2023 Report, and Demo Playable

The recent focus for Instruments of Destruction development has been on the new singleplayer campaign and the PAX West demo in particular. When I started to work on the missions for the demo, I started to write voice lines for the intros and endings to each mission, and I was not happy. The writing was fine, but it felt like it wasn't a particularly interesting theme (testing experimental vehicles) nor was there a strong purpose to you destroying everything on these small islands.

I went back to brainstorming ideas for the overall theme/story of the campaign. There were a couple ideas about having the buildings being "infected" with some sort of mutated plants or locust-like pest that you were trying to eradicate, or the buildings being powered by some over-ambitious and out-of-control geothermal technology that would trigger earthquakes/volcanos/etc if the buildings weren't destroyed ASAP. But none of those ideas seemed as simple or visually obvious as the Blast Corps plot: In that game, there's a nuclear weapons disposal truck that's automated, malfunctioning, and heading straight towards its destination, regardless of what's in the way. [Blast Corps is a classic Nintendo 64 game created by Rare in the late 90s.]

That plot is a bit to explain, but once you're in game, it's simple: Don't let the big red truck hit buildings or it all goes boom. Given that Instruments of Destruction takes place on islands, a slow-moving exploding truck wouldn't work, but a giant monster from the sea might work. The problem was I didn't think I could make a Godzilla-like beast that looked good, animated nicely, and could traverse a variety of terrain well. But after I realized a giant octopus might work, I tried prototyping it over the next couple days as a big sphere with lots of ropes attached. Everything went pretty smoothly, and within a week I had the Kraken in the game.


The exact mechanics of how the Kraken might change a little, but it currently works like this: The Kraken wants to destroy all the large structures on the islands. As it does so, it takes damage. That damage makes it Rage meter go up, and if the meter fills to the top, it'll do a big smash attack that destroys everything, and will make the island sink. The islands don't *actually* sink at the moment, but I'll be working on that this afternoon.

So you're basically trying to clear the way for the Kraken so it doesn't take damage. You can't kill the Kraken, you can only make it mad, so attacking it is a good way to end a mission quickly. On the bright side, the blast wave looks really nice. There's a lot of work still to do with the Kraken and the UI/story/etc around it, but it was working well enough for the PAX Demo.

A Report On PAX West 2023

So I got the Kraken working less than a week before PAX, and was furiously putting together some missions and refining stuff as much as possible up until PAX started. PAX runs for 4 days, and I spent a lot of time each night refining the UI/game/missions/etc based on how things went. We had 3 stations playing the game, and there were frequently small crowds of people waiting to play, especially on Saturday and the busier parts of Friday and Sunday.

Not everything went smoothly, and there was a bug with destruction getting harder over time that meant I had to restart the game every 30 minutes or so. I thought fixed the bug Friday evening, but it was actually one of 2 bugs that were having a similar effect. The bigger part I couldn't figure out at PAX, though I fixed it earlier today. I ended up treating PAX as a super-intense playtest, as well as a deadline that I could use for gaining some momentum on the singleplayer campaign. In those regards it was a very successful event.

In terms of value, I'd say spending $5,000+ (got the booth for free, but plane tickets, rooms, equipment, and other stuff add up) is not the most cost-efficient way to get playtesting, but it was quite time-efficient. The game got over 2,000 wishlists from PAX, and sales were also up last week, though that definitely had more to do with the game being on sale than PAX. The wishlists alone mean the cost was probably worth it, and the game is definitely heading in a better direction because of PAX.

PAX Demo Playable Now (in a separate branch)

Since Monday's PAX demo build (0.350e), I fixed the annoying destruction bug (I think), replaced the 3rd missions' vehicle with a more-fun variation, and tweaked various vehicle controls. I also made it play better with keyboard, though it's still a gamepad-focused demo. The build is now available in a separate branch on Steam (the one labeled 'pax demo'). It uses a separate save file.

The PAX Demo build doesn't show everything that will be in the main campaign, but it's an indication of the direction the campaign will take. It's also definitely not final. The closest to "final" you'll see in the demo are the first 2 missions (the first mission is likely to have the island/vehicle refined slightly). Every other mission will be revised and likely changed where it appears in the campaign.

Some stuff NOT in the demo: Each island will have a STORY or TRAINING mission with a 3-STAR scoring system, and a BONUS mission with a score/time/place-based system (no bonus missions in the demo). For all mission types, you are given a pre-built vehicle designed for that mission, and that vehicle is unlocked by beating the mission (every Story/Training mission vehicle is unique, but may also appear in a bonus mission). Getting 3-stars lets you use any vehicle on that mission.

Vehicle building (and Sandbox mode) will always be in the game, but the campaign will not focus on it, and it's not in the demo. There will be *something* that teaches the player how to use the vehicle building system, though I'm not yet sure if that'll be its own smaller campaign or a bunch of optional missions in the main campaign. As mentioned previously the vehicle building UI will be undergoing a complete revision (with gamepad support added). I'll definitely be playtesting the vehicle building system at some point to help refine it, but it'll be a few months at least.

So that's about it for now. The campaign will remain the focus for a while, and after I get the PAX demo integrated in to the main branch (and the camera system redone), the number of missions will be expanded pretty quickly. There will likely be an update to the PAX Demo soon to add the "island sinking" part of the Kraken game over sequence, but beyond that it will probably be a couple weeks 'til the integration update.

Building Collapse Fixed - Version 0.301 Out Now

Just a quicker bit of news this time. Version 0.301 is the final update until after PAX (unless I really broke something). Let's start with the changelist, and I'll review some of them a bit more detail below.

VERSION 0.301 CHANGELIST
  • Added ammo counts and overheating advanced options to weapons
  • Added ammo/sec and overheating to laser (+ laser S)
  • Added structure damage multiplier to individually-placed structures (damage from player)
  • Added structure damage multiplier to maps (damage from player)
  • Added player damage multiplier to maps (all damage)
  • Fixed a big issue with structure collapses, and adjusted collapse settings a bit
  • Made big player impacts do more damage to structures, apply some extra velocity to them
  • Changed automobile entities to use white paint instead of yellow
  • Added more towers and tall buildings
  • Added some smokestacks and storage silos
  • Added some more low buildings and warehouses
  • Added some utility posts and fences

Weapons, including lasers, can now use overheat settings and ammo counts. These are the intended ways to limit weapons, if they need to be limited for missions. You can use both on one weapon, and you'll see little sliders/etc on the HUD. The HUD elements may change later, but they work for now (other feedback elements may be enhanced as well).

Structure damage multipliers can be edited on a per-map basis and on individually-placed structures, and these are specifically designed to modify damage from vehicles. Damage TO player vehicles (from everything) can also be edited on a per-map basis. All these are intended for tuning missions/difficulty/etc for the SP campaign.

FALLING DOWN
One of the bigger bugs that's been present for a while is the following:

This didn't happen too often, and I couldn't figure out why it was happening more frequently on certain structures, so I tweaked settings for the past year or so with no success. It seemed kinda better sometimes, but some of the newer structures had the issue more frequently than others.

Mazapine from the discord server targeted this building as a problem in particular, and after a couple hours of debugging, I found the issue: Structures that were highly-interconnected (lots of links between blocks) would sometimes fail to collect the layers of the structure during the collapse algorithm. So instead of this structure showing it had 21 or so layers, it'd stop after 3 because it couldn't find the 4th layer blocks from the 3rd.

I fixed that issue, and found a 2nd issue while testing it. The 2nd issue caused some other random blocks to take damage during the collapse when they were already disconnected. Between those two fixes, and a tweak to damage from big player impacts, the destruction feels better than before.

The final thing from this patch are a bunch of new structures. These will be used in the new missions for PAX/etc.

PAX PRIORITY

Speaking of PAX, I'll be making some big changes to the game for PAX this week, so that means no more patches. The game will be changing quite a bit, and most of the menu will be inaccessible. If you have any changes/fixes that are needed, you'll either need to let me know today (Monday the 21st) or wait a few weeks 'til I'm able to get the PAX changes cleaned up and ready for launch on Steam in September. I've got a lot of things to work on before PAX, so I apologize if I don't get back to you in the next couple weeks.

Version 0.299 Now In Debug Branch

Version 0.299 is now live on the "debug" branch for Instruments of Destruction. This update brings a large number of changes under the hood, particularly regarding vehicles. After 2-3 days of testing/fixes/etc, I expect to update the main branch with version 0.300.

This latest update took a while for a few reasons, some of which I've discussed before, but the main one in terms of actual work on Instruments: There were more systems that needed to change for multi-vehicle support than I initially realized. Throughout the entire development of Instruments (up until late May), I've always assumed there would be 1 custom-built vehicle at a time. That assumption meant lots of systems could behave globally, which is generally easier to deal with than having multiple copies of something that can start/change/stop/etc.

The code base in Instruments is pretty massive at this point for a solo project, so I have a hard time remembering how everything works, or why I made some specific code/logic choices that I did years ago. I changed lots of code across many files, and it wasn't always clear how to best transition to the new not-global systems. Either way, I think I have all the major problems solved and I've done quite a bit of testing, so hopefully it'll be able to make the leap out of the debug branch before the end of this week.

VERSION 0.299 CHANGELIST

It's not just vehicle-related changes in this update. There are also new structures, a big speed-up for destruction, and the removal of the XP system.

  • Changed lots of systems to allow multiple vehicles at once
  • Vehicles: Place start points in map editor to allow more than 1 vehicle
  • Vehicles: Select from vehicle starts in build mode in top left
  • Vehicles: Player 1: Always uses keyboard, uses 1st gamepad by default (unless disabled in options)
  • Vehicles: Player 2: Always controlled by gamepad (1st or 2nd used, depending on options)
  • Vehicles: NONE: Can be taken over by nearby players by pressing [V] on keyboard or [Y] on gamepad
  • Sped up large explosions, collapses, deactivating accumulator, etc
  • Created a large number of new more-realistic structures to replace previous ones (more to come soon)
  • Improved explosion damage vs. large blocks
  • Tweaked some camera controls, particularly when using the gamepad
  • Removed XP system
  • Removed build mode requirements/goals (they are deleted from a map if they exist)
  • Editor: Added some new selection buttons for structures
  • Editor: Added new vehicle start entity, which replaced the rock entity
  • Changed grass visuals a bit to have better scale
  • Fixed most water particles that appeared under the terrain


MULTI-VEHICLE DETAILS

If you want to place/spawn more than 1 vehicle in a map, the MAP has to have more than 1 start point. Only a few built-in maps have more than 1 currently, but I'll add more later. Each start point will spawn a vehicle if one is assigned.

There are 4 Vehicle Control methods: Player 1, Player 2, None, and AI. Player 1 uses the keyboard and/or the 1st used gamepad. If you change the option "PLAYER 1 - USE GAMEPAD" to be disabled, Player 1 will only use the keyboard. In that case, Player 2 will use the 1st gamepad, rather than the 2nd. If you have a 2nd player, the camera controls will not be shown, with the 2nd player controls shown in the upper right instead.

Vehicles with NONE can be taken over by either player. Get close to the vehicle in question and press [V] on the keyboard, or [Y]/[triangle] on the gamepad to swap vehicles. Vehicles marked AI currently do nothing, but will eventually be controlled by AI, and can't be swapped to either way.

While editing in Build Mode, you'll see a list of start points/vehicles in the upper left. The current one (that you can edit) is highlighted, and you can switch between them at any time. If you want to see them in the level without playing, just hit the "Show All Vehicles" checkbox. It shows where they'll all start in the world. Note that vehicles now try to start on the ground, rather than falling from the sky. Or at least they start where the vehicle start points are. You can change the Y/Z start offsets for a vehicle by editing the cab in advanced mode.


If you use the Island/Map Editor to place start points, the relevant things to edit are on the right side. By default, vehicle starts are set to "NONE" for the vehicle to spawn. You can set the Showcase vehicle to spawn instead.

When editing multiple vehicles, the various vehicles you've edited/loaded will be saved until you close the game. Restarting the game will load the *last* vehicle you edited, regardless of the starting vehicle slot it was in. The other vehicles are not saved, so make sure to manually save them if necessary.

OTHER STUFF
Build mode requirements and the XP system are both gone from the game, and neither is coming back. In an upcoming update, the Star system will receive some significant revisions. The destruction system got a significant speed up in certain cases (particularly large-scale destruction), and you should see a lot fewer water effects from impacts beneath the ground. There are some new structures that have a more realistic sense of scale, and I'll be creating a lot more new ones to use in the campaign. They generally use fewer blocks than previous structures, relative to their size.

That's all for now. Definitely let me know if you find any issues with the new build (reminder: Debug branch only for now), and I'll try to fix them ASAP.

Instruments of Destruction selected for PAX Rising 2023 Showcase!

I'm excited to announce that Instruments of Destruction will be featured in the PAX Rising Showcase at PAX West! See all the PAX Rising titles here: PAX Rising Showcase.

PAX West is one of the biggest gaming conventions in the US, and it takes place at the beginning of September in Seattle (Labor Day Weekend here in the US). The PAX Rising Showcase chooses a small number of indie games every year. Being selected means you get a small booth in a great location on the show floor. I've been to PAX West a couple times to show Overload with Revival Productions, but this will be my first Radiangames title I've shown. It will also be the first time I've met Auvic (musician for Instruments, Speed Demons, and Rhythm Storm) in person, as he'll be coming as well.

Part of what helped get Instruments selected is this trailer I put together at the end of May. It shows off a number of the vehicles that will be in the new singleplayer campaign. Many of those shown will debut at PAX West along with new maps/structures/missions/etc.

[previewyoutube][/previewyoutube]

MAKING PROGRESS

That leads me to what I've been working on lately, which is mostly a lot of random stuff. The most exciting (and buggiest) is optimizing the destruction system. It used to take up to 100 milliseconds to un-parent all the blocks from the structures during big explosions. That step is now skipped completely, so destruction is a lot smoother. Parenting (and un-parenting) objects in Unity is *really* slow, and I realized I didn't need to un-parent blocks when they break off a structure because the physics happens independently regardless.

The bugs mostly come about because setting the position/rotation does care about parenting, and that still needs to happen at certain times (such as creating the buildings), and recycled blocks in particular can have issues. I believe I have most of the issues fixed, but it's a difficult problem to solve with certainty. Weird stuff has always happened on occasion in Instruments due to all the physics (and some rare lingering bugs), so it's hard to track down the root cause, especially with thousands of blocks in every scene.

Other recent changes include removing the entire XP system, more work on the multi-vehicle system (still not done), making a bunch of new more-realistic structures, fixing water effects appearing beneath terrain, and improving how structures and large blocks react to explosions.

I'm hoping to reach a good stable point soon where I can update the Steam version to 0.300 (and fix anything that breaks) before really focusing on the PAX West demo. I have a list of 10-12 vehicles that will be featured there, and that includes many of the ones seen in the video above. That build will come to Steam shortly after PAX West.

FEATURED VEHICLES HIATUS

Due to a lack of interest (less than 10 vehicles entered in the Grappling Hook contest) and a desire to focus on PAX West and version 1.0, I'm going to pause the Featured Vehicles contests. I will set 4 of the entries to be featured (and update the featured vehicle text) later today. Thanks to those that entered, and to all the past featured vehicle creators. I'll consider bringing back the Featured Vehicles again in 2024.

Overall interest in the game is low at the moment, and that's partly intentional on my part. I've avoided promoting the game in the first half of 2023, aside from entering it in a few things like PAX Rising/etc. With the new campaign and version 1.0 coming, there will be a lot more stuff happening and the game will receive more promotion as well.

So look for version 0.300 in the next couple weeks, then for the PAX West demo in early September. Beyond that, the full campaign and version 1.0 will be focus. I expect to debut the campaign before 1.0, but I don't have a realistic timetable for either one quite yet. I previously said Late Summer 2023 for campaign, but Fall 2023 is now the current goal and I don't want to promise anything until it's a lot closer to being done.