This game is now available on Steam!

Thanks for your help in getting this game selected for distribution via Steam. More information including a link to the Steam store page can be found below.

Greenlight is being retired. For more information on how to submit games to steam, refer to this blog post.
You Have to Win the Game
You Have to Port the Game
January 20, 2014 - J. Kyle Pittman

Last October, I began porting my NERD Engine to non-Windows platforms, using You Have to Win the Game as a test case. This involved rewriting all my rendering code to use OpenGL instead of Direct3D, which in turn required a solution for converting HLSL effect files to both GLSL and a proprietary format that would specify sampler and render state information. Input code and audio code that depended on DirectInput, XInput, Raw Input, and DirectSound had to be rewritten using SDL2 and a custom audio renderer. After three weeks of intensive work, I had a nearly 100% accurate Windows build of You Have to Win the Game that did not utilize any DirectX APIs.

That was only the tip of the iceberg. The next step was to begin compiling on other platforms, which would require the removal of all remaining Windows platform APIs as well as dealing with any unexpected compiler- or platform-specific issues. I spent a very frustrating day or two excising code wholesale and eventually wound up with a build that would at least compile on Linux. Of course, it segfaulted immediately on launch, due in part to 64-bit portability issues that I knew I would have to address someday but which hadn’t yet become an issue. In the interest of preserving my sanity, I abandoned the ports at that time, deciding that I could return to them once my next game were finished and on its way to recouping development costs.

Fast-forward to last week when I attended Steam Dev Days. Much of the first day’s material was focused on why and how developers should be targeting Linux. I hoped there would be a magic bullet. There wasn’t. In truth, there was very little I hadn’t already figured out for myself or with the help of my brother, who had just recently ported Eldritch to other platforms. What is clear is that Steam’s future is placing a tremendous importance on Linux development. I wish that there were a less painful solution, and maybe someday there will be, but we’re not there yet. Right now we are in a place in which developers are compelled to give up the comfort and familiarity of battle-tested tools if we are to target these platforms.

As a mostly-solo developer, that’s scary. As someone who has little or no immediate income because he left his job to focus on indie development not too long ago, it’s even scarier. And when I consider that my goal in the short term is to bring a free game to other, smaller platforms, it makes me question its worth.

You Have to Win the Game is free. It always has been, and it always will be. Being on Steam would not change that. I’ve even promised that if it were Greenlit, I would develop a new remixed campaign which would also be free. But considering the time investment involved in the porting effort and the hardware investment that will eventually be necessary once I turn my attention to Mac, I begin to question whether those costs, both in terms of time and money, are enough to put myself and my company at risk.

Of course, much of the work involved in porting You Have to Win the Game would translate directly to future projects, and in that regard, it’s conceivable that it would eventually pay for itself. Furthermore, I believe that doing this work upfront and targeting a finished game would allow me to better validate the results and hopefully catch some of the corner cases that might be more difficult to find if I were to attempt this process on an in-development title. That means easier development in the future and an increased likelihood of being able to sim-ship future titles on multiple platforms at once. So that’s cool. But I’m still burning money at a constant rate. The longer I spend on these tasks now, the longer it will be before I can ship another game, and the longer it will be before I can start recouping costs.

The worst case scenario is that I once again put the porting effort on hold and focus on shipping my next game on Windows first. But that’s not my preference, and I think it would be a small misstep for the company. So I’m looking for feedback on the situation. I would love to be able to make this game available for free on more platforms, but I also want to feel financially secure in my ability to do so. Without coloring the discussion too much, I feel like a donation or pay-what-you-want model could be a possible solution, or perhaps a crowdfunding campaign for development with the game released for free on completion. There’s no right answer, and I can’t make everyone happy, but I’m curious to see where y’alls’ heads are at.

< >
McMarius11 Jan 23, 2014 @ 6:19am 
make this game windows only, and support linux in your next games! :)
Nacery Jan 22, 2014 @ 2:45pm 
I will gladly donate.
ShizZ Jan 21, 2014 @ 2:23am 
my English is pretty bad, but in general, the point of your post, I realized.
I think it makes no sense to think about porting the game, but in future Projects summary perhaps you should consider a cross-platform development in Unity.
rgk Jan 21, 2014 @ 12:52am 
In my opinion, don't put more time and money on it if puts your company/future at risk. Linux development is important, but the steam boxes are not there yet, and have not conquered the market yet. Better streamline the development of the next game to make sure it will run on Linux right from the start.

Small note: if you ever remix the game, please make the 'puzzle' different. The tilde key is not placed on the same location on international keyboards, I didn't even know its name in English, and overall that was a bit confusing (if I remember correctly).
rgk Jan 21, 2014 @ 12:52am 
I wouldn't mind paying for YHTWTG as a commercial game, it was a game I liked a lot. Donations seem like a bit too underground/not spontaneous for you to get anything out of it. Kickstarting the port/remixed campaign seem like a good idea, since you have released your game as a freeware a while ago I suppose it gained enough attention for a Kickstarter to gain momentum. Although you need to know that a Kickstarter is time-consuming, and try not to bank on physical rewards because they end up costing a lot of time and money to you as well.