Following my recent interview with Desura's Linux Games Lead, I was invited to take part in the beta testing programme for their upcoming Linux client. I have also been involved in getting an Open Source game published on Desura, so I've had the opportunity to see what things are like for developers as well.
In this article, I'm going to take a look at the following:
Desura is a game store/content delivery platform with a focus on indie (independently developed) games and community mods (game modifications). The Desura platform also provides some basic social networking features and gives users the ability to upload screenshots, rate and write reviews on games.
In simple terms, you as a user can buy a game through the Desura website, have it linked to your account, and then use the Desura client to download and keep up to date that game on any computer you log in on. You can also add friends, take a peek at what they're playing and share your thoughts on games with them and the broader Desura community (which can include game developers themselves).
If you're a developer, Desura offers you the ability to automatically deploy updates, some interesting stats and some extra tools for engaging with your user community, but more on that in a bit.
Heads up - if you're not interested in a descriptive passage about each of the tabs in the Desura client, feel free to skip on to the next bit ;)
It's worth noting that with the exception of the game launcher/updater functionality, most of the Desura client's end-user features mirror what's available through the Desura website. In fact, all the content from the Games, Community, Development and Support tabs is the Desura website rendered within the Desura client using the Chromium Embedded Framework. This is actually pretty neat in that it gives consistent and predictable behaviour no matter where you're accessing the Desura system from.
When launching the Desura client, the first thing you are greeted with is the Games tab. This section allows you to browse the games currently available on Desura and acts as both a storefront as well as a portal to reading and creating news, reviews, media and forum posts for those games. There are options for browsing games by category and popularity, and tracking options to be notified about updates to the profiles of games you care about.
The Community tab gives you access to groups and Desura member profiles. Groups range from gaming clans and development teams to fan groups and geographical groups. A Desura group can have its own news, forums and media galleries which group members can add to as permissions allow. Member profiles are a place where users can share blogs, reviews and media as well as add friends and see what "accolades" they've earned (accolades are badges that players are awarded for completing objectives in games).
The Development tab gives access to the developer tools and features offered by Desura. I'm going to cover this later on.
The Support tab acts as a link to the official Desura group's forums where ready made sub-forums exist for help, troubleshooting and bug reporting. Interestingly, the Settings page (which can be accessed via the blue Desura button) also lives under the Support tab. The Settings page doesn't offer a lot in the way of customisation options, but it is where you can activate gifts/keys and manually add existing game installations to Desura's launcher.
On the existing game front, it's also interesting to note that Desura has an option to detect games that are already installed and automatically add launchers for them to the game list. The indication I've gotten from friends who've used the Windows client is that this feature only works for games that have profiles on Desura. I haven't had a chance to test this feature under Linux personally, but based on reports from some of the other beta testers, it can be a bit hit-and-miss.
The last tab (which is also the first tab in the list) is the Play tab, which contains a list of all the games tied to your Desura account as well as the ones that have been manually added from existing installs. From here you can install games that are tied to your account, update installed games and of course, launch them. Games can be sorted by name, release date and narrowed down to favourites or games that you have developed/published.
Other features that the client and website include private messaging between Desura members and the ability to "track" forum threads, games, groups and members (and see prompts when they've been updated). The Desura client also supports 64bit architectures.
The Windows client sports support for installing and playing mods, automatic login and running as a service when Windows starts. These features are currently being developed for the Linux client.
On the horizon there are some extra features that are being worked on such as chat support and improved search facilities (currently using the main search bar outside the "play tab" returns a Google search of the Desura website).
One interesting feature that has been hinted at previously is Wine integration for the Linux client. Whilst this is not a feature currently visible in the beta client, there is an interesting warning hiding inside the localisation files that says,
Clearly, this is something that is getting serious consideration.
For Developers, Desura offers a range of features for tracking installs and demographics, as well as managing releases, updates, promotional sales, marketing and beta testing. Desura's forums can also provide a means of interacting and communicating with not only your existing player base, but also the broader Desura community (if you're already an established developer with your own community spaces, it can be a tough call as to whether or not you want to divide your attention and your community over two sites). There is also an API that's still being developed that will let you access player authentication, load player details, sync player data with the Desura servers, and award accolades.
It's worth noting that for the Linux version, games are packaged along with any libraries they may be dependent on. If you're a Linux developer, you'll understand what pros and cons that brings with it. Packaging and uploading is handled via an in-client utility.
One other developer feature recently added to Desura's repertoire is what they're calling "Alphafunding", a development support initiative that recruits paying pre-order customers as beta testers who fund a game's development in exchange for access to pre-release builds and the chance to provide feedback. From a developer perspective, this provides an opportunity to eat and pay for heating whilst developing, and for enthusiastic gamers, there's an opportunity to support a concept that sounds interesting and be involved as it is realised.
As mentioned earlier, I was able to go through the process of publishing a game over the past couple of weeks, and I thought it might be worthwhile to briefly talk about that. Two of the key attractions for us were helping support the lineup of Linux launch titles and getting automatic updates for/extra exposure with Windows players. Longer term, depending upon how compatible the API ends up being with our GPL2 project, we may look at cloud synchronisation and accolades, and it will be interesting to see if we can build interest in level creation through mod support.
There aren't a lot of Desura's developer features that we are making use of at the moment. The open/community driven nature of our game renders a lot of the sales oriented stuff meaningless for us, and for the moment we have chosen to not create a second set of forums on Desura. There were a number of clauses in the publishing agreement that didn't feel quite like they fit well with a Free/Open Source project, but after some discussion and clarification from Desura's Linux Games Lead, we opted to move forwards.
The publishing process in retrospect is fairly simple, and is divided into nine distinct steps with a couple of waiting spots whilst your application and packages are tested and approved. The documentation for most of the steps, whilst fairly obvious to somebody who was already familiar with them, didn't really provide a context for what each field or checkbox might mean within the publishing process as a whole (and no indication as to whether or not any given field might be editable later on). However, the Desura team was responsive and supportive (especially considering that the Linux client beta was/is in full swing) as we moved through, and we made it to the release with only one or two minor bumps.
All up, it took us around a week or so to get from the agreement to a published package. If I had to go through the steps to release another game on Desura, I imagine I could get through in a few hours (not including waiting times). I've also since discovered that there is a tutorial and a howto that cover publishing located in the official Desura group, so if you're going down this path, be sure to take a peek there.
If I were to compare Desura to to other Linux based game stores and content delivery systems, I think I would have to say it has little direct competition. Online stores such as Gameolith, Tux Games and My Game Company just don't have the libraries, and there's no sign of the social networking aspect, which can carry a lot of weight in today's very multiplayer friendly environment. The only thing that comes close is Djl, which has built in chat capabilities and a stunningly massive library of open source titles (over 100), but doesn't have the ability to acquire licences for commercial games.
Similarly, when we look at Linux based content distribution/update management platforms (such as most distributions' built in package management systems), there is nothing that focuses directly enough on gaming to attract a gaming audience.
The first is supporting indie development. Valve have admittedly made some significant inroads with their indie packs and the Portal 2 release, but apparently there are still indie developers who don't have enough clout to get their stuff published on Steam. Desura also has integration with IndieDB, allowing developers with presence there to easily make the transition to the new platform.
The second is a focus on community created content and mod support. Again, Steam provides features for rating and reviewing games, and there are also a small range of mods which can be installed via Steam, but there's nothing there that can match the decade worth of mod developing/playing community that Desura has carried across from its mod oriented ancestor ModDB.
On the whole, I'm finding the Desura client to be a pretty good offering. It's great to see a more community oriented platform that encourages and empowers both indie developers and mod creators. The content servers are nice and fast, maxing out my connection with ease.
Desura's lineup of Launch titles is also fairly impressive, currently consisting of fifty one titles with more to come. It's interesting to note that this list does not include older games such as Freespace 2, any of the Unreal Tournament games or any of the id Software games that have been ported to Linux. It does however include a number of Free/Open Source titles.
As I find with most embedded web apps, the interface feels slightly sluggish and there's always that moment where you don't know if you've hit a button and it's taking some time to load your page, or if you happened to miss-click and are going to wind up sitting, waiting, feeling more and more like an idiot as the seconds pass. This is pretty standard fare though, and I get the same experience with Steam.
The Linux client beta has suffered a few bugs (most notably a flash bug that causes the client to crash any time there is a news pop-up), but most of these have either been fixed with subsequent updates or have been resolved internally and will be fixed with the next release of the beta client. Those issues aside, I would say that the Linux client seems fairly close to release-ready (though my personal experience alone is not enough to confirm that).
If I had a wishlist for things I'd like to see included/enhanced with future updates to the Desura platform, it would probably include things like an option for setting a preferred starting tab, a "home" icon with a more appropriate clickable area, and an indicator for each game's total playtime. It'd also be nice to have a way of knowing which titles are Free/Open Source (currently they are all labeled "indie"). The only other problem I have is that in Gnome 3, the Desura download windows show up as a separate application, which is slightly irritating and interferes with the new ALT+Tab behaviour. I consider all of these to be very insignificant issues though.
I've had a lot of people ask me what the fuss is all about, and why I keep banging on about Desura specifically when there are other native Linux content distribution platforms and game stores around.
The thing is that there is a perception problem with Linux as a viable gaming platform. Yes there have been significant challenges to that in the past few years with the Humble Indie Bundles and increases in support from independent developers and so forth, but the fact remains that the platform is all but ignored by the gaming industry (perhaps even more so if you count the Unreal Tournament series' abandonment of Linux and the lower priority of a Linux client for id's Rage, two previously stalwart and reliable friends of the platform) as a whole - not just developers, but gamers too.
Whether or not you care about games, it has to be acknowledged that this impacts on Linux's perception as a "desktop platform" as well. Gaming is as much a part of the expected desktop experience these days as a web browser or a spreadsheet utility, and the prevailing belief that gaming on Linux is not possible is preventing people from feeling like they are free to choose their platform.
Though there are individuals within the Linux user community who "dual boot for games", the real hurdle to acceptance is the non-Linux using community. Projects like Djl and Lutris and Wine are great ways for existing Linux gamers to access games, but Linux gamers already know about those (please check them out if you don't know of them) and the impact they will have on the broader gaming community is negligible.
By publishing Free/Open Source titles with no status above or below other titles, Desura is also raising the profile of open source gaming (another area plagued by misconceptions). There are parallels between mod development and Free Software development that I don't think have really been explored, and there's a fascinating potential for synergy and collaboration as these two styles of development communities are brought together.
Desura, carrying with it ten plus years of Windows based gaming community is about to send a very powerful message. In the same way that Valve convinced the world last year that it's OK to play games under MacOS when they launched a native MacOS Steam client, Desura will be making waves by releasing their native Linux client, putting Linux forward as an equally viable gaming platform next to Windows - not only for gamers, but for developers as well, and that's the key.
Thanks for reading! If you're keen to find out more about Desura, you can do so on the Desura website.
For anybody who's interested, the Open Source game that I helped get published on Desura is called Neverball, and can be found for Windows and Linux on Desura (a MacOS installer can be grabbed from the download page on the official Neverball site).
It is my hope that I haven't come across as belittling towards game stores that support Linux or other Linux oriented gaming platforms. If you're involved with one of the projects I've mentioned or with one I haven't, and you feel like there's more to the situation than I've covered, please get in touch with me - I'd love to talk about it.
If you want to hunt me down and stalk me on Desura, my username is "Cheeseness".
You can email me at firstname.lastname@example.org
This article was first published on the 10th of October 2011.