So Out of Ammo was our first game. Sadly, for us at least, Virtual Reality didn't promise to be much of a breadwinner. The studio has long ago moved on to bigger and brighter things. However, we've been ticking away at updates to the game for a while.
A few months ago we assigned more resource to do some substantial updates to the game. This started a long journey of refactoring. Think of it like taking a panel off the wall to replace it, realizing the frame needs replacing, so you replace that... essentially this Malcolm in the Middle episode.
This represents a pretty major change in how Out of Ammo is built. So if you like it, please do get the word out there! We've pumped a lot of development time in this, as always let us know your thoughts below.
Message from Rory (Programmer)
Hi, I'm the guy who's been holed up making an update for Out of Ammo. I haven't seen the sun from my blacked-out room for months! What was supposed to take a matter of weeks has expanded to take over all my waking hours, so let me start this changelog with a cautionary tale…
Since the last update I've been working on a refactor of the main player character, a.k.a the Pawn. Out of Ammo was built for an immature platform with rapid iteration of new features being tacked on wherever they would fit. The Pawn was the key component of the entire game; over time anything that happened became somehow integrated with the Pawn. This made the game pretty difficult to work on since the Pawn was so massive that it took several minutes to open, save, compile or do anything. It had become what's known as a God-Object. So, in order to facilitate further development, I volunteered to clean up the Pawn. Just a bit.
When I first started writing this changelog I believed I was about halfway done - in fact at the time I was only a sixth of the way through. At least 7 GB of data changed over almost a thousand files, 5 engine updates, a near-endless amount of bugs and 5 months later I've reworked almost the whole core of the game! I had massively underestimated the task. Because the player pawn was involved with everything, reworking the Pawn meant that I was reworking almost everything else as well. But the end result has made the game much more maintainable.
... I'm sure there's a moral in this somewhere. Don't bite off more than you can chew? Don't volunteer for anything? Hindsight is 20/20? I don't know, but hopefully it's helped you gain some insight into what has been a very difficult update!
Out of Ammo has gone from using Unreal version 4.16 to version 4.21 and has gained many benefits from doing so.
- Screen Percentage has been removed in favour of Pixel Density. Instead of having to figure out an appropriate screen percentage for each headset, and often being slightly off, we can use a normalized number to get the perfect amount. If you have pixel density set to the default you can be certain it will be perfect for your device. You can still down-sample to 0.5x or up-sample to 1.5x normal resolution if you want, but if you just need a few extra frames here and there...
- Dynamic Resolution is now available. We haven't tested it fully so we're not enabling this by default but if you feel like you need it it can be accessed by setting Pixel Density to "Dynamic".
- Spectator Screens have been added as an alternative view option. It's off by default though (the "Default View" option just copies what the player can see with almost no overhead) as it effectively involves rendering the whole world another time. The spectator screen refresh rate is limited to ~30 FPS to reduce the burden on your GPU.
- Various performance and stability enhancements too numerous to list.
The whole grip system has been rebuilt around the VR Expansion Plugin. This means far more accurate and comprehensive grip manipulating in single player and multiplayer. In general things will remain the same for you, it simply allows us to add, alter and maintain things more easily. Maintaining the old grip system was a massive chore and the complexities of it effectively kept us version locked under 4.18. This was where the bulk of the work went.
Here's a few other changes to grippable items.
- Items will trigger haptic feedback when they bump into things while held.
- Some items, like the commander radio, can be dropped with the grip button on the corresponding controller. Others can be dropped by releasing the trigger as before.
All weapons in the game have been updated to take advantage of the new grips system. The gunplay has been improved to be more rewarding, consistent and intuitive.
- Weapons are now physical objects with collisions and can be gripped and dropped in the world. Press the grip button on the corresponding controller to drop a weapon.
- Large weapons can be gripped with both hands. Just grab the weapon where you'd expect to hold it with your off hand to dual grip.
- You can dual wield weapons!
- You can switch a weapon to your other hand by placing your other hand over the weapon's handle and pressing the grip button.
- Bolts and slides can be accurately moved rather than snapping to positions and weapons internally have a chamber that stores a single round. Some weapons have more steps to reloading to take advantage of this.
- Weapons have physical recoil and kick.
- Ammunition is stored per magazine rather than per weapon, so if you remove a half-empty magazine it doesn't magically become empty.
- The M2 mounted machine gun has been completely reworked from the ground up. It is much more reliable to reload, and you no longer need to hold the grip buttons to fire it.
- Weapon attachments can now be accessed by holding your hand over the attachment area and holding the grip button. Use the primary trigger to select an option or press the grip button over the attachment to get rid of the menu.
Equipment and loadouts
A new concept to Out of Ammo coming over from Death Drive; almost any grippable item can be equipped to slots on the players body. It's especially useful in the 'Icarus' mission!
- There are 4 small slots and 2 weapon slots on the player when they have possessed a unit. Small slots cannot take weapons.
- The commander radio always reserves a slot and any loadout weapons reserve slots as well. When a slot is reserved the slot can only be used by that one item.
- If you drop a loadout item out of reach it will teleport back you and attach to the slot it reserved.
Quality of life
- The tutorial has been updated with the relevant changes.
- You can now teleport in commander mode and teleport using both hands, just like in Death Drive.
- You can now use the commander radio while possessing a unit.
- All game settings (the ones at the back of the commander tent in the starting level) are now located in either Game.ini or GameUserSettings.ini found in %LocalAppData%\OutOfAmmo\Saved\Config\WindowsNoEditor. If you're having real problems related to game settings clearing those might help.
There are far too many of these to count. I'll list a few here that come to mind.
- Pausing now actually pauses the game, instead of just making it really slow. This should prevent many bizarre physics and desync bugs, although it's currently messing with grips a bit.
- Fixed several bugs relating to Oculus rotation caused by code using the unrotated head direction or position.
- Fixed menu tooltips not showing or having incorrect text.
- Fixed many physics bugs caused by weird physics constraints.
However, with massive changes such as this there is a possibility for many new and interesting bugs to be introduced. If you find any, please let us know! It should be a lot easier for us to fix them now...