This is an automated archive made by the Lemmit Bot.

The original was posted on /r/epicgamespc by /u/flwwhtrbt on 2024-09-03 00:56:11+00:00.


A little while back I approached the devs of Heroic Games Launcher. Every article I’d read about Heroic told me plenty on the launcher itself, but I never learned about the people behind the program. I asked them if they’d be open to a little Q&A that I could share here on Reddit: so we can learn about what was behind Heroic, writing for the Steam Deck, their development process, their community who supports them, challenges, what was involved in writing it, and how the whole process of maintaining it is. Clearly they were all for it, and here we are.

Heroic Games Launcher (if you don’t know!) is a program you can install from the Discovery Store on your Steam Deck (or of course you can run it on your Windows or Linux PC too!), it lets you sign in to your respective Epic Games, GOG and Amazon accounts and then browse your redeemed and purchased libraries to install your games to play.

To be upfront, I’m not a professional, I don’t represent a site or publication. I was just interested in the story behind one of my fav Steam Deck programs and so I did this. I know it’s not a picture of me holding a Steam Deck, but I hope it has a place here regardless. And I hope you enjoy it as much as I did + give me some leeway for whatever mistakes were made with the questions <3

Introduction and Background

Can you tell us a bit about yourselves and what inspired you to start working on Heroic Launcher? Was it everyone’s love of gaming or programming that made you all take the leap?

Mathis: I believe it was a good mix of both. For me, I wanted to play the games I own on the Epic Games Store. Their launcher is… not the best, it’s even worse on Linux (at least it was at the time). A friend pointed me towards Legendary, a command-line cross-platform replacement for the launcher. Heroic then emerged from that as the logical next step (a graphical user interface). After about a year of waiting for it to mature, I moved my games over from Legendary to Heroic, found something I could improve, submitted that change, and the rest is history.

Paweł: Definitely both, but with more emphasis on programming. I was getting started with Linux and open source in general. Even though I started contributing with translations, I wanted to eventually contribute with code. I believe my first code change was about the new UI for login. After some smaller changes, I eventually picked up a highly requested feature - GOG support.

Ariel: I was more into the programming side. I don’t play much and I wasn’t even an Epic Games user, but I wanted to contribute to a project that would help users and learn new skills at the same time. It felt like a good fit for me. I started with just some really small things like fixing a shortcut bug or basic stuff, but eventually, things started to make sense. After some time, it feels really nice to know that you are doing something that is helping a lot of people.

Etaash: I was tired of using Lutris at the time. It had a lot of bugs (most of them fixed now), and it is written in Python, so that turned me away from contributing to fix those issues (Python is unreadable for me, who primarily programs in C/C++). I looked for alternatives and eventually found Heroic, which suited my needs since all I needed was to launch Epic games. Heroic was a bit more stable, but it also wasn’t stable enough, so I decided to dig into the code a bit. Since it was TypeScript, I was able to follow it. If I remember correctly, most of the issues were caused by how Heroic interacted with Wine. Fixing those issues allowed games to launch more consistently out of the box. Since then, I have kept my focus on that one area: maximizing game compatibility.

Flavio: I was kind of bored on a pretty cold and snowy black winter day in Sweden during the holidays. Didn’t have plans and was off from work for two weeks, so I decided to learn something new. I was already using Legendary on Linux to play a few games. I started using it to play Control when it was released, and it was Epic exclusive. It was a pain at the time since gaming on Linux was not exactly easy 4 years ago; things have improved a lot since then. So, since I wanted to learn something new, I started researching how to build a GUI for Legendary just for fun. In two days, I was able to come up with a simple GUI that already dealt with login, listing games, selecting different wine versions and prefixes, etc. The basis of what became Heroic today.

What was the initial goal you had in mind when you first started developing Heroic Launcher?

Heroic started as Flavio’s side project. He was using Legendary for accessing Epic and decided to make a GUI application for it. It was also a way to gain more experience with Electron and web technologies. This is what the project was mostly about: just a simple way to browse and launch games. If you want some more history lessons, make sure to check out old releases.

How has the project evolved since its inception?

Flavio: The first year was kind of slow, and I honestly thought of giving up several times. There was a lot of criticism from the community since it was using Electron and it was for Epic games, and people love to hate Epic and Electron. I worked basically alone the first year, with just a few contributions here and there.

The second year was when things started to grow far beyond my control and got a lot of traction and media coverage. Releasing it for macOS and Windows was also a big leap, and nowadays we have around 10% of users on macOS and 25% on Windows, for people that hate how bad Epic Games launcher is there. Adding other stores was always a goal, but finding the time to dedicate to it was pretty harsh. But luckily, we had Paweł joining and working with other members of the community to crack GOG and then Amazon.

After adding GOG, the community and even the skeptical people started embracing Heroic more and more.

Were there any significant challenges you faced during the initial development process? Before your first release?

Flavio: Before the first release, I cannot think of big challenges. Most of the work was being done by Legendary and Wine on the backend. Heroic was basically just sending the commands to it; it was pretty simple at first. I think the hardest part was dealing with the community that had a few folks that were basically just trying to criticize the project on every change, even though it was free, open-source, and not using their time and effort.

What keeps you motivated to continue developing and improving Heroic Launcher? It’s been some time now since its inception, and I know motivation can ebb with time. What keeps all of you having the fire to keep this improving?

Mathis: The fact that there is still so much to improve is my primary source of motivation. I know that for everything I implement, someone out there will be happy that it was done (even if that someone is just myself; we all personally use Heroic as well, after all).

Ariel: I have a looooong TODO list of things I want to try. Some items are to fix something I encounter and bugs me, other things are just ideas I have, and Heroic is a great app for me to experiment and learn. Also, the feeling of fixing something that was bothering other people and knowing I helped feels good.

Flavio: The biggest motivation is to keep bringing fun to this huge community that embraced our project and are always eager to have new features and things that will make play more fun than frustration, especially on Linux and macOS where we need to deal with compatibility layers like Wine, Proton, GPTK, etc. Especially when you are new to those and have no idea how it works. Heroic tries to make everything as click-and-play as possible.

Also, Heroic made me connect with so many nice people from the FOSS community, and even to get my current job, and I think other contributors also found nice jobs because of it. This is something that makes me very happy as well.

Paweł: Game stores other than Steam usually treat Linux as second-class citizens if they even support it as a platform. What keeps me going is the fact that we get to make a difference on what game stores become approachable to less tech-savvy users.

I see at least one dev here is an outspoken Linux-user (seeing someone on Mastodon is rare enough to make me take notice!) Was there an element of that love of FOSS which led you to look into the Steam Deck itself (being the ‘one’ Linux handheld which has become mainstream)?

Ariel: I’ve been a Windows-less user for many many years now, and I remember like 15-20 years ago how I struggled with gaming on Linux. In the last few years, things are SO much better, and when the Steam Deck was announced, it was a no-brainer for me. The only problem was that it’s not available in my country, so I had to get some family members to travel and get one for me. I don’t use it that much now, but I use it also as a way to tell people “see? You don’t need Windows for this”.

Flavio: Yeah, like Ariel, I am also a primary Linux user since around 2007 when I got my first PC. Always tried to play games on Linux somehow, and it was always a pain. When Steam launched a Linux version, I think around 2012, it was a huge thing for me, and I was basica…


Content cut off. Read original on https://old.reddit.com/r/EpicGamesPC/comments/1f7n26c/my_qa_with_the_dev_team_behind_heroic_games/