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
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
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 fromgame_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
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:
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:
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?
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 someFooWarriors: 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:
I was convinced I was the only one who remembered this fossil. Yet, someone created an installer for this game! I’m actually amazed!
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
Have a great day!