Monday 31 December 2012

Goitees 2012

Here are a few thoughts on games from 2012 which I completed and have seen doing the rounds on many a Game of the Year list.

Best AAA classic money-bags creation 2012: Halo 4.

Halo, but with outstanding graphics (Reach was the first 360 Halo that didn't insult the hardware; the games were all great but even will all the effort they only got Reach up to the pack) and a new aesthetic and character designs to make it look a bit new while still looking (and far more importantly playing) like a Halo.

It wasn't the perfect story but I was reasonably happy with the broad strokes and wonder if they're going to make an interesting launching off point for the next game (shame about the Legendary ending).  The online was great (but the Spartan Ops needs to really jump up to be more than rather middling co-op with a great video series) and the solo was just right.  I felt my interest in Halo had been dropping off this gen since the white hot love of the original xbox releases but Halo 4 grabbed me right back, even if I'll never really care about multiplayer console FPSs.

Best small budget release that kept eating my time 2012: FTL.

Take a light roguelike-like story generation engine into space and add an active time battle combat system with a focus on managing the people who run the ship and you've got gold.  I spent many an hour doing this while another screen contained something to occupy the other half of my brain; that isn't a bad thing, games like Forza and puzzle titles are also in this awesome area where the bit of my brain I want to apply to the game can be split off from a podcast or film appreciation section.

After tens of hours it wears thin, the things I have not seen are hidden from me by an RNG and I have explored all the viable strategies that occur to me can be constructed by the combat systems in place.  But you should totally play this game until you hit that point or naturally drift off.

Best thing that others may tell you isn't a game: Dear Esther.

Great place to go, great story to craft yourself as you walk about and get a selection of narration with the wonderful touches of narrative from the locations and beautiful landmarks.  Bit of choice that comes from the randomisation of the spoken voice and optional sights that make it more than a corridor title where you can choose what to look at but otherwise are in a movie.

I really got along with the few hours that it takes to walk through Dear Esther.  That old Source engine is great at stereoscopic 3D for some reason and it really sucked me in to be able to look out of a broken window and have the proper depth perception of focussing on the frame or the background.  Something about 3D in FPS can work really well to drag you into the frame and make the rest of the world simply not exist.  That possibly made the game what it was for me, but obviously the stuff inside the virtual environment had to be worthwhile to keep me in and make it more than just another stereoscopic experience.

(of the games I completed) Not on this list but on everyone else's 2012: Journey & Forza Horizon.

Journey really didn't do it for me.  I guess this is rather cool as I could appreciate both what it was doing and the quality of the technical work.  I did not care for the co-op at all and I wasn't in lock-step with the game's emotional trip as it moved about and so felt the music and events disconnecting.  Add this in to Thirty Flights Of Loving (which I guess was also this year so should be on this list non-entries, but I haven't seen a lot of GotYs with Thirty Flights Of Loving on either so maybe it didn't really do the rounds of the enthusiast press to be on everyone's mind at the end of the year) for games I was fine with playing but didn't much care for and didn't feel like I had missed what it was they were trying to say.  Why is that cool? I generally consider this to be my personal idea of 'art' and taste.  It wasn't that I didn't enjoy playing them (for ludic, technical, or aesthetic reasons) or failed to find their message; I just didn't find it resonated with me.  Their point was to sell me on that connection and I was not sold.  It's cool that I can see someone else's GotY list and see games I would never put up there but not think they're crazy.

Forza is a harder one.  I really liked it (I completed it like everything on this list and for a driving game that's often harder due to how they typically stretch the game progression) but I found it lacking compared to the numbered titles (notably 4).  I want to think of Horizon as one of the best games of the year, but I also don't want to get another Horizon style game next in the Forza series and am glad it didn't explode and outsell Forza 4.  It was a great game about racing cars with that lovely 'made for in-car view' physics/handling, upgrades that mean any car is reasonably viable selection for the class race, and plenty of stuff to do on the vibrant open world they created.  But it crystallized what I loved about Forza, the driving and not the racing.  The start is fun with a race but the best part of Forza 4 is the enforced clean laps, the assists notes by each time, and showing my friend's scores for a hot lap at the end of every race.  So I do a lap or two getting the course in my mind while I overtake the pack and am racing and once I'm done I then drive for the rest of the race with the leaderboards in my mind.  Assists off, no cutting onto the grass or decelerating using some useful wall; clean, smooth, driving.  And Forza Horizon is a racing game, that means it can't hold the same position of reverence in my memory as a numbered Forza.  Great game, but no GotY.  Also, "buy this car for credits or why not use tokens (purchase with MS Points)": Eurgh, Gross!

Friday 14 December 2012

Open Source vs Copyleft

I shouldn't make fun of open source.

After some time getting my head around what the actual arguments are (in what could be simplified to 'Windows vs Linux', or the other argument (the actual nuance) 'can libre exist without gratis') and deciding what I want to do with my life (because at the moment I will probably end up in my early 30s with a doctorate and a rather varied work history and enough cash behind me to still be somewhat picky about work if I continue to not care about material possessions and being able to support more people than me).

I like that Linux is a thing and that we have all these free repositories of great software developed by the community spirit. People spending 10% of their time doing something for everyone or working on something in their niche dev life and realising it probably doesn't have massive commercial value (or think it shouldn't) so why not let the community all use and improve it.  This is good, but if you're spending your entire working time working on open source / free software projects then you're either: independently wealthy and so good for you but you are the 1% (or the 0.001% if you are both worth enough to never work for money and inclined to build software with your time?) and you have to understand almost everyone doesn't have that choice you did; or you're working on some con game where the full development cost of the project is returned in support contracts or donations from those working through your lack of documentation or are inclined to give (which is not a stable business plan - ask buskers about how they can manage their current and future expected income to pay for future training and development of new material).  Basically I think libre should include the freedom to not be blocked from understanding of the code by lack of documentation or obscure and fractured code base; if you're making a decent revenue from support contracts to run your open source software house I have questions as to your use of the concept of libre and suspicions about how much of the actual software you're selling support for is written by your paid team of coders and how much of it is sitting on the backs of the libre movement.

Basically I'm happy for someone to pay me for my code and then put that code into the public domain or use any form of copyleft/libre license.  I hope to do more work (beyond my current occasional submissions of fixes to open sourced projects I'm working on top of) on free software projects and return to the code base any improvements I make to free software that I use in my normal work (just as I file bug reports for the non-free software I work on if I find something I think is a bug).  But I don't see the copyleft idea as one under which I can make a useful wage for any ideas I do consider to have commercial merit (and with the understanding that without some form of remuneration then I simply can't spend the time needed on the project - we all gotta eat and some of us even expect to chase up the pyramid on needs to try and get to the top).  I do not believe that copyleft is a requirement of libre. Gratis (which is the right to free redistribution, unless you only ever want to sell one copy or make a release effectively donationware) will burn you in a commercial sense (obviously) and I think contains the seeds to a damaging divide between closed and gratis as the only two teams in town.  Also see the above about how some paths to remuneration via gratis lead to concerns about ability to get income vs incentive to make code towards the libre ideal.

So I want to say the right answer is neither of these two teams (this is not a surprising insight, but inside the games industry there doesn't seem to be any momentum behind paid software that is source included).

Copyleft open source software doesn't seem like a great idea for games.  If we take the average cost per seat as $10k/month for games then even a 3 year solo project (about the smallest 'commercial' indie outside of the exceptions of 6 month duo development by two very experienced rapid prototypers with an established code base that already has the edge case PC compatibility issues worked out of it) requires $360k (that is just over half a million once you factor in a 70/30 split for distribution) to break even.  You could not pay yourself (being a proper starving artist) and maybe we'd like to say that such a selfless act might possibly bring riches.  I have no idea if there is any rich copyleft game developers out there who get lots of donations from fans.  The gaming industry seems to hold up our indie stars as capitalists, we don't talk with the free software guys.  Mainly because they say stuff like this.

On the other side of the fence we have the mainstream gaming industry and most of the indies.  You get a binary, maybe several if it works on other OS, and assets.  All of these are protected under copyright and you get a license.  To make a modification to the thing you now own requires reverse engineering.  We intercept DirectX and OpenGL draw calls; we modify memory values to create cheats and other ways of changing our games; we deconstruct the binaries, fix errors, and then build fix files to write those changes into the binary.  Morrowind has a DirectX call interceptor that uses the scanned memory location data of the player to also generate a host of new DirectX calls based on the asset data to draw distant lands into the world behind the scene the game thinks it is rendering.  That's not a 'crazy land of fiction' but one of the more popular mods for that game to turn the foggy world into a massive open landscape the artists created assets for now we have the rendering power.  That is insane.  Just as the creator has copyright on the binary files, so the creator has copyright on the source files.  When you sell your game you could give the source files with the binary and continue to indicate your copyright to prevent redistribution.  This is sort of what mods are, we just built an abstraction layer to avoid letting the person, who ultimately pays for us to work, from seeing our precious source code.  Fuck that work to build a mod layer; that is the same argument as DRM and we all know that argument is bankrupt.

The right answer is to sell your software and sell it as an easily modifiable release that gives the person who now owns the license all the power you have as the author to implement fixes.  Include your source files.  Don't make it copyleft, but do believe in the idea of libre software.  If you have time to work on something then don't make a mod layer to closed software, make a way for all the people who you sell a license to to share the modifications they make with each other in a really easy way.  Rather than having your binary (and modified editions of it) jumping all over the internet then make it easy to share and branch your code, accept Git into your heart and into the suggested software for your customers.  Surface cool modifications and ask the authors about offering it into the updates for later patches. If you don't believe in software patents (and you shouldn't) then no fragment of code is copyright but the entire work is, that means you may need to talk to people who make changes to your code if they are enough of a derivative to generate their own copyright but fixes should not even require such a conversation, it's just nice to ask first before using someone else's fix to patch your code.  Also, without software patents then none of your code is 'secret sauce' so that argument for not releasing your source code goes out of the window.  If someone steals 4 chapters from a Stephen King book and puts it into their own work then it's still copyright infringement, if someone rips off your software you can still go after them for unauthorised redistribution of your work.  You're making it easier for partial theft to happen with releasing the source code but I have bad news: it was already completely trivial to steal all your stuff as soon as you sold your first copy and gave a binary to someone, the 0s and 1s are already out there.  You are preventing the people who do have a right to modify your stuff, because they already paid you, from doing that rightful modification to try and stop the bad guys who don't care about your copyright in the first place.

Make games, sell games, release your source as part of the sales, and make sure to make it clear this is not a copyleft license.  This is still commercial software, but this is a reasonably unused area of games software licensing where on day 1 it is much easier for modders and fixers to get in there and have a good root around.  No waiting years for an eventual release once it has no more commercial value to the company; every line of code out there for anyone who wants to buy a copy to read, edit, fix, enjoy.

Editor's Note: this was originally written in September 2012 but due to my PhD workload has sat in the draft pool (with a load of half-completed articles) awaiting a final edit pass. Future articles should come more rapidly (certainly more often than every 6 months) and at some point the other 2009-2011 era posts worth posting will be edited and republished.