October 31, 2014

Branching Storylines the dev perspective

Not every entry in this series is problematic or controversial. In fact this was one of the best examples of team building I experienced in my process. The idea for branching storylines was practically a given when I first started with concepts and it was only a question of how far I wanted to take it to the extreme.

I found that some concepts are far to wild to run with and the cutting floor is much harder than an early cut. I originally had an idea for using D&D style decision trees where during dialog you could use your triggers and shoulder buttons to select an alignment then your face buttons for the choices. The team jumped on it with new sub teams for each alignment generating an overwhelming amount of content.

Then came time to make it a reality with voice actors and game scripting to make it all work. Sadly we found almost immediately that the amount of dialog and options was going to be massive and yet we kept trying to find ways to make it more efficient and keep as much as we could. In testing we found even with visuals on screen to help players most of them picked the same options over and over leaving plenty of content unheard. When we asked them why it sounded like the quality of the writing was uneven so certain choices were just inherently better. Even with revamps though it turned out some options were just out of place in a given scenario.

I then questioned what kind of a game I was really making. I knew from the beginning it was going to be a somewhat linear storyline and the primary point of the dialogue tree was to show that choice was really just a facade and that some things are meant to happen or are unavoidable. At the same time I didn't want just a linear style action game especially with all the other content we'd already started to produce.

Then came the hard choice of deciding how to change the decision trees and what scripts to cut. I had our testers pick which options they liked most and narrowed down our choices to a bland single page multichoice system more in the style of quantic dream games (beyond two souls, heavy rain) than bioware (mass effect, dragon age) and eliminated the morality of it all completely stripping out alignment. In some cases we completely removed choice simply because our testers unanimously agreed on a single option and thus we made it an automatic response.

I think everyone understood when I announced the cut that it really was necessary and while the implementation was far from perfect it wasn't the actual problem it was more of an identity issue of what the game really was and how the system itself was out of place. My future recommendation is that if you're going to include dialogue trees, seriously consider them in advance and don't do voice acting till you've already tested everything else.

October 26, 2014

Racism in game from a dev

This is another entry in the series of dev problems. While I didn't have nearly the problem with racism complaints as I did sexist complaints it still came up. Mostly it was over linguistics and word selection. I didn't go into eubonics or any nonsense and for the most part things were fine on paper it was in development that this really came up.

Similar to how it was with sexism I had complaints that a character was black or was too black and if I changed it to white it became "why isn't this guy black?" and this was before we even had a script. Later on it was revisions to the script  over and over till finally I switched the character to white and nobody complained about the script then so I switched the character back. I found it was better not to give anyone a color or face until the script was universally approved for content then I'd assign models and voice actors.

When it came to voice actors there was a whole different story for another article unrelated to this I might have to write, but basically actors wanted to switch characters and in some cases didn't like other actors for some reason. Once I had the voice actors and some pre-vis of the scene it was the expected problems of people saying the voice was too this or too that or was implying something that wasn't there which led to dozens of retakes until it was perfect. The real hard part was getting people to separate the quality of delivery and the content which was sometimes meant to be offensive.

Part of the game was intended to include racism. It's not out of place or forced it's a very natural inclusion yet it sparked some conflict within the group leading to a few members leaving. That's probably one of the harder things to deal with especially as an indie dev where every member is invaluable. This wasn't racism for the sake of it, it was racism with a purpose and a message which I was thankful most of the team members understood.

The strange thing was the only complaints I had about racism were about strictly black characters. No complaints about any of my content for latin, asian, european, or otherwise. There was an unrelated complaint about a french character but it wasn't racism related. I thought that either that says something or it's a huge coincidence. Either way while the headache around racism seems to be much smaller and shorter lived it can be so much more painful than dealing with sexism.

October 10, 2014

Sexism and Sex in games from a dev

This will be the first in a series about challenges that comes up as a developer. These problems and questions tend to come up in all the different phases of development often repeatedly and I thought it's worth discussing.

While this was the biggest headache I've really had as a developer outside of setbacks and conflicts. In the early development stages I took serious consideration of what types of characters I would have and how they would behave. One character I thought I would have written to be a little flirty and another to be a quiet and clingy type while the others were fairly standard. Turned out even in early stages the question came up of what this would say about women in general. I tried to explain my side only to realize my side apparently didn't matter and arguing was futile at best. I charged ahead though with the mentality that providing context and keeping it low key would be least offensive and things might be fine. I also considered adding a small sidequest for romance of which I also considered the bioware route of including an illicit scene that was still very pg which got scrapped in the favor of a more unspoken romance expressed through gestures and looks, very subtle material.

Outside of the game I questioned why I insisted on finding women to help in the process as an actual goal as opposed to "just post and see who wants in" kind of mentality. Not to be too obnoxious about it but I simply had easily 10x more complaints about every facet of the process coming from the women than the men and more requests to change key elements of the game. If I'd approved even a quarter of those requests it would've been an entirely different game. So like a good dev I kept them all written down and am working on a new story for that as a just in case. The flip side of that is of course the fact that it worried me how the men basically just did what they were asked and apparently didn't look for ways to improve. I can understand trusting in me hoping that I know what I'm doing or not wanting to corrupt the artistic integrity but it's better to speak up than leave me in the dark.

Once I finally got in production and started getting scripts and art together suddenly it's like an explosion of accusations about what a sexist I am for every little detail. It had me concerned to the point I spent easily over a week just trying to please everyone with revisions. I'll admit the first revision of "flirty" read more like slutty once it was read out loud to me by one of our voice actors, and maybe the original costume designs were too form fitting but after a few days I just thought at this point they were pissed that I chose to use women in a combat situation. So on the 4th day I came back with designs for men telling everyone no women in the game at all and they were double pissed that I wasn't going to include women as main characters anymore. I thought it was hilarious how many really wanted at least the medic to be a woman compared to the sniper or other roles. Honestly at that point I'd already dealt with so many complaints. Here's the short list: she's too fat, skinny, boney, round, curvy, big breasted, too small of tits, too small a waist, too small feet, too big a head, too big of eyes, too long hair, too short hair, too long fingers, too long legs, she's too short, and oh so many more. I had well over 50 different designs up for voting each of them taking roughly an hour of work to complete and not one of them came close to making a majority happy. So I asked for everyone to pick their favorite parts and send me the list with a basic number guide for each body part and which picture and do it that way only to find most of them didn't know what they wanted. Suddenly all the complaints of a feature being too big or small didn't matter when they realized there was every size from non-existant to the moon they settled on the original which they complained so much. I don't mean picking the actual original but using number guide voting the result was identical to the original which just left me with a kind of facepalm moment.

Then we finally get to making the 3d model and it's basically the same thing all over again but in 3d which means things are suddenly too round or too jagged or unsymmetrical. In this case we were actually renting a 3d scanner for the day and I asked everyone to volunteer to step in the machine prior to the unveiling of first character models and I then pointed out how I'd used a part of every member of the team pointing out their particular part on the model and not a single complaint was had. Though I'm not sure the exact reasoning or logic behind how that works but I must say human psychology is a funny thing at times.

I can only imagine how much hair I would've lost if I'd decided to include even a suggestive fable like sex scene. Though in playing through my own game I kinda still want some of the characters to hook up so maybe next time around.

October 03, 2014

Why pc gaming feels better for consumers and devs

Its no secret I love pc gaming as both a player and a maker. But why? you ask. Well let me tell you.

While its true that there is some chaos from having so much hardware to contend with that's also part of what makes it great is how much control you have over your system. When one thing fails you don't have to wait to send the whole computer in for weeks and months for repairs you can just open up the case and swap out the hardware as soon as you get it which can be as quick as a trip to staples, best buy, or a local computer shop, or a few days from newegg if you're more patient. It's also not some ambiguous red ring or yellow light and an ominous e79 error, it's usually straight forward. If it's a hardware problem it's easy to find out which and quickly check. If its software its still easy enough to diagnose and fix with a quick google search with a worst case scenario just being starting from scatch by formatting which has become wildly fast and easy to do with a little experience.

Then there's the multitude of services. While we may complain about origin or uplay or now this new glyph and others like desura I'd take any of them any day over a console because I can pick up new hardware at any time and get my games quick and easy from a known library without tedious searching and it'll work right away. No worrying about backward and forward compatibility and emulation unless the game is truly ancient in which case it's quick and easy. Meanwhile on consoles I have to hunt and search to find what I own with almost no way to organize my content once I have it. I don't have to worry about premium services on pc either to be given permission to play my games with my friends over a network I already pay other people for. Just to be explicit here, on the consoles you're paying your internet company to use the internet, then you're paying sony and microsoft for permission to use it with their hardware which you already paid for. You could argue that some of it is server cost and such but you know they're making huge profits off of these premium services. Though I will take a moment to say ps+ is amazing and has so many free games all the time on all their devices that I don't mind paying them 40$ a year for something like 100 free games a year or more. ( Here's a list of what they've given away )

Then there's our shining example of what digital downloading of games should be, Steam. Non intrusive, always improving, frequent sales of both new and old content, the power to know exactly what you have and if you have it ready to play available on multiple platforms with seamless integration and the power to play a game you've already paid for on multiple systems with family sharing and multiple OS' if you like to dual boot. The ability to buy and send gifts and activate codes for your games so you can buy them from stores outside of steam. While consoles have codes they're for their respective stores, you can go to gamestop and buy say journey and get a code for psn but it's notably different from say going to gamersgate and getting a code for steam, in particular I can buy a game from desura and get a steam code as well, try getting your copy of Call of Duty to transfer from xbox to playstation and tell me how that works out for you. Then there's mini games around community events and groups which are easy to access and track natively within steam, as well as more rewards for your purchases. The so called xbox missions are blatant money grabs when compared to steam trading cards which sadly are barely more than a way to get people to spend more money.

Many pc enthusiasts go gung-ho for keyboard and mouse, while I understand it I also have an xbox controller plugged in for some games because keyboard and mouse isn't always the best option if we're being honest. But do you think you can get an xbox controller to work on a playstation or vice versa? You see pc doesn't discriminate and doesn't punish you for not wanting to be exclusive.

Then as a dev you don't have to worry about all the restrictions that come with trying to publish on a console or how greedy they are or the frustration you often have when trying to work with their stores which are clunky slow and unresponsive at times with errors that can kick you right out of the app. You're also free to make patches and adjustments without paying absurd fees and it's so much easier to add community support options as well as allowing modding which the consoles are deathly afraid of. Skyrim just isn't the same on a console after  you've played with just a couple mods on pc. Then there's realtime debugging and changes you can make on pc which once it's on the console you really can't work with it you just have to take notes and fix them once you're back on the pc. Even when you're using their emulation software to test the game on your pc you can't make changes while playing because they impose the same restrictions as they would with the hardware.

Speaking of hardware on the pc as a dev you don't have to worry about hardware restrictions as much, you have to be conscious of what the average consumer has so you don't end up making crysis so powerful nobody can play it at max for a decade but the fact that you can make it so there's room for future upgrades is so much better than knowing the hardware will never change and being hard limited to what it's capable of now. Instead you can design for the future and build games to be amazing and then wait for those that are interested to get the hardware to run it properly while in the mean time toning back settings so it can run in the here and now. You're also free to work with new and developing technologies years before consoles see them. Take for example PhysX which was originally an ageia tech and a stand alone processing card before it was adopted by gpu's to be an alternate mode and then implemented as a software solution for games which then still waited longer before consoles could properly utilize it. Then there's simply the fact you can't actually program on the hardware itself on consoles everything you'll ever do is on the pc so why not just keep it there. The only thing a console should be these days is a virtualized OS on dedicated hardware, free to be swapped in and out at a whim. I see a future where playstation, xbox, steam, and others occupy the same hardware as a multiboot option. That is simply inevitable in some form given enough time.

What about the ability to code down to the hardware on consoles? You say. Well let me direct you to GCN architecture solutions from AMD which allow your system to share resources with other hardware. Combined with new and improved HSA technology and the new Mantle API which is vastly superior than DirectX or OpenGL on modern machines. Mantle was designed ground up to take advantage of multiple cores in a system and properly leverage the power of a GPU. As compared to the ancient API's of old which rely on serialized thread processing and have simply been given patches and add ons to try an emulate proper advancements to utilize modern technology but are now clearly showing their age bottle-necking performance because of inability and ineptitude  rather than overhead. Consider batch processing alone where each time you need to call for a model and its textures and other properties each of these issues a batch command call and after around 10,000 of these in a short timeframe most api's start having a hard time processing everything and can slow down if not crash. Mantle on the other hand has been proven capable of handling over 100,000 batches in the same timeframe without a problem. What does all this mean? It means I can do more with what I have in fewer iterations without worrying about overhead as much. I don't need to pull off programming tricks of loading multiple textures in a single batch as if they were one and combining elements I'd rather have separate. It means graphics can look better, physics can handle more objects and forces and dynamic interactions. It means we can let the GPU monster out of the cage on pc just like how we can on consoles. (If you really want to know more about mantle keep on eye on this blog in a few weeks I'll be discussing it in detail)

I find it hard to describe the intangible difference I have experienced as to how superior pc is as a developer and a consumer. At every turn it's just easier, cheaper, faster, better, more rewarding, less restricting or more freedom depending on view, and more, I just can't see any reason to develop for consoles aside from the single advantage they have of knowing exactly what hardware you'll be dealing with which is itself a double edged sword knowing that the hardware will never change.