I am not going to touch the approach Microsoft (MS) used for this reveal. I believe others have quickly gotten to the core of the issues that this presentation had compared to the focus Sony decided to take a few months ago. This is just about the details, as they have been confirmed via interview, of how DRM is handed on this new device for physical software purchases.
I don't buy used (unless I need to get my hands on Shadow Hearts: Covenant because at some point I lost a box of PS2 titles during a move - this does not appear to be for sale new anywhere from old stock, digitally or not, and so I cannot give either the developers or whoever owns the rights to the stuff they created any money; also see System Shock 2 until a month ago) and this goes as far as looking for new stock for PS2 titles (as in I just paid for a new copy of Persona 3 FES a few weeks ago). That said, there are no more demos and the TV/movie/music world has moved to a subscription model so I do rent games and consider this a normal part of consuming mainstream media. I often buy them once I've played them but only the ones I want to own so one day I will play them again without the need to worry about the previously discussed used game hunting where you pay some 'collector' rather than anyone related to actually creating the thing (seriously, if you have a mass produced PS2 title on ebay for £100 go jump into a fire and if you own the rights to it then PSN is a solution to my desire to give you money, even if I'm going to also need you to not track illicit downloads as I grab the ISO to actually play on a better device called my PC).
That said, my major issue here is not that rental services won't stock Xbox One games (for all we know MS have got a plan for rentals just like they have a plan for used that no one is allowed to know because it is anti-consumer and so not telling us is better than confirming our worst fears). My issue here is that it is a step beyond signed code and signed code was already the limit of my acceptance of 'purchasing' this product rather than getting it as part of a £10/month or less, all you can eat subscription which is clearly labelled as a rental agreement where I own nothing and when it ends I have nothing but my memories.
Right now I buy a console game for my closed platform console (which cost me less than it cost them to build it and ship it to me + pay staff along that chain to help move it) and the signed code on the disc and any anti-piracy techniques they use to press it allow the box to recognise the disc and play the game. This will work as long as I can get a box to run and the discs haven't degraded - at which point, where the 30 year old silicon / foil coated plastic is probably no good, we hope that a preservation effort has been in place to collect archives of the data, that I retain my right to hold private copies of, and an emulation device that reads and executes it in a close approximation of the original device. This is what a console game purchase means and is how they can maintain the same unit price despite dropping replication costs (memory chips on a cart anyone? manuals?) and a widening customer base that more than makes up for their extravagant R&D and (more critically) advertising budget. Inflation makes me feel like the deal I am getting is pretty good still.
Whatever policies MS put in place for used and rental services for the Xbox One in the future, the games are not auth'd by having signed code and security features on the disc you buy. The console sounds like it will still require signed code (and maybe the discs have some security features to stop them reading in other bluray drives and stop BD-Rs reading as normal discs in the Xbox One) but the auth is a cd key that uses an online check to refresh the auth status and so far sounds like it expires after 24 hours.
If you cannot get online in 24 hours then it doesn't matter if you have a disc with the game on, your games will not launch. If MS cannot get their servers online for the window when you need then then you cannot play any of your games. If MS retire their servers or allow EA to run their own auth boxes and EA retire those servers then you will no longer be able to launch your games. They will simply not work. This is a rental service without the corresponding price change. With their throw away comments about b/c MS have said they do not care for the cultural artefacts being generated on their platform. There is no retro gaming to MS. There is no generation of objects with ongoing value to society. "Games do not matter" is the message.
There is merely product to be consumed before it goes bad, rotten. I do not feel the need to consume from the trough being offered to survive, there are alternative channels where I can avoid contributing to people who have this disregard for the value of the product, who only focus on the cost/price and pumping swill. I play to relax, to express action in a safe virtual space, to communicate or spend time alone, to look at a space and rule system developed by someone whose perspective may be foreign to me. But this is not the only place I can pay people for their games, DRM free is a thing and so are open platforms and there are a lot of good games out there vying for my time and money.
How is this different to Valve/Steam? Other than the many games that don't use Steam DRM and so are just using it as a pipe through which I can access the data, even Steam DRM is built on top of an open platform (as in Windows is open, not FOSS 'open'). Owning the CPU means I can subvert this system, it means that there can not be a perfect offline DRM system as I can get between the hardware and the game/ecosystem and lie to it. If you give me an auth ticket that lasts for 12 hours then I can make sure the auth system never thinks it is more than 12 hours later by lying when it asks the time. Even if you try to tie the in-game systems into the clock (so I can't lie while playing), this only means I can't play for more than 12 hours at a time (then I quit and reset the clock to the start of the 12 hours) and even this is a hack away from defeating. Steam currently gives out auth tokens that last for 2 weeks (and simultaneously unlock all games that use Steam DRM) and is so popular I probably won't even need to use my expertise to defeat it if the servers ever go down.
Open systems mean we have a much better chance of exerting the rights we are paying for. The console system only works because they had physical tokens so they lasted effectively forever (until it was so historical that Moore's law and accumulated knowledge could be used to break down anything that was locked) and a razor/razorblade model to give out subsidised hardware to make cash back on a cut of every sale (so us hardcore gamers who paid for a lot of titles were ideal customers for software and hardware groups).
You can't just try to import the anti-consumer side of the Steam digital store DRM system onto your closed platform and expect it to be fine without changing your pricing strategy. Especially when you're also telling consumers their existing digital purchases will not play on the new xbox without so much as a mea culpa. Especially as a mandatory DRM system rather than an optional service for the developers on your system to utilise if they want to.
This proposed system, from the outlines they have currently explained, is too defective by design for me to sign up. I want to give someone money for new Forza, Halo, any Remedy titles, and more. But not at those buy prices for a rental. I want to own these potentially classic games to play when I want, just like I can with the decades of accumulated history of gaming I have on my shelves and (open platform) digital stores.
A varied selection of short essays on computer games, software development, and various miscellanea.
Wednesday, 22 May 2013
Saturday, 18 May 2013
The Coffee or Beer Price Comparison
There is a rallying cry behind the call for cheap games to be purchased blindly by other consumers. The sales pitch from fans of a game or shills who are paid to astroturf online discussions (isn't that an awesome thing that actually exists as a potential spend for advertising money) is that the consumer isn't losing much if the decision is a bad one. The golden example is via comparison: "it only costs as much as a pint/coffee!". The problem is this analogy breaks because you repeatedly buy identical drinks. If you waste money on a game you wasted a one-shot buy and almost certainly didn't gain any useful information compared to the value of the spend.
When you spend £2/3 on a drink to find you don't like it then it cost you that much to find out that (at only one a week - those who have the daily coffee retailer ritual on the way to work or who drink freely down the pub from only a select pool of tastes should try multiplying the numbers accordingly) you shouldn't spend £150/year on buying more of these. The potential benefit was that this could be your new favourite drink or drink you must buy when you're in that mood. The cost of a few quid is against a future potential spend of thousands on buying the same, dependable option over and over again, replacing a former choice with either a lower cost or better quality making the decision. No need to get a free taste when you've got that upside, give it a go when you're next grabbing a drink and expand your knowledge of the field.
When you spend a few quid on a game that is not to your tastes (and possibly not to anyone's by being plain bad) then you have spent that money that would otherwise buy you what could be 10+ hours of fun for nothing and you have not learnt anything beyond possibly steering clear of games from that dev (who release a product every year? in a pool of thousands of choices?) Even if you had otherwise continued to obsessively buy every game from that dev then it would only save you a few quid a year. Ye, not exactly a valuable bit of info to exploit in future sensible purchasing decisions.
The demo is a long established model to allow players to decide if they want to purchase your full product and if we really want to go by the numbers for beer/coffee then for a £5 games you should possibly offer a 5p demo to give the equivalent value to the total buy in vs the initial taste test. But at 5p then that is all going to middlemen (card processing etc) so you might as well give it away for free and see how many people want to own the full game. So rather than telling anyone that they should buy a game sign unseen because it is only as expensive as X, tell them to grab the free demo or check out this great LP/QuickLook and try before they buy. The only people who gain from consumers being uninformed is people peddling substandard wares. The way to long term health for the games development ecosystem is by trying our best to match up people with money with the games that give them the best value for that money. We don't want to scam a quick buck, we want to establish games as a major art form in the 21st Century that provide relevant entertainment and culture to the masses with each sale a best fit for that consumer.
When you spend £2/3 on a drink to find you don't like it then it cost you that much to find out that (at only one a week - those who have the daily coffee retailer ritual on the way to work or who drink freely down the pub from only a select pool of tastes should try multiplying the numbers accordingly) you shouldn't spend £150/year on buying more of these. The potential benefit was that this could be your new favourite drink or drink you must buy when you're in that mood. The cost of a few quid is against a future potential spend of thousands on buying the same, dependable option over and over again, replacing a former choice with either a lower cost or better quality making the decision. No need to get a free taste when you've got that upside, give it a go when you're next grabbing a drink and expand your knowledge of the field.
When you spend a few quid on a game that is not to your tastes (and possibly not to anyone's by being plain bad) then you have spent that money that would otherwise buy you what could be 10+ hours of fun for nothing and you have not learnt anything beyond possibly steering clear of games from that dev (who release a product every year? in a pool of thousands of choices?) Even if you had otherwise continued to obsessively buy every game from that dev then it would only save you a few quid a year. Ye, not exactly a valuable bit of info to exploit in future sensible purchasing decisions.
The demo is a long established model to allow players to decide if they want to purchase your full product and if we really want to go by the numbers for beer/coffee then for a £5 games you should possibly offer a 5p demo to give the equivalent value to the total buy in vs the initial taste test. But at 5p then that is all going to middlemen (card processing etc) so you might as well give it away for free and see how many people want to own the full game. So rather than telling anyone that they should buy a game sign unseen because it is only as expensive as X, tell them to grab the free demo or check out this great LP/QuickLook and try before they buy. The only people who gain from consumers being uninformed is people peddling substandard wares. The way to long term health for the games development ecosystem is by trying our best to match up people with money with the games that give them the best value for that money. We don't want to scam a quick buck, we want to establish games as a major art form in the 21st Century that provide relevant entertainment and culture to the masses with each sale a best fit for that consumer.
Friday, 26 April 2013
"Give up; don't even try to understand this"
Trying something different here on the blog: shorter, unresearched posts that are too long to do justice to on Twitter. This will hopefully inspire me to start turning the many draft posts into completed output and post far more frequently despite paper deadlines trying to persuade me not to waste any time researching a blog post.
Here is a deeply troubling meme/joke used by a lot of writers in the gaming enthusiast press from time to time, this time as written by Adam Smith (emphasis mine):
The code in the article Smith links to requires the understanding of objects with dot methods and parameters, methods outside of this calling convention, and if/else clauses. I would hope a rigorous secondary school syllabus that prepares students for the world would contain a lot more programming knowledge than this but even if people came through before CompSci was taught then this is not rocket science. In fact this is really good stuff to be able to parse as a technical writing style. I start one of my talks by saying that to get to higher tiers of education you have to have been able to deal with English, so you already know how to work within the constraints of a grammar far more complicated than any programming language I'm going to show you, and you have to have made it through mathematics, so you had to work out manually applying algorithms to generate results with things like long division and I'm not expecting anyone to manually iterate over any of my code in exact detail to keep up. So I am not expecting anyone to reach beyond skills they would expect someone who is in their early teens to command. If you don't tune out then we can look at some cool code together and if you get confused then just ask me and we'll make sure you're following. It's not a perfect open, but at least it tries to cut through this 'turn off at the first sign of technical' dismissal of things the audience hasn't already seen. The entire point of spreading ideas is that not everyone in the audience has seen everything already, if you have the you probably don't need to be there.
Going back to the post about AI linked to, the surrounding text even does a fine job of making the code less daunting to someone who has no idea of anything outside prose English. The main hurdles to understanding the piece are in fact the technical terms used in that very text, not the code blocks. State machines, FIFO... you don't need to know the terms to read it but calling out the use of some very simple (pseudo)code is missing the actual challenge of passing on that message to someone unfamiliar with computing. A bit of Google/Wikipedia will hopefully catch people up or send them on a deep dive into learning about some potentially fascinating topics but the same can be said of occasionally reaching for the dictionary when reading anything and this nicely wraps into a (less than usually) rickety analogy (my favourite tool when grumpy about something):
Imagine if writers linked to an article but warned you away in such a jokey, 'this is above you and you shouldn't even try to understand it' way because it is full of long words you might possibly need to look up due to an overenthusiastic use of an English degree or dictionary reading obsession. I'm sure we all have favourite authors and journalists who may have a bit too much love of the flowery language or straight up arcane word use in places. Maybe they just like to mix it up or maybe they do want the precise meaning their unusual choice describes but you don't often see people prefacing links with a warning that a quick online dictionary check may be required and that said author doing the linking was to simple to possible manage with comprehending the text.
You may have noticed that even when I try to avoid writing for more than a few minutes, my keyboard loves the abuse. This post has not been edited to the same standards as before so I apologise for any lost meaning from a dyslexic slip here and there into an incorrect word use.
Here is a deeply troubling meme/joke used by a lot of writers in the gaming enthusiast press from time to time, this time as written by Adam Smith (emphasis mine):
The post about how the AI for individual settlers function is a great insight as well, even if it does contain actual lines of code and therefore frightens my simple mind."Oh no, computer code! Too much for my brain to read!" I've bumped into exactly the same sentiment when people are linking to very basic proofs that use the standard mathematical terminology (sometimes nothing more than a few ∀ and ∃). I've even had some lectures where maths was being spoken to people outside of the discipline but still subject adjacent (Computer Science for example) to the depth that full proofs were being provided but were being written out in plain English rather than with symbols, presumably to provide a wider base; but this was a class being taught advanced concepts that would require outside reading which is full of the standard symbols. It is always better to explain on the first use if you feel you need to ease people into something potentially new rather than try to step around standard form to try and broaden a highly technical talk.
The code in the article Smith links to requires the understanding of objects with dot methods and parameters, methods outside of this calling convention, and if/else clauses. I would hope a rigorous secondary school syllabus that prepares students for the world would contain a lot more programming knowledge than this but even if people came through before CompSci was taught then this is not rocket science. In fact this is really good stuff to be able to parse as a technical writing style. I start one of my talks by saying that to get to higher tiers of education you have to have been able to deal with English, so you already know how to work within the constraints of a grammar far more complicated than any programming language I'm going to show you, and you have to have made it through mathematics, so you had to work out manually applying algorithms to generate results with things like long division and I'm not expecting anyone to manually iterate over any of my code in exact detail to keep up. So I am not expecting anyone to reach beyond skills they would expect someone who is in their early teens to command. If you don't tune out then we can look at some cool code together and if you get confused then just ask me and we'll make sure you're following. It's not a perfect open, but at least it tries to cut through this 'turn off at the first sign of technical' dismissal of things the audience hasn't already seen. The entire point of spreading ideas is that not everyone in the audience has seen everything already, if you have the you probably don't need to be there.
Going back to the post about AI linked to, the surrounding text even does a fine job of making the code less daunting to someone who has no idea of anything outside prose English. The main hurdles to understanding the piece are in fact the technical terms used in that very text, not the code blocks. State machines, FIFO... you don't need to know the terms to read it but calling out the use of some very simple (pseudo)code is missing the actual challenge of passing on that message to someone unfamiliar with computing. A bit of Google/Wikipedia will hopefully catch people up or send them on a deep dive into learning about some potentially fascinating topics but the same can be said of occasionally reaching for the dictionary when reading anything and this nicely wraps into a (less than usually) rickety analogy (my favourite tool when grumpy about something):
Imagine if writers linked to an article but warned you away in such a jokey, 'this is above you and you shouldn't even try to understand it' way because it is full of long words you might possibly need to look up due to an overenthusiastic use of an English degree or dictionary reading obsession. I'm sure we all have favourite authors and journalists who may have a bit too much love of the flowery language or straight up arcane word use in places. Maybe they just like to mix it up or maybe they do want the precise meaning their unusual choice describes but you don't often see people prefacing links with a warning that a quick online dictionary check may be required and that said author doing the linking was to simple to possible manage with comprehending the text.
You may have noticed that even when I try to avoid writing for more than a few minutes, my keyboard loves the abuse. This post has not been edited to the same standards as before so I apologise for any lost meaning from a dyslexic slip here and there into an incorrect word use.
Sunday, 10 February 2013
User Intent & Skill
I am not a great player of games. My loop from eye to brain to body (specifically fingers for gaming) is particularly slow and susceptible to stalls (rabbit in headlights). When I play a shooter online then chances are I will be in the 50% of the population who don't quite hit a 1:1 KD ratio, rather than the 50% who are somewhere above that magic line (which 90% of people claim to be above - don't you love statistics). My ability to accurately point a crosshair at your upper torso and click, then react to the potential movements of bits of the system to maintain that position and throttle my clicking rate to best provide an accurate stream of virtual bullets to pierce your virtual head is not good and is only partially compensated for by my ability to pick sensible places to engage. But give me a support class or an objective and I'll make a good addition to your team. Hell, even in something like Counter-Strike standard maps I'll work out non-traditional disruptive play to prevent the other team from playing in their comfort zone, at least in a casual skill environment (no doubt high skill players can shut down my shenanigans). This is something I am completely happy with, by definition half of the group have to be below the median and if we're looking at a skewed distribution (assume a normal population distribution of reaction times, most very low players give up, everyone else sticks around) then most of us are below the mean. I have no proof to support the idea that most game populations are skewed that way so feel free to reject the second idea, that most of you play at a sub-average reaction level.
So what has brought about this claim that not only am I not very good at the see, analyse, react chain but most of you are (comparatively) down in the mud with me? Does it matter? Should game designers care?
When I first saw Super Hexagon I thought it was a game about analysing the scene, deciding on a rotation needed for the pointer, and hoping that you'd made a decision about that rotation with enough time for the rotation to complete and get through the gap. The skill coming from that reaction speed and correctly choosing left or right rotation and chaining those decisions together into the sequence that matches the ever contracting and moving world around your pointer. The rejection of the music game memorisation by adding randomisation and constant speed of the pointer's movement (baring stationary) seemed to clinch my reading of the game.
And then I purchased a copy and played it. Or I should say I repeatedly played the first second to 9 seconds of the game. I was not expecting to have to express my intent for rotation as a press on the left or right side of the screen for a certain number of ticks (with error margin for the width of the hole narrowed by future positional needs / rotation change lag in your input reactions), I was expecting the touch to provide rotational intent despite the lack of an analogue stick. This leads to my reading of the game as both a call against and demonstration of players' willingness to work around needlessly bad reading of user intent. I do not think this interpretation was the author's goal but I don't think that should be a relevant factor.
When someone complains about the pointless tank controls in earlier Resident Evil games when played on a device with analogue sticks, that it is harder than it should be to express their intent via their avatar, then this is exactly what Super Hexagon is demonstrating. A game where the avatar cannot react in zero time to rotate perfectly to a new angle should express that limitation in the animation system, not in the controls. When people express the difference between their failure and a failure of the game it is usually described as "I made the wrong decision" vs "the game didn't do what I wanted" or unfairly/arbitrarily killed them as they had no way of knowing what the right decision was. Dark Souls is lauded for the canned animation system (you cannot break from an animation once you initiate it so decisions cannot be aborted) and interactions that are challenging but feel fair and push players to be very methodical and make the right choices. Hard does not mean lightning reflexes, it means making the right choices and fair means the game gave you the information you needed to make the right choice.
At 5:40 seconds into the game the cursor snagged the end of a wall, the wall I had time to get past but had mistakenly released the right side of the screen early to avoid overshooting the hole. The hole I had the intent to get through and the reaction times to initiate movement to complete in the right direction. But I didn't hold down my finger for exactly the right length of time and so the pointer hit the wall. Stupid game, let me move my avatar to where I want it to go!
While discussing that game with Paul from Mode 7 Games, I was being my usual contrarian self and making no headway expressing how I see the game as tank control analogous, narrative against bad controls by using bad controls and this eventually pushed him to posit, "I don't know how you categorise a disconnect in user-intent vs. making something skill based - don't you need a disconnect for micro". Now there is an interesting question, is skill (specifically as expressed in micro) just the player having to overcome problematic controls to express their intent efficiently?
It's certainly a sane viewpoint, my counter would be that perfect reading of user intent is hard to impossible depending on the range of things the user is able to express in the game but being as good as possible at reading them is a requirement for an honest game. For something like Starcraft then there is clearly an issue with users expressing the exact movements and actions of every unit in the game as soon as they think of what they should be doing. We simply can't work out how to use our current input methods to achieve that and so we build the tools as best we can and consequently the ability to better express intent using fast reactions is part of micro. But knowing what you want your units to do is also massively important. The APM to pull back units and prevent them being destroyed is key to being most effective in an engagement, knowing that you want to fight with an army of half-health units by pulling some out of range of attack rather than half an army at full health and half corpses is the skill. Starcraft even uses that time being locked up at the controls for micro as a balance mechanism, with players who are weaker at micro knowing this and so devoting their APM budget to other things. Micro is much more than reactions and good play is informed by understanding of your own reactions and application of it to the limitations of the controls; giving the players the best chance to express their intent is critical, while accepting the limitations of input will provide some with ability to do more, faster, up to the constraints of the input system.
I'm sure most people who have played Super Hexagon and read my interpretation of the game didn't agree, I've expressed the view to responses of o_O enough times to expect it. But what if my Super Hexagon and your game aren't the same game? Maybe on my Nexus the lag on the digitiser or on the renderer's output / screen means I have a couple less frames to make my reaction, that the feedback loop of when to lift off my finger has to be done by precise mental calculation rather than via screen feedback. My laggy brain may make for some disadvantage in twitchy multiplayer shooters but what about laggy hardware, especially in the wide ecosystems of PC gaming, Android/iOS (when grouped collectively), or consoles (mainly what TV you hooked them up to). Is this skill or just a randomised impediment that the game design should accept and try to minimise?
Consider a shooter with a handicap system for health. When you buy the game you get a health value between 50 and 150 and every time you spawn that's your health, your given handicap was randomly chosen. Only you play on a nice large IPS TV as your screen, when you spawn your health is now half of what it was. You own that brand of GPU and those drivers with default settings? Take 30 health off. Didn't configure your $60 mouse correctly for 1ms updates? Drop off another 10. This is what lag to the input and output are doing, on top of the random lag of the user's own processing abilities we have massive, uncertain lag from the variable hardware and settings. By not trying to optimise reading of user intent we exacerbate the ability for luck rather than skill to rule the systems because we can't know from user to user if what they can actually see and react to on their hardware is 100ms behind a different user.
This line of thought can be taken to extremes, the simplest straw-man is to declare that I am saying no timing checks are allowed and so all games much become turn-based. Reactions are part of micro and that's a key element of gaming, especially competitive gaming, and even our experience of reality in general; time moves forward and we go along with it. But we can't equate skill with enforced disconnects in reading user intent. Obviously the user doesn't intend to generate a game over screen or lose so our game, to have challenge or provide player rankings, must offer paths to failure that the user should not take but has the option to. I think games are most worthwhile when that is offering a choice that the user takes and then leads to failure, even if they only took that option due to being rushed and needing to make some reaction (one of which can be no input at all). We need to be aware of the variable reaction times of the devices making a mockery of any intent to be aggressive with dividing players by speed of reaction as a skill or a skill check for expressing precise intent that can be recorded by other means.
An input system that is harder to interact with than is necessary, making correctly expressing intent the skill, is missing the mark; a throw back to before we had the processing power, input bandwidth, and know-how to do better. We will always have a problem with correctly reading user intent until people have brain interfaces but minimising those disconnects does not prevent games of reaction, even if the fair balancing of such a game seems impossible due to the range of hardware people use to play games.
That is the hole I see when I look at using hardening expression of user intent as a skill mechanism, with real-time games already at the mercy of input and output lag those games that walk that path are just doubling down on giving luck as skill, luck of the hardware and luck of the nervous system. Games are about offering choices but in Super Hexagon my best choice it to stop playing.
So what has brought about this claim that not only am I not very good at the see, analyse, react chain but most of you are (comparatively) down in the mud with me? Does it matter? Should game designers care?
When I first saw Super Hexagon I thought it was a game about analysing the scene, deciding on a rotation needed for the pointer, and hoping that you'd made a decision about that rotation with enough time for the rotation to complete and get through the gap. The skill coming from that reaction speed and correctly choosing left or right rotation and chaining those decisions together into the sequence that matches the ever contracting and moving world around your pointer. The rejection of the music game memorisation by adding randomisation and constant speed of the pointer's movement (baring stationary) seemed to clinch my reading of the game.
And then I purchased a copy and played it. Or I should say I repeatedly played the first second to 9 seconds of the game. I was not expecting to have to express my intent for rotation as a press on the left or right side of the screen for a certain number of ticks (with error margin for the width of the hole narrowed by future positional needs / rotation change lag in your input reactions), I was expecting the touch to provide rotational intent despite the lack of an analogue stick. This leads to my reading of the game as both a call against and demonstration of players' willingness to work around needlessly bad reading of user intent. I do not think this interpretation was the author's goal but I don't think that should be a relevant factor.
When someone complains about the pointless tank controls in earlier Resident Evil games when played on a device with analogue sticks, that it is harder than it should be to express their intent via their avatar, then this is exactly what Super Hexagon is demonstrating. A game where the avatar cannot react in zero time to rotate perfectly to a new angle should express that limitation in the animation system, not in the controls. When people express the difference between their failure and a failure of the game it is usually described as "I made the wrong decision" vs "the game didn't do what I wanted" or unfairly/arbitrarily killed them as they had no way of knowing what the right decision was. Dark Souls is lauded for the canned animation system (you cannot break from an animation once you initiate it so decisions cannot be aborted) and interactions that are challenging but feel fair and push players to be very methodical and make the right choices. Hard does not mean lightning reflexes, it means making the right choices and fair means the game gave you the information you needed to make the right choice.
At 5:40 seconds into the game the cursor snagged the end of a wall, the wall I had time to get past but had mistakenly released the right side of the screen early to avoid overshooting the hole. The hole I had the intent to get through and the reaction times to initiate movement to complete in the right direction. But I didn't hold down my finger for exactly the right length of time and so the pointer hit the wall. Stupid game, let me move my avatar to where I want it to go!
While discussing that game with Paul from Mode 7 Games, I was being my usual contrarian self and making no headway expressing how I see the game as tank control analogous, narrative against bad controls by using bad controls and this eventually pushed him to posit, "I don't know how you categorise a disconnect in user-intent vs. making something skill based - don't you need a disconnect for micro". Now there is an interesting question, is skill (specifically as expressed in micro) just the player having to overcome problematic controls to express their intent efficiently?
It's certainly a sane viewpoint, my counter would be that perfect reading of user intent is hard to impossible depending on the range of things the user is able to express in the game but being as good as possible at reading them is a requirement for an honest game. For something like Starcraft then there is clearly an issue with users expressing the exact movements and actions of every unit in the game as soon as they think of what they should be doing. We simply can't work out how to use our current input methods to achieve that and so we build the tools as best we can and consequently the ability to better express intent using fast reactions is part of micro. But knowing what you want your units to do is also massively important. The APM to pull back units and prevent them being destroyed is key to being most effective in an engagement, knowing that you want to fight with an army of half-health units by pulling some out of range of attack rather than half an army at full health and half corpses is the skill. Starcraft even uses that time being locked up at the controls for micro as a balance mechanism, with players who are weaker at micro knowing this and so devoting their APM budget to other things. Micro is much more than reactions and good play is informed by understanding of your own reactions and application of it to the limitations of the controls; giving the players the best chance to express their intent is critical, while accepting the limitations of input will provide some with ability to do more, faster, up to the constraints of the input system.
I'm sure most people who have played Super Hexagon and read my interpretation of the game didn't agree, I've expressed the view to responses of o_O enough times to expect it. But what if my Super Hexagon and your game aren't the same game? Maybe on my Nexus the lag on the digitiser or on the renderer's output / screen means I have a couple less frames to make my reaction, that the feedback loop of when to lift off my finger has to be done by precise mental calculation rather than via screen feedback. My laggy brain may make for some disadvantage in twitchy multiplayer shooters but what about laggy hardware, especially in the wide ecosystems of PC gaming, Android/iOS (when grouped collectively), or consoles (mainly what TV you hooked them up to). Is this skill or just a randomised impediment that the game design should accept and try to minimise?
Consider a shooter with a handicap system for health. When you buy the game you get a health value between 50 and 150 and every time you spawn that's your health, your given handicap was randomly chosen. Only you play on a nice large IPS TV as your screen, when you spawn your health is now half of what it was. You own that brand of GPU and those drivers with default settings? Take 30 health off. Didn't configure your $60 mouse correctly for 1ms updates? Drop off another 10. This is what lag to the input and output are doing, on top of the random lag of the user's own processing abilities we have massive, uncertain lag from the variable hardware and settings. By not trying to optimise reading of user intent we exacerbate the ability for luck rather than skill to rule the systems because we can't know from user to user if what they can actually see and react to on their hardware is 100ms behind a different user.
This line of thought can be taken to extremes, the simplest straw-man is to declare that I am saying no timing checks are allowed and so all games much become turn-based. Reactions are part of micro and that's a key element of gaming, especially competitive gaming, and even our experience of reality in general; time moves forward and we go along with it. But we can't equate skill with enforced disconnects in reading user intent. Obviously the user doesn't intend to generate a game over screen or lose so our game, to have challenge or provide player rankings, must offer paths to failure that the user should not take but has the option to. I think games are most worthwhile when that is offering a choice that the user takes and then leads to failure, even if they only took that option due to being rushed and needing to make some reaction (one of which can be no input at all). We need to be aware of the variable reaction times of the devices making a mockery of any intent to be aggressive with dividing players by speed of reaction as a skill or a skill check for expressing precise intent that can be recorded by other means.
An input system that is harder to interact with than is necessary, making correctly expressing intent the skill, is missing the mark; a throw back to before we had the processing power, input bandwidth, and know-how to do better. We will always have a problem with correctly reading user intent until people have brain interfaces but minimising those disconnects does not prevent games of reaction, even if the fair balancing of such a game seems impossible due to the range of hardware people use to play games.
That is the hole I see when I look at using hardening expression of user intent as a skill mechanism, with real-time games already at the mercy of input and output lag those games that walk that path are just doubling down on giving luck as skill, luck of the hardware and luck of the nervous system. Games are about offering choices but in Super Hexagon my best choice it to stop playing.
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!
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.
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.
Subscribe to:
Posts (Atom)