Note: This is cross-posted from the blog in my Desura account to ensure my backup system catches it.
After one of my previous posts, showing off my obsession with flowcharts and how much I overthink buying new games, it occurred to me that I can actually focus on a question other people might care about: How does one comfortably manage their games collection on Linux these days?
The only options I’ve been able to find for getting Linux games online are as follows and only the first three have package management beyond “download this installer” (though Gameolith plans to add private package repositories):
- The free packages in your distro’s native package manager and any 3rd-party repositories like PlayDeb.net
- A distro-specific package manager like the Ubuntu Software Center that also offers the option to purchase things.
- Desura
- Gameolith
- Bundles like the Humble Indie Bundles and specific games in things like Indie Royale Bundles
- Individual games like Minecraft which are playable on Linux (free or pay)
- Running GOG.com games inside DOSBox or Wine or using the purchased resources in reverse-engineered engines like ScummVM.
However, when most people think of digital distribution (the buzzword), we think of a unified experience that takes the hassle out of managing our games for us. (In other words, something developers have to support or else like Steam)
Obviously, nothing as comprehensive as that exists for Linux yet, but we can try to MacGyver things up for now. I’d like to hear what your approach is in the comments, but here’s the best I’ve been able to accomplish.
It’s not ideal, but I tried and, since I’m already using TiddlyWiki to manage everything else, it’s quite comfortable.
The key details are:
- The Desura button is a direct link to the client download page.
- The PlayDeb button and the PPA links in the “Package Manager” section are direct links to the lines I’ll need to re-add to
/etc/apt/sources.list
if I re-install. - The GOG.com button is a direct link to the “your games” page.
- The non-bracketed links in the “Package Manager” section use
apt:
URLs to trigger the package installer from the browser. - The rest are just links to the page where you choose your download type (deb, rpm, installer, etc.)
I’m still working on polishing up and streamlining everything, but I’m already making good progress on polishing up Desura as a general game launcher. Here’s what it looks like once I’ve added a few native Linux games and a few Windows games via Wine and wrapper scripts:
You can do this yourself, if you want, by using the set_icon.py
script I wrote. It’ll even extract icons from .EXE
files for you.
When I have time, I’m also planning to work on:
- Making
set_icon.py
work on Windows. (The main issue is using Windows methods to find Desura and extract icons from.EXE
files rather than Linux ones) - A script which will create a wrapper for a Wine application, extract the icon, and add it to Desura with one command.
- A script which will sync all the games in my Linux desktop’s launcher into Desura (both additions and deletions) with one command.
The State of Digital Distribution on Linux by Stephan Sokolow is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
I started fiddling with a set of PHP pages for game management, called ‘Unplayed’. They use Markdown and other bits, created by Shaun Inman and others: http://shauninman.com/archive/2011/04/18/unplayed
I think there’s a wider issue here about cross-platform gaming as a whole. Buying a game you already own on another platform seems wrong to me. Buy once, play anywhere should be the motto for the new wave of indie studios popping up recently.
Thanks for the great info,
K
Thanks. I’ll have to take a look at Unplayed once my vacation rolls around.
As for buying games and getting platform portability, I definitely agree. I’m careful to only buy non-Win/Lin/Mac games when they meet the criteria I mentioned for GOG.com games. (Old enough to never get an official port and running via DOSBox, Wine, or an engine rewrite to isolate them from the system.)
Not perfect, since running DOSBox and Wine+QEmu on architectures like ARM (Android phones, Raspberry Pi, OpenPandora) requires a much beefier chip than natively on x86, but let’s take things one step at a time.
I’ve taken to paying less for Humble Bundles that don’t offer Desura keys and then sending e-mails to the developers saying that I’ll use the “increase your payment” link on the Humble Bundle site when they give me a Desura key with Linux support to match the Steam keys they’re so willing to give out to Windows users.
(For example, I paid $8.75 for Botanicula and Windosill in the Humble Botanicula Debut and I’ve told the two groups of devs that it’ll rise to somewhere between $10 and $15 once Botanicula and Windosill join the Desura copies of Machinarium and Samorost 2 that I got from a much earlier Humble Bundle.)
UPDATE: Oh, I almost forgot to mention. For keeping track of things I want to buy, I use a four-column basket in the Trinity version of BasKet Note Pads.
The grouping, collapse/expand, and multi-column features in that tool make it ridiculously versatile. (It and TiddlyWiki are probably the two most useful personal-organization tools I’ve ever found)
I usually make a list of everything I installed from the software center and then start going through that list when I upgrade to another distro. The problem I have is finding and reinstalling the packages I get from dotdeb.com.
I actually do something similar for all my packages installed as
.deb
s. However, it’s mostly for the non-game packages and I try to maintain a habit of adding to the list as I install things. (It’s on GitHub because I use it to maintain consistency between three different machines in addition to using it as a backup measure)In your case, if you want a list to examine by hand, it’d probably simpler to use
aptitude search -F '%100p' '~i!~M' > package_list.txt
to dump a list of all packages installed but not pulled in by dependencies.For backup purposes, though, I’d recommend installing
apt-clone
. Then you can runapt-clone clone FILENAME
and get a compressed archive containing a list of installed packages, a list of non-default package sources to reinstall, and any apt preferences which influenced which versions were selected.…or, if you’re on Ubuntu and can’t
sudo
to install aptitude or apt-clone, you can dump just the long list of installed packages withdpkg --get-selections
.Man, that’s a good one. Thank you.