Blog


INVERSUS Newsletter – Aug 16, 2016

Here’s the latest edition of the INVERSUS Newsletter!

The first newsletter I sent out was in August of last year. I’m happy to mark the anniversary by saying that INVERSUS is out now! Reviews are popping up left and right online. Destructoid gave it a 9.5! Grab a copy and tell your friends!

https://www.youtube.com/watch?v=xQfy5pETkvQ

Where to Buy

For the PC players, you can pick up your Steam key at any of these spots:

Steam Storefront

inversusgame.com

Humble Store

For all of the PlayStation players out there, you can find INVERSUS on the PlayStation Store!

Soundtrack

Today is also launch day for the official INVERSUS soundtrack! It’s only €3.99 and available directly from Lyvo himself. Pick up a copy over at bandcamp or just about anywhere else you can buy music online.

Community

If you’re looking for a place to find and meet other players, I set up an official Discord server. Click here to join!

You can also visit the Steam Community Forums to discuss the game.




Analog to Digital Input Translation

It’s common to use an analog input method (control stick, trigger button) to control a digital system. Maybe you want to control menus with an analog stick. Maybe you want to detect a tap or double-tap of the analog stick. Or, as is the focus of this article, maybe you want to fire a bullet with an analog trigger. Getting this right requires more subtlety than you might expect.

While INVERSUS isn’t shipping with shooting bound to an analog trigger, it did start out that way. You can get some insight into why I changed schemes in my article on the parry system (although it might merit its own article), but the important thing to make clear is that it wasn’t changed due to trigger feel; the triggers felt great.

Let’s assume we have successfully preprocessed our controller data and have a clean floating point value from 0.0 to 1.0 representing trigger pressure. Zero represents a released trigger and one represents a fully pressed trigger.

My specific goal was to implement a single-shot fire when the player pulled in the trigger, but I’m going to abstract that goal a bit. What I really want is to translate the analog button input into a digital button input. A digital button is either in a pressed state or a released state. If we can evaluate the same pressed/released status of an analog button then it should be easy to bind it to any game action that takes digital input. For shooting, we can fire the bullet when the state transitions from released to pressed.

So how do we translate our analog button to a digital button?