So, the latest release of RetroArch, version 1.2.1, has just been released. Allow me to fill you in on everything that has changed.
Rushed 1.2 release
First of all, we admit that the 1.2 release was rushed and we regret that we were in such a rush to get something out there that we might have lost the forest for thre trees at some point. Bear with us here, it has been over a year since we had started a very big initiative to rewrite the entire codebase from scratch so that it could be future proof from now on, and there is only so much that can be tested in a controlled environment. Once it gets out in the wild, a lot more potential usecases can be tested and therefore, issues can pop to the surface that you didn’t anticipate before.
Now, not to make apologies for anything, we have been working our ass off this past week dealing with the feedback and improving things. So, let’s start with that.
The Android release has seen several great improvements (and do note – most upcoming mobile versions like iOS and Blackberry 10 will benefit from these improvements) –
Some of these big improvements are in the UI. First of all, the fonts were a bit low-resolution in the 1.2 version for Android because we defaulted to a bitmap font renderer there. Now we have upgraded that to a Truetype-based font renderer which uses the internal Android system Holo fonts. It should therefore look a lot more visually appealing now than before. (courtesy of heuripedes, one of our developers)
In other usability improvements, touch dragging has now been improved (by one of our developers, kivutar). When you drag in the menu by pressing and holding your finger on the screen and then making swipes, inertia now gets applied. So you can do a forceful swipe and the scrolling should be done much quicker. Previously there was no inertia at all so trying to scroll before could feel pretty iffy and not comfortable at all like what you’d expect from native UIs on mobile devices.
Some other usability improvements are less pronounced but still welcome. We noticed that the ‘ticker speed’ was very slow in the default Android menu (GLUI), so we made that a bit faster. We also took some time out to fix some graphics glitches that could happen from time to time.
There were a LOT of control issues in 1.2. Users found that they could no longer use the back button with certain pads to return to the menu, or they found their previous menu toggle key no longer working.
I believe we ironed out most of those issues now. What’s more, we’ve given you some tools to fall back on – there are several ways to trigger a menu toggle now. Let’s discuss some:
1 – By using a button combo –
There are two predefined button combos you can choose from – pressing ‘Down + L1 + R1 + Y’ or “L3 + R3” will trigger a menu toggle so that you can go back to the menu and/or by pressing it a second time, return to the game. Go to Input Settings to select one of the two.
2 – Map Back Button As Menu Toggle –
In case a gamepad or some other device has not been autconfigured automatically, by enabling this option you can ensure that by pressing the back button, you can go back to the menu and/or resume the game.
Gamepad support control improvements
We really dropped the ball on this one for v1.2 on Android, let’s just get that out of the way. Now, it should be possible to completely manually bind a controller by hand in case there is no matching autoconfiguration file for the pad.
Also, to make this even more convenient, it is now possible to save your configured gamepad to a file by selecting ‘User # Save Autoconfig’.
So we were boasting about our new touch-friendly UI, right? Well, we didn’t really think through what kind of perception it would have on people if we would just drop them headfirst into this UI with an onscreen gamepad overlay, when most of these people would probably not think first to disable the overlay when not playing games. And obviously we can and should do better.
So for 1.2.1, we created some new options and enabled them by default which should enhance the user experience. How it works now on mobile devices is that when you enter the default menu (GLUI), you use touch controls. However, when the game actually starts up, the gamepad overlay will appear onscreen. When you go back to the menu, this gamepad overlay will disappear again until you go back to the game again.
If you dislike this behavior there’s always the possibility to turn these settings on/off in Input Overlay Settings. But I’m guessing you will pretty much like the new defaults.
There were a LOT of problems with the new default paths in this new RetroArch version. For 1.2.1, radius has been doing the thankless task of really going to town with improving this situation.
For instance, on Android, whenever you download content now (from – say – Add Content -> Download Core Content), it will download this stuff now to your Android device’s default Downloads directory. Similarly, every picture you take from RetroArch with ‘Take Screenshot’, gets saved now to Android’s default Pictures directory. So it is possible for you as a user to more easily have access to these files.
It should also now be possible again to use the directory of the game you’re running for savestates/saveram.
Dead Android UI
Consider this us not properly arranging a burial for the dead in time for v1.2. From now on, everything is controllable in an easy way from RetroArch’s built-in menu. We have removed all of the outdated upper-layer Android UI menu options and we hope this will provide for a consistent, seamless, one way to control RetroArch from every platform now. I think the menu system has been improved enough by now that it’s no longer necessary to rely on an upper-layer UI. We want RetroArch to be a consistent C-oriented codebase where any other upper-layer UI can instead be catered to through a companion UI – more on that later in the future. But we are no longer going to have duplicate settings inside one external Android UI and then a bunch of settings in the built-in RetroArch menu, no.
Game & Watch core troubles
We fixed numerous crashes with Game & Watch games by simply recompiling RetroArch with Google’s latest NDK toolchain. We’ll leave it up to voodoo I guess since none of these bugs make much sense anymore, the only thing I can surmise is that Google must have a habit of randomly breaking stuff inbetween toolchain revisions.
So now, with all of that out of the way, I’m sure you can agree that we really went to town trying to improve the Android user experience immeasurably. Let’s now move onto Gamecube/Wii…
Long time since the last release dropped. But we do have something to show for it, and no doubt we will have plenty of more to show for it in the upcoming weeks and months too.
It is now possible to connect a Sony DualShock 3 gamepad to your Wii through USB and use it for playing games with! This is made possible through the libsicksaxis API that was made by xerpi, and netux79 gave us some code that made this finally work with RetroArch.
I’ve tested it and while it can still be improved, it already plays great. I haven’t tested wireless operation though so you’re on your own still with that.
Also note: this will probably be improved upon a lot in the future. I’ve already asked ToadKing whether he would be interested in coming up with some USB HID driver for the Wii which, when finally implemented, would probably replace libsicksaxis entirely. With this, it will be possible to not only use DualShock 3 pads, but also DualShock 4 pads, maybe even more in the future. This USB HID driver already exists on certain RetroArch versions like the Linux and Mac versions, where it is possible to use a DualShock 3, Dual Shock 4 and/or a Wiimote Classic without the host OS even needing to supply any HID drivers for these pads to make it possible.
Anyway, stay tuned for more exciting news to follow us here. In future versions I’d also like to flesh out the WIi version’s netcode out some more so that we can actually provide the downloader feature options that are now available on Anroid and Windows.
So what’s not done yet? What’s still coming up?
All these platforms are obviously still waiting for a new RetroArch release:
- Mac OS X
- Blackberry 10
- Xbox 1 (OG )
Bear with us here. I’m working round the clock to make sure we finally have the latest version of RetroArch on all platforms again. This past year has been a truckload of work and I will be pleased to see this chapter finally end so that I can move on to the next phase of development. Rest assured that the PlayStation3 version will have some awesome features and that the iOS and BB10 versions will not disappoint.
And after I have these platforms out of the way, I can finally start looking again at the Windows Phone/WinRT port in general…
Thanks for reading this post and stay tuned for more big news this coming month. Things will be moving fast from now on, with plenty of results.