Back to the main site

Feedback on installer creation / forking

TLDR; Lutris is showing tons of potential, but the installer creation and submission process needs streamlining.

I’d like to prefix this whole thing by saying, that I’m still really new here. I discovered Lutris a few weeks ago when trying to make Warcraft III work and was blown away by the level of automation Lutris provides. After years I could return to a title I last truly played on Windows XP ages ago. So, thank you, Lutris :heart:

I want to help the community, so I decided to post some updates and also fork the installer for an amazing and criminally underplayed game, Majesty:

Because of that, I have some feedback.

Under-documentation leads to frustration

Try saying this 10 times in a row fast :wink:

Good documentation means “I care”. Confusing documentation will put off people who want to help, but lack the skills or patience.

As an example lets take this section

name: My Game
game_slug: my-game
version: Installer
slug: my-game-installer
runner: wine

from this page: https://github.com/lutris/lutris/blob/master/docs/installers.rst

My (noob) questions:

  • what is a game_slug?
  • what is a version (GOG vs. Steam or version of the lutris installer or version of the GAME installer?)
  • what is a slug and how is it different from game_slug? does this affect the default installation path?
  • what data types (int, bool etc.) and values (123, true) are accepted in given places/situations?

Or, in other words: how does foo manifest in the finished product? Does is get displayed? Saved somewhere? Added to a path? Or: what will fail if I don’t add it or make a mistake here? What will break?

Two examples of excellent documentation, that could serve as inspiration:
https://docs.ansible.com/ansible/latest/modules/apt_module.html#apt-module

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Bucket

Every data type, return value, accepted value, purpose of a feature: all is explained clearly.

Without good docs, Ansible and AWS would immensely piss people off. Seriously, when these guys make mistakes, stuff literally blows up. Good docs encourage people to test things and create :slight_smile:

Script forking and editing woes

Continuing from the previous example, I pasted an install script into the editor. The script was tested “offline” (without the website, purely with the cli tool), so I knew it was “good enough” to submit for feedback (details here: https://forums.lutris.net/t/im-working-on-an-installer-majesty-gold-hd-gog/).

And I got hit with this:
invalid-error-of-game-slug

Why am I putting this into my script? Because you told me to:


The documentation is recommending to do something, that will get rejected by the validator/linter. This is a huge no-no.

“Reason” gets reset

This has been brought up here:

when you save a draft, the text placed into this box:
image
vanishes. Really annoying.

Sadly, the rest of the above post still rings true. The submission form is just messy.

Lack of feedback on installer creation / forking

When I order a pizza, I want to know when it’ll be done. When I want to be a part of a FOSS project, I want my contributions to be seen and recognized.

Installers are not “contributions”

When I submitted info about Majesty, I had this little confirmation, telling me that my changes are waiting for an approval. Why installers aren’t treated the same?
image

When trying to hunt for my installer… I don’t see it, even as a draft. Maybe it’s the bottom one (judging by the “last published”) but it doesn’t have the same info that I typed in.

FOSS is about community. Retool this so that I feel as a part of one. I want to wake up one day and see that gamer-dude123 approved my script and that pr0-mate submitted something for me. When I’m having issues with VCRedist I have no idea who can help. With more data on mods and their areas of interest… maybe I would know more? Someone suggested to add maintainer roles and this sounds great.

I want to be able to say:

"Thank you, gamer-dude123 for helping me out. Wanna play some FooWarriors: GOTY with me?

Fork vs. new script vs new game

Majesty seems to be this great case study, that provokes lots of questions.
I happen to have a CD with Majesty Gold (non HD). Some people may still have this edition and it runs in vanilla wine without any magic. Creating an installer should be a no brainier.

Should I submit a new game or make a fork?

ALSO: what is the difference between “write a new installer” and “fork” from the user point of view? When forking you get a warning, that useless forks will get deleted. And useless “new installers” won’t? Maybe some UX changes?

Junior mod / maintainer

A different example. What if someone submits a game, that no moderator has? Example:

image
I was convinced I was the only one who remembered this fossil. Yet, someone created an installer for this game! I’m actually amazed! :open_mouth:

An idea continuing from the previous section, would be again to have maintainers / junior mods. You could offer people to opt into notifications, that the games they have in their libraries have been changed or have changes pending review.

You’re getting this message, because you opted in to help test and maintain the installer for Beasts & Bumpkins. A new draft has been published. Are you willing to test it out? If yes, click HERE or go to your Lutris account to foo > bar > baz and follow the instructions.
Thank you for your help!

Whoa, I got wordy!

That’s all I have. I’m counting on some discussion here because I really enjoy the idea of a FOSS counterpart to Steam / GOG Galaxy. Especially since I have a bunch of games on CD/DVD that can work fine under Linux. And I’d love to help :slight_smile:

Have a great day!

2 Likes

Every version of the game has his own installer u cant have the same for the steam the CD key and other one. I’m not sure how work the submission system but I have done once who was accepted. Also the best way to understand script it s download a bunch of them and open them it s pretty straight forward. The making script online I have issue once and so never try again.

Yeah, that’s a problem that we should fix. :smile: @tangodelta is pointing out a lot of rough edges that could be sanded down in an attempt to fix that.

Kudos for taking the time to write this all down. I think the reason for these rough edges is that there are not enough developers working on it. Thus, available time. Lutris is a very broad system. There is the app itself, the website, the forum. And everything has to work together.

Another reason for the rough edges is probably that all this is made by developers. This means that a term like fork is very clear to a developers who work with the Git version control system. For a non-dev this is a thing you eat your dinner with.

Lutris being so broad means that a lot of issues are discovered. And this is good because it means the community is alive. Just look at the issues of the Lutris client and website on github:

Lutris client

Lutris website

As for every open source community, the best thing is to check if an issue is already posted and, if not, to submit a new one. Comments about user friendliness are as important as technical issues.

If you are a developer you are completely free to fork (yes, there it is) the repository, create a branch and make some changes yourself. If you think your changes are of use to the developers then you can submit a pull request so that the developers can take a look an possibly take those changes in.

I do this for the Lutris app. I have it forked and made a branch for the changes I like to implement. I keep the fork, and the branch regularly updated with the changes of the main repository in order to make sure I keep up to date with the most recent changes.

Yes but I would point out that lutris is awesome for his power, it s not easy if u never play with wine or other stuff. U can do a lot for lutris to be the one click experience, and it s nearly already the case. For the install script to be fair the main issue is how run the game under wine not the install script. The idea of maintener and even update when the script is update is great but too much work for little result. When a script is done for one game when it s not a multiplayer game u nearly never need to update it, u can put a better wine version but it s not even say u will have better performance. For online multiplayer when the game don’t work just hit the install new version and u have a working game again. Lutris can have more and better fonctionality but it’s already achieve what he was build for. I mean all the script build and maintain could be better but it bother to little right now. The issue for the game to work is nearly never the install script ( happen for me only once or twice )

I agree on this. There has to be a focus and some things are more important than others. That was the reason for my call to others to fork and make some changes themselves. That’s how the open source community works.

The most common issues I encounter on this site are mostly configuration and distribution specific. As an example for the latter, Torchlight II has an issue on Manjaro with flickering textures. This is because of the current version of the mesa libraries. Fedora had it too but this distribution is very current with versions and it got the update last week. I’ve also installed Manjaro on a different machine I had lying around and the update hasn’t come through yet. This problem isn’t Lutris specific. Most of the problems aren’t.

That said, it is good to keep an eye open for UI related issues. The better the UI, the better the user experience is. It doesn’t have to be done right away but letting users submit issues like this is a good way of getting feedback.

Op has a point. I’m on Linux since one year and I have to learn everything and I can help with feedback or even some install script, but pass that I can do anything more (some translation maybe ). Lutris can grow in all solution in one for gaming on Linux. But even with good communities it s developer who are needed. Also I don’t know how it s use but I believe there is a patron and epic give to the dev some money for lutris. It s hard to be part of the community and u want help but u can t do anything to build. Also there are lot of limits to personal test u need the game first there is distro specific bug on and on … Op make good statement and feedback I was more trying to explain what is the situation