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.