Archive for July 6, 2012

2012: The Year Of The Linux Game

Tux the Penguin: Linux MascotThere are a lot of claims that a certain year is the year of something. The year of the PS3, the year of the mobile, etc. Many people make these claims long before anything truly remarkable happens and pretty much all of them fail to live up to their expectations. So rather than look forward and make predictions about whether a certain year will be the year of the Linux game, I am rather going to look back at the last few months and proclaim that 2012 is the Year of the Linux Game.

It seriously took a long time and a lot of trouble to get to this point. Game developers have dismissed Linux as a viable platform and have ignored the pleas of gamers for Linux support. For many years, Linux gamers have resorted to rolling their own solutions for gaining Linux compatibility in the form of emulators and compatibility wrappers. Some companies have sprung up in the past in the hopes of expanding the availability of Linux games, but have failed due to poorly thought out business strategies. So what makes 2012 so different from all the previous years?

The first step in making this year the year of the Linux game was the introduction of the Humble Indie Bundle. Originally the brainchild of Lugaru developer Wolfire Games, it made it a requirement for inclusion in the bundle to have native Linux support. This bundle has gone through five primary incarnations and numerous brand specific bundles. All of them included Linux support for the games. As a response for this inclusion, Linux gamers have paid on average far more than Windows and Mac gamers and have made up anywhere between 15 and 25% of all payments to the bundle.

Humble Indie Bundle #1 Stats

The final sales stats for the original Humble Indie Bundle.

The next major shift towards developer support for Linux gaming was Kickstarter. While Kickstarter was a lot slower on the draw for its influence on Linux gaming, it has really shown its power to shift trends in that direction. Recent high profile games such as the Double Fine Adventure, Wasteland 2 and Shadowrun Returns have revitalized the desire to not just  add Linux support as a reward for exceeding funding goals but also as a primary selling point for funding. The number of game projects on Kickstarter supporting Linux has done nothing but grow. A recent Ubuntu Forums post highlights dozens of game projects that support Linux.

Because of these successful Kickstarter campaigns promising Linux support, we have also seen a major shift in middleware providers as well. With the success of the Wasteland 2 project, Unity3d will be adding support for exporting games to Linux with version 4. This was something that developers have been requesting for several years. It is now happening because of this shift in the market. Another high profile Kickstarter game, Double Fine Adventure, has also resulted in the addition of Linux support for the growing 2D engine, Moai.

Finally, we have also seen the largest digital distribution service for games making the shift toward supporting Linux. Yes, I am talking about Steam. Valve had recently released a Mac client for the Steam platform and with it came many rumors that Linux support was in the pipeline. Earlier this year, Valve finally came clean with the news that, yes, a Linux version of not just Steam but also its Source Engine was coming. The largest digital distribution platform in gaming history is making its way to the smallest PC market. If that is not validation of Linux as a viable platform for gaming, I don’t know what else could convince you.

So with all these events in the last few months, I am confident to say that, yes, 2012 is The Year of the Linux Game.

Slow And Steady: Game Development Plodding Along

Game development is plodding along. Certainly, not a fast as I would like it to be. I have been trying to work in as many hours as possible into the game as I can (I hate to make excuses) but between my full time job and my family, some things just have to take a back seat. But there is some progress. There are also a number of problems.

I have been trying to get the tokens in the game to load in dynamically. I want to be able to add new tokens to the game without the need to recompile whenever I do. So I have implemented a call back to the server to request all the tokens in the player’s inventory. Things are working fairly well for this, but I am hitting some issues.

First among the issues was Flixel’s lack of native support for loaded graphics. Flixel was designed to work most efficiently with embedded graphics so I had to extend FlxSprite to implement support for loaded graphics. With that out of the way I hit a couple of other issues. You can see an example of them in the following snap shot:

Loading ProblemsThere are a few things wrong here, but one that is probably more noticeable to an outside viewer. You can see all the white stuff around the images. For some reason, when I load the images from the server, I get a lot of white around and over the graphics. It was a lot worse before I switch everything but the character art to use embedded images. I don’t think this is a problem with Flixel as I have seen something similar with other games. It may be a problem with Flash running on my Linux development computer. I remember being able to fix it before, but can’t remember exactly what I did. Since Flash has been upgraded as well, I don’t think that fix would work with this version. I still need to test this on another computer.

The second issue here is that of the character images stacking on top of each other. This one is a little more frustrating and seems to have more to do with the fact that Flash is loading them way to fast for it to render properly. I think I can get rid of this issue by using a utility called LoaderMax to help me load them up correctly and before I add them to the tokens. Again, I also had this issue with the sword and shield icons as well when I was loading them from the server rather than embedding them into the swf object.

The final issue is that of the big fat zero for the attack (and nothing for the defense). Each of these tokens have an attack and defense value that is a positive number. But for some reason that value is not making it from the database to the game. It might be an issue with the xml file created or the conversion from a string to an int back to a string. I am not sure yet.

So that is the major news for now. I wanted to let you know that, yes, we are working on the game. I plan on having something playable before Indiecade. It is a prerequisite for me. I am not going to go there with nothing to show those in attendance. It will make it.

Thank you again for your time. If you are interested in making a financial contribution toward getting this game made (so that I can devote some extra time towards it) I wrote about some ways you can do that on my personal blog.