Friday, August 04, 2017

Fix: Pokken Tournament controller wrong D-Pad behavior in Cosmic Star Heroine (and other Unity games?)

Symptoms

When using a Pokken Tournament controller (which is a 16-bit-style controller with a D-pad only, no analog sticks) with the game Cosmic Star Heroine in Steam on PC, the game recognizes the up/down D-pad inputs as left/right. For example, pressing Up on the controller moves the character in the game to the left.) The game doesn’t recognize the left/right D-pad inputs at all.

PokkenTournamentController-CosmicStarHeroine

(From research I’ve done, I suspect that this issue may also affect other games built using the Unity engine, and/or the D-pad inputs on other controllers.)

Workaround / Fix

Part 1: Enable Generic Gamepad Configuration Support in Steam

  1. Open Steam.
  2. In the Steam main window, in the View menu, select Settings.
  3. In the Settings window, select Controller (in the left pane), then click General Controller Settings.
  4. In the “Big Picture”-style Controller Settings window, check Generic Gamepad Configuration Support, then click Back.  (You may need to maximize the Controller Settings window to see the Back button near the bottom of that page.  Or, just close the window.)

Part 2: Set up controller configuration for Cosmic Star Heroine

Part 2A: Open the Steam Controller Configuration window for Cosmic Star Heroine.

  1. In Steam, select the Library pane.
  2. In your list of games, select Cosmic Star Heroine.
  3. Under “Links” on the right side of the window, click Controller Configuration.

Part 2B: Disable the Left Analog Stick input.

SteamControllerCongurationPokken

  1. In the Steam Controller Configuration window, click the box in the lower-left that points to the left analog stick on the picture of the controller.
  2. In the Style of Input dropdown, select None. 
  3. Click Back.

Part 2C: Configure D-pad input to be treated as Left Analog Stick input.

  1. In the Steam Controller Configuration window, click the box in the lower-left-center that points to the D-pad on the picture of the controller.
  2. In the Style of Input dropdown, select “Joystick Move”.
  3. In the Output dropdown, select “Left Joystick”.
  4. Click Back.

Part 2D: Save and apply the changes.

  1. Click the Export Config button.
  2. Click the “Save new personal binding” button.
  3. Give your configuration a  name – I used “POKKEN” – and click Save.
  4. Close the Steam Controller Configuration window.

With this workaround, I’m finally able to play the 16-bit-era-like game Cosmic Star Heroine on my 16-bit-era-like, analog-stick-less Pokken Tournament gamepad controller!

Other Things I Tried, Unsuccessfully

I tried using the excellent JoyToKey to remap my controller’s D-pad presses to keyboard keys. Unfortunately, that didn’t work, as Cosmic Star Heroine then acted on both the remapped input and the original (and incorrect) D-pad input, such that pressing “Up” on the controller with my JoyToKey mappings active would result in my character moving diagonally up and left in the game.  (And as of the time of this post, Cosmic Star Heroine doesn’t have any option to just disable or ignore controller input altogether, or to remap controllers from in the game itself.)

I also couldn’t find any config files or registry keys to reconfigure or disable controller input.

Finally, searching and posting on the Cosmic Star Heroine forum on Steam didn’t yield any solutions.

Thursday, July 06, 2017

America’s National Parks and Net Neutrality

My family and I were fortunate enough this past month to be able to take an eighteen-day road trip to some of the United States’ incredible national parks and monuments, including Badlands, Devil’s Tower, Yellowstone, Grand Teton, and Mount Rushmore

My wife capturing the Badlands 

I’ve taken away from that trip an appreciation of the historical efforts by individuals like John Muir and Theodore Roosevelt to legally establish what has since been called “America’s best idea”: The preservation of these uniquely beautiful areas by inventing their designation as National Parks.  This protects them for the enjoyment of the public from ownership by corporations which might charge high prices for admission, or build tourist attractions right in among the natural wonders.

During the trip, a parallel with the “ownerless” national parks occurred to me: The World Wide Web.  In similar fashion to how anyone can visit and enjoy the national parks, the Web is also effectively a platform with no corporate owner, in that anyone can set up a new page or site without needing permission from a corporation.

One of the key reasons that the Web works so well is that Internet Service Providers – the companies like Comcast and Verizon that we pay for Internet connections – aren’t currently permitted (at least in the U.S.) to restrict access to certain websites.  For example, Comcast isn’t allowed to make a deal with Google to allow you to connect to the Google+ site for free, but charge you extra to allow you to connect to Facebook.  This principle is called net neutrality.

NetNeutralityTiers

Net neutrality is really important for the emergence of innovative new online services, too.  A new “like Netflix, but better!” startup business might very well have trouble even getting off the ground if Netflix itself could strike a deal with ISPs to greatly slow the Internet speed of new streaming video sites.

This all is relevant right now because the FCC is planning to significantly roll back net neutrality rules. This would open up actions like the above examples to ISP companies, which, understandably, will simply make whatever deals will generate the most profit.

Among ordinary citizens, one might expect that net neutrality should enjoy broad popular support across the political spectrum, both left and right -- and it does! After all, perhaps aside from ISP company executives, who wouldn’t want fast and unrestricted access to any website that they might choose to visit?

Next week on July 12, 2017, a great many websites are participating in an Internet-wide Day of Action to save net neutrality.  You can learn more and join the action here: https://www.battleforthenet.com/july12

I’m hoping that the July 12 day of action helps our congress, as well as the general public, an understanding that our unique, shared “natural resource” of the Internet deserves the same sort of legally-guaranteed protection of open access for all that our wonderful public national parks enjoy.

Friday, February 17, 2017

Vigil RPG interview at TouchArcade.com

I was interviewed by top-notch iOS RPG reviewer Shaun Musgrave on the subject the development of my iOS game, Vigil RPG.  Check out the interview over on TouchArcade.com!

Thursday, October 20, 2016

ClipEmoji.com – Copy emoji characters to your clipboard!

While it’s easy to type emoji characters on a smartphone or tablet, it’s not as straightforward in most chat clients on a PC.  When I’ve wanted to insert an emoji into a chat message from my PC, I’ve previously resorted to workarounds like googling the name of the emoji, finding a site with information about it, copying it to my clipboard from there, and pasting it into the chat.

I decided to take the past couple of evenings and build a better solution. Introducing ClipEmoji.com, a site that allows you to copy emoji to the clipboard with a single mouse click!

ClipEmoji.com also supports search-as-you-type, so you can quickly get a visual list of all emoji that contain “smile” as part of their name, for example.

The emoji are actual unicode characters, not images, and will therefore vary in appearance depending on which platform they are being viewed on.

The emoji names and keywords are from the Full Emoji Data chart at unicode.org and are used with permission.

Transforming the unicode.org data for use on ClipEmoji.com, which I did with a one-off C# program that parsed the Full Emoji Data HTML and constructed the ClipEmoji.com HTML, was educational. I learned that many emoji “characters” are actually composed of combinations of multiple raw characters – so, for example, when grabbing an emoji character from a string, assuming that the emoji character has a string length of 1 is a mistake!

Feel free to bookmark and share ClipEmoji.com if you find it useful, and to let me know if you have any questions or suggestions! 😁

Saturday, September 10, 2016

Why no iPhone 7 3.5mm audio jack is a deal-breaker for me personally

Apple announced last week that the new iPhone 7 won’t have a “standard” 3.5mm stereo headphone jack; it’ll only have a Lightning port.  To offset this, the iPhone 7 is shipping with a dongle that allows 3.5mm headphones to be plugged into the lightning port, as well as with a pair of earbuds that have a Lightning connection instead of a 3.5mm.

Although I’ve only ever owned Apple iOS smart devices up to this point – and I’ve even developed and published my own successful iOS-exclusive RPG game on the App Store – the lack of a standard 3.5mm jack on the iPhone 7 is unfortunately a deal-breaker for me personally.  Here are my reasons why some of the arguments that I’ve heard for why the iPhone 7 having no standard audio jack is no big deal don’t resonate well with me.

Apple is giving you a dongle! Just use that!

I have several different pairs of earbuds that I use with my phone, so just keeping the dongle permanently attached to one pair isn't an option.

I could buy a dongle for every pair of earbuds I own, but in addition to being somewhat expensive and annoying, it would be a hassle to remove (and keep track of) the dongles when I want to use the earbuds with a non-iPhone device.

Keeping a dongle always attached to my phone isn't going to happen. I don't want it always dangling, and when I remove to charge the phone it might get lost.

Finally, I already did the thing where I need to use a dongle to plug in headphones via a device’s power port: With the Gameboy Advance SP, back in 2003. I found the experience to be pretty annoying back then.

Apple is giving you Lightning-connector earbuds! Just use those!

I often plug my earbuds into devices besides my phone, so replacing all of my earbuds with lightning-connector versions isn't an option.  Here’s a partial list:

  • My PC
  • My iPod Nano (which I still use for listening to live sports broadcasts on local FM radio)
  • My Nintendo DS
  • The built-in jack in airplane seats (for watching live sports or recent movies)
  • The built-in jack in the treadmill-with-TV at my gym

Further, I’m not interested in owning two distinct sets of earbuds, one set that works with 3.5mm connections, and one set that works with the iPhone.  (I own multiple pairs of fairly inexpensive earbuds, because over time I’ve learned that I tend to misplace them frequently.)

I’d much rather be in a position where any pair of earbuds I own will work with any audio jack that I own, or might encounter.

The iPhone works with Bluetooth earbuds! Wireless is better anyway!

I don't like wireless / Bluetooth earphones much, as I have found that for me, the hassle of needing to keep them charged outweighs the benefit of not having a wire.

I’ve found that having to manually re-pair them often (when I use the same set of earphones with multiple devices) can be annoying as well.

But the 3.5mm standard is antiquated! Stop living in the past!

Sure, it absolutely makes sense to replace old technologies when superior replacements become available.

In this case, though, I’d argue that for most practical purposes Lightning (for audio connections) is an inferior alternative to 3.5mm audio. Lightning offers no discernable improvement in sound quality, and forces the use of workarounds like the dongle, in contrast to the “it just works” of the 3.5mm stereo standard.

So, I will not be buying an iPhone 7.  My tentative plan is to replace my current iPhone 5S with an iPhone 6S – which works with all standard earbuds, no dongle needed! – at some point in the next year or two.  Hopefully that’ll last me until at least 2019, at which point I’ll decide what to do next – including maybe making the painful jump away from my accumulated iOS software library to Android, Windows Phone, or whatever other future alternative might be available.