I have been following the events on a few libretro related threads in reddit and I find it quite disappointing to see the amount of hatred directed to a project that has done nothing but do what end-users wanted for more than three years now. I also find it terrible (but interesting none the less) that the social media post is more active than the actual highlight.

Disclaimer: this represents my own experiences and my points of view with regard of the situations that surround our project.

Anyway…

A bit of my personal history with the project:

Let’s look back all the way to 2013. RetroArch was still called SSNES, a fairly small commandline program with just a few cores, a launcher that could be used to adjust options and that’s it. No bells or whistles, just a few nice cores implemented under one frontend with a common feature set. I hadn’t really been using emulators since the zSnes days other than a few tries with mobile emulators on my WinCE device.

I just had built a game-room / tv-room. So I setup XBMC and loved it. Soon I started looking for emulators that would work nicely with my setup. I installed Nestopia and some XBMC plugin that acted as a launcher with worked mostly fine. I liked the emulation but I also like the fact that I could set hotkeys to save, load, and it presented nice OSD messages on non-game actions and I could drive the whole thing with my gamepad only. I hoped other emulators would have the same features but I was let down almost instantly. Regardless I pursued my objective with a miriad of tools (Pinnacle Game Profiler, Xpadder, Joy2Key, batch files, Daemon Tools to name a few).

At a certain point I discovered bsnes. Maybe it was on it’s adolescence days or something, or maybe it was just the build I picked or whatever but it was slow with vsync, teared a lot without, couldn’t forward keys with any of the aforementioned tools and it didn’t have a nice scanline filter. As accurate and good as it was it didn’t fit my use case.

Soon I remembered an old multi-system emulator that had a few of those features. I didn’t really have a good experience with it in the past but I though I would give it a second chance, so I after some googling I found Mednafen. I was pleasantly surprised with one emulator that had the one thing I wanted, a common feature set so I could setup everything the way I wanted, ideally once, and forget. I was actually quite happy with it for a while.

Of course back then Mednafen didn’t have PSX or Saturn but it was “almost there” except from the fact that there wasn’t a single decent gui that was more that a configuration tool available. (I respect the author’s decision to stay mainly CLI driven but again it didn’t suit my use case). It was the time to setup a PSX emulator, so I had… XEBRA or EPSXE. XEBRA was accurate, promising but really not usable for me, it was too weird. And EPSXE saved settings in files and the registry and it was all over the place… still, it worked so I settled with it with the help of epsxecutor.

One day, while browsing bsnes forums I saw some guy with a happy face avatar (TheMaister) post about something called SSNES. It was an alternate frontend for bsnes, it actually ran well on my system! and progress was staggering, in just a few days went from an alternate bsnes frontend to supporting VBA, FBA and others so I started using it. I even enjoyed using phoenix (the now defunct desktop configuration tool) and the fact that it even had an updater for it’s own emulators. It showed great promise and I was really excited about the constant flow of releases. I never liked that the configuration wasn’t real-time (I was a zSnes / Nesticle fan after all) but it provided me with my game-room solution.

I joined IRC and it is one of those things that happend in a perfect moment, a new build was just out with RGUI (0.9.9). I won’t lie it was ugly, but I could load games and tweak a few important settings in real-time with just my gamepad. I think MAME had this before but MAME was always and unwieldy tool in my mind.

RetroArch 0.9.9-2
RetroArch 0.9.9-1

RetroArch did a lot of things better than anything else. Shaders quickly replaced CPU filters, audio and video sync were perfect and it supported exclusive fullscreen. It had an OSD and hotkeys to save and load states without needing to fallback to third party tools. It had literally everything. I even got a smartphone (Samsung S2) because of it.

After 0.9.9 lots of bugfixing releases followed. Even a preliminary emscripten browser port emerged. Yeah the experience in all platforms was inconsistent, The menu was all over the place. Even input mapping disappeared at some point if I remember correctly but it was still by far my emulation tool of choice.

In retrospective I think this might have been a high-point in RetroArch’s popularity. TheMaister was happy to accomodate many exotic requests and everyone was happy. Gamepads in many platforms worked out of the box (something you can’t say about many other emulators until the recent gamepad standarization in SDL2). When you become too popular bad things happen too and it was certainly the case. We lost the forums. Real life meant some of the devs had less time to be involved, and someone asked Google to take down RetroArch. To this day we are uncertain if it was some other “competing” project (we’re not really competing or trying to take the place of anything else) or the screenshots showing copyrighted material in the Google Play listing. We had to add a waiver to remove non-free cores and stuff like that. Anyway 1.0 was mostly a success. Mupen was now an “official” core, the menu was homogeneous among platforms, the history list was added and input binding was back. At this point I got a Nexus 7 and I had a long work trip. RetroArch was the only game related thing I needed.

1.0.0.2

By the time 1.1 was ready I think a year had passed, it had even skipped a version and became 1.2!. Bugs had been piling up, people were pissed about no new releases after all those blog posts and the lack of documentation and tools to build by myself was becoming a problem. During the course of that year I had literally had to depend on Twinaphex or TheMaister handing me a build if I wanted to test or use something. The lack of CI had dragged us down a lot.

That led me to start working on a buildbot (there were several other efforts but I guess mine prevailed for some reason).
The new buildbot was a great addition for us, it allowed us and users to test routinely and report bugs.

By the release there were a lot of changes and additions. A PSP port (which was really good even if it never got the attention it deserves), a PPSSPP core, various improved cores such as a really nice NXengine core (Cave Story). Kivutar had joined the team and he shaped up two menu drivers (GLUI and Lakka which is now XMB). We now had our own database system to scan for games and add them to playlists so they were directly associated with the platform being emulated/executed. Input mapping was back (again). Core re-mapping was introduced, and by popular demand cheats were supported.

1.2

The release was troubled of course. Several folders were missing, platform defaults were (and still are in various cases) problematic. etc.

After 1.2, 1.2.1, the 1.3 series and other service releases we’ve been forced to delay the release once again. Not because there isn’t anything new to show but because we want to release it properly.

screenshot-2016-11-25-21-09-03

screenshot-2016-11-25-21-09-37

User facing changes so far:

Most of the changes are under the hood, but these are a few highlights from the top of my head

– Separated keyboard menu input from core inputs
– New gamepad enabled on-screen keyboard
– Localization support
– Deprecated configurations per-core in favor of core and game specific overrides
– Netplay has been re-implemented and improved
– RetroArch on mobiles can act as a gamepad for another RetroArch instance via the RetroPad core
– Tons of cleanups on our cheats, image and information databases
– Improved font support
– Tons on improvements in the menu drivers
– Better setting grouping
– Several menu entries now have sublabels explaining their purpose
– Better platform defaults including default dirs
– Fixed window size support for people who like to play in window mode
– Better support for RetroAchievements
– Per-core and per-game shader preset saving
– Core options can be applied for a particular game now
– Ability to swap menu Ok/Cancel to match newer input conventions
– Better archive support
– Improved Vita support
– Improved PS3 support (still no nightlies)
– Improved Emscripten support including persistent saving
– Improved 3Ds support
– WiiU support!

Closing:

And the reason for this daunting long-ass write-up?
Because I felt like it.

Because RetroArch has it’s problems but it also does a lot of stuff better than anything else out there.
There were many projects announced with lots of bells and whistles and even media coverage, but still nothing can touch RetroArch in actual delivery.

Sure we’ve broken some ETAs and we’ve failed to deliver on some promises but really. We get a lot of bad PR over nothing… Sure Twinaphex sometimes is aggressive on some social media outlets but it’s literally nothing. The UI is not perfect? Sure it’s not, we know it isn’t but it’s always improving. Controller support is not perfect… WE AGREE! but every other project has problems with controller mapping too. I’m not gonna cite specific cases out of respect for the devs. Try to mention one single community driven project related to gaming that tries to cater to so many (often obtuse) users with so many different ideals.

There was a time when not all the options were exposed on the menu. People ranted and complained incessantly over that.
Now people complain about too many options… What gives?

Truth is we have been living to please end-user demands to the best of our abilities.
I hope some of the naysayers can see my point of view. I don’t expect everyone to start liking our project because of this but I hope you’ll at least become aware that this is a huge project and we’re really just a handful of people working on it. We’re always listening, but we’ve noticed an ugly trend developing. Some people don’t just ask but demand and badger constantly. Remember we’re all just volunteers here.

Anyway, I also wanted to talk the people that support us. It’s easier to focus on the “I hate RetroArch” posts but I think the tide is turning and people are starting to see us differently. I also want to thank the emulator developers. Without them we would probably have never embarked in this crazy adventure.

12 thoughts on “A RetroArch retrospective and what to look forward to

  1. Thank you for writing about the history of the project. It is quite interesting and I like to read your personal notes. I do not know anything about negative comments about RetroArch or a bad vibe within the ‘scene’. I think there are many people that love the project. Unfortunately negative comments have a bigger impact than positive ones. But you guys should be sure that most of the users highly respect your work. Libretro, RetroArch and Lakka itself as well as the documentation, presentation and this blog is fantastic. I wish more people would support this project on Patreon if they use it. Anyway… enough of the warm words.. Keep it up!

  2. Thank you for this interesting history about Retroarch.

    I know people will never be grateful for it, but at the same time, I like the program as it is now.

    Even, just couple weeks I’ve done finally the change of RGUI to XMB. I have some FPS drops, but it’s ok. I already know my system is older.

    I just wanted to say thank you to Reatroarch Team again for building this program. I like it, I enjoying it on Archlinux.

  3. I don’t go on reddit but I’m really surprised people would be talking crap about Retroarch. It is the only thing that I use these days because of all the aforementioned features in your write up. I would seriously be beside myself if Retorarch didn’t exist because emulators authors cannot write a good usable GUI to save their life (zsnes gui worked well thus its popularity even with horrible accuracy). You rock man and keep your head up high!

  4. It’s easy to concentrate on the negative when it’s regarding the project you hold so dear, but I see many, MANY things on Reddit that are absolutely positive about Retroarch. Pretty much every time I gush about how incredible it has gotten in even the past year or so, I’m met with plenty of agreement, upvotes, and potential new users.

    In fact, I’d say positive comments about Retroarch are the norm. That said, like I said before, when you’re working on a project so hard and at very little benefit to yourself, it’s really easy to focus on the people giving the project crap even though they’re in the minority.

    Keep doing what you’re doing. Your project is incredible and it has seriously revolutionized the way I run emulators on every PC in my house. I look forward to the future.

  5. I get this exact point of of view. I work on LaunchBox, I work in the forums, with the community and I make all of our tutorials for YouTube. Jason, the owner, creator and dev does the same thing. Listens to users and tries to do what they want. There is certainly a fine line between someone asking, then someone demanding. In recent months there have been several situations where it’s almost devolved to demanding. I also feature RetroArch in a majority of our tutorials. It’s the perfect compliment to LaunchBox, as Big Box is supposed to be the media center, controller oriented version of our software. With very little set up, you’re rockin and rollin. I see the RetroArch ‘hatred’ a lot, and I’ve seen where something was requested, quick praise if even anything, then anger about the decision. I try and tell people all the time that RetroArch is actually one of the best things to happen to emulation in the last 15 years, it’s trying to standardize something that is almost to the point of being able to have no standardization. So I do have nothing but great things to say about the developers, even though I’ve never had contact with them, they’re doing something that no one was able to do before. People even question why I utilize RetroArch so much, because of a few Front End like features it has, it still does everything else better that I think should be standard for other emulators, and it’s not. So I sympathize to a degree I’m not many people could. The quick and massive updates to even a platform like the Vita is astounding, so my hat is off to every developer working on the project, every developer who works on a stand alone emulator that allows the RetroArch team to utilize, it has come together to create a product worth being proud of.

  6. Retroarch remains my #1 option for emulation needs, keep up the great work! Don’t let the haters get to you, there are many who appreciate your work, even if we don’t always speak up. I dreamed of a program like Retroarch 10 years ago, and I’m grateful it exists now.

  7. There’s always some badmouthing going on about any program that isn’t dead simple to use.
    Reddit or 4chan.. people vent their anger there.. that’s what happen, just like teenagers pretending they are the cream.
    Don’t listen to this posers contest.

  8. Jeroen Van Cleemput

    November 26, 2016 — 12:01 pm

    Tell me more about improved 3ds support 🙂 Last time i tried the mgba core ran a bit sluggish and nestopia was crashing. But it was really cool running retroarch on it so any improvements are definitely welcome.

  9. Stephen Christopher Hagerty

    November 26, 2016 — 12:36 pm

    I really appreciate the extensive and continual work being put into retro pi. The project has blossomed into such a well polished piece of software, I am very happy to be able to utilize this toolkit. I just wanted to commend your efforts, and say thank you so much from the bottom of my heart. This project means a lot to me.

  10. How come? Retroarch is the best thing that could ever happen to emulation, there’s no doubt. If someone hate or just don’t like something so useful and so good, there must be something wrong here, and I can tell that isn’t Retroarch what’s wrong here.

  11. Thank you for your tireless work! Looking forward to more cores for old Commodore and Apple computers, maybe? 🙂

  12. I’m sure I’m not the only one that rarely visits the forums, but I wasn’t aware of any hatred.
    In fact I usually see RA recommended and recommend it myself when asked.
    I absolutely adore it.
    Please keep up the good work and remember, it’s _always_ the negative people that shout the loudest.

Comments are closed.