I've been working on a VR project for a while now in my off hours; training, engineering, recruiting. The crew is suiting up, the engines are idling, and we're about to kick this ship into gear.
War is coming. Are you prepared?
So when I'm not fucking around in Unity / Photoshop / the Rift / the giant pile of video games I'm still working through in my lounge room, I do lighting. It's what I get paid for when I'm gainfully employed, and I enjoy the shit out of it in the framework of employment, but I don't tend to do a lot of it at home. I think the reason is that before I get to the lighting I have to sink a lot of time into modelling and texturing and framing a scene, where in a studio, a whole bunch of people do that for me.
Lighting, in my opinion, is where the magic happens. It might sound narcissistic, but this belief drew me to a career as a lighting artist, not the other way around. We've all seen wonderful environments with the most amazing mesh work and texturing look bland and mediocre, and there's a good chance bad lighting is to blame. We've also seen good lighting make a cube in a box look incredible. One of my favourite art movements is minimalist photography, which demonstrates this well.
Part of the joy of being a lighting artist/TD is that lighting and the associated disciplines (composition, colour grading, shading, etc.) are unique as an art form because they land smack bang in the middle of the trifecta of art, science and technology. These are challenging disciplines because to master them you require a foot in all 3 fields. I enjoy that challenge; I am always learning, always getting better at what I do, and I dare say I'll never reach a point where I feel I have no room for improvement.
I'm not going to get into cinematography or the physics of light right now. I might do that at some point because, one, I like the topic and enjoy talking about it, and two, I think in game development, few people are doing great lighting work. Of those, there's Naughty Dog and Visceral, among others. Blizzard do phenomenal work with low-tech lighting (and their palettes /drool). Remedy's work with Alan Wake makes it high on my list of all-time favourite games. Seriously, it's an underrated masterpiece, and few things have scared me as much as the relentlessly oppressive atmosphere of Bright Falls.
As a lighting artist who has worked in both VFX and games, I think the added complexities of real-time lighting - technically (there's few switches, it's mostly hand-crafted hackery) and artistically (how does one produce masterful cinematography when the camera is in control of the viewer?) - create a fairly high barrier to entry for lighting artists. Even if there was an abundance of lighting artists in games, in some cases, it's more practical to go with global procedural solutions. Take Far Cry 3: Fantastic game, looks wonderful too, but there's nothing particularly 'artistic' or mood-driven about the lighting. In part, being a predominantly outdoors game makes it possible to implement a hammer-and-nails solution that works very well. As someone who consumes most visual entertainment with a critical eye, besides the lack of cinematic lighting in the cut-scenes, I didn't think "this needs work".
I do wonder though how long the realism trend can sustain interest. At some point, I am certain, everything will become realistic enough that the emphasis will once again be placed on the cinematic art of light over the science.
I keep using the word cinematic, and it's usually here that someone might feel the need to point out that games aren't movies. That's a fair enough point to make, but these artistic disciplines and vocabularies are universal, limited to no single medium. The challenges of interactive entertainment are unique and require unique solutions, but the artistry of light and shadow, colour and form: That's the same everywhere. It would be foolish not to stand on the shoulders of a century of genius photographers and film-makers who helped create the very expectations among our audience that we strive to meet. Despite the differences in lighting design for interactive and player-directed games versus a passive cinema audience, these are visual mediums sharing the same artistic DNA.
This post began as a way to introduce some lighting tests I've been working on, and ended up a sermon. I'll get to the lighting tests later. For now, I think I'm going to start writing some articles on this topic that indie developers might find useful.
It has been a while since I've written about my gamedev adventures. I've been all up in the Rift of late, working on my first VR game; my first actual game of any kind, really. As part of the framework for that, I've been whittling away at (what I assume to be) standard systems for handling stuff like input profiles and save data. One of those systems handles game text for eventual localisation.
I have some vague recollection of string tables in Excel at Krome, but I am not sure if Unity can read Excel data, and at any rate, I didn't want to introduce extra steps in the pipeline unless I needed to, so I rolled my own very basic string table reader/translator thing, called Linguist. Code is zipped up at the bottom of the post for anyone who wants to use it, released under the MIT opensource license. Which basically means, do whatever the fuck you want with it.
Linguist requires a little bit of housekeeping to add strings to the database. First things first, Linguist is a MonoBehaviour and an instance of it is required in the scene, so create a new GameObject and drop the Linguist component onto it. Secondly, the Linguist component initializes its dictionary in the Awake() method, so if you try to access Linguist from the Awake() method of another component it may not be ready yet and will throw an unhandled NULL reference error or something: Either set Linguist's script execution order to high priority, or wait until Start() or later to pull strings.
Also, make sure you drag-n-drop the StringDictionary.XML file onto the Linguist component's StringTable property in the inspector. Yes, I know I'm naming shit all over the place...
To add a new string to the project:
- Add the string's unique identifier to the StringUID enum. This enum is used to access all strings because it's faster and safer than using actual (easily mistyped) strings.
In this example, I've added a string UID called NEW_STRING_DEMO:
- Add the new string UID and the string's value to the StringDictionary.XML file.
The new demo string is contained inside a child-node of <NEW_STRING_DEMO> called <ENGLISH>. This corresponds to the languages defined in the LanguageUID enum. To add a new language, you'd give it a unique identifier in LanguageUID the same way you add unique string identifiers to StringUID.
It's up to you to make sure you include all translations for all strings in the StringDictionary.xml file. There's some very basic error checking to ensure any string identifier in the XML file also exists in the StringUID enum. If for example you used <NEW_STIRRING_DEMONSTRATION> instead of <NEW_STRING_DEMO> then the mismatch between XML/enum would show in the debug window.
It takes some discipline to ensure that you're not hard-coding strings into your classes anywhere, and this component obviously only works when you follow it's preferred pattern.
To access a string in your project:
>> // Using the default language determined by Linguist.instance.currentLanguage
>> // Using a specific language
>> Linguist.instance.GetString(StringUID.NEW_STRING_DEMO, LanguageUID.ENGLISH);
So I hope someone finds some use in this. If you do, I'd love to hear from you, especially if you expand it in some cool way. Also, I can't support this in any way at all, and if it conflicts with your project / wipes your HDD / explodes your PC it's not my fault.
Download it here:
I didn't choose the thuglife, the thuglife chose me.
I'm not sure why the "I" looks so out of place in this photo. I assume my finger was all munted since I'd just had someone tearing through the flesh of it for an hour.
This is what crowdfunding promises to me. If the campaign is still live while you're reading this, please go back it.
As an artist, and an appreciator of art, the aesthetic of this is like remedial massage for my eyeballs. I've argued the importance of aesthetics before, both on my blog and on the Indie Game Developers Facebook group; some agree, some (vehemently) disagree. Perhaps the debate still happens because the indie dev scene seems dominated by programmers and we are all to some degree biased towards our roles in this creative endeavour. Or perhaps people think the existence of a successful game which doesn't look great is all the evidence needed to proclaim that good art direction doesn't matter, ever.
Well I just backed this based purely on its look, and I'm sure I'm not the only one. If it's a great game - and I hope it's a great game - then I expect it'll get its chance to exist because the developers cared about the whole package, not just what happens when you press the A button.
I wonder how many great games out there never get noticed because someone thought presentation doesn't matter?
Sometimes, I feel like the anti-art trend stems from some hipster elitism: AAA makes stuff look great so making stuff look great is "selling out". Sometimes I feel like it comes from the realities of production limitations: You're a one man coder army who can't put two colours together without giving someone a photosensitive seizure, so you have no choice but to operate under an assumption that good art direction is not a vector for success.
Of course, the evidence is overwhelming that the vectors for success are many and varied, and a thing does not have to look great to be successful, any more than it has to play great, or sound great, or tell a great story, or do something unique. Success is a slippery thing. If it was easy to map those vectors, we'd all be millionaires.
But the smart bet is to play to your strengths, and if it's in your capacity to employ a beautiful aesthetic to draw attention to your work - to value-add to the entire cohesive experience of your game with good aesthetics and presentation - you should do that.
To suggest otherwise is an absurdity that we nevertheless keep being subjected to.
A new recipe. Just what this gamedev blog needs. SHUT THE FUCK UP. And cook and eat cos it's fucking delicious. DELICIOUS.
I don't know how to photograph food. Some of my friends photograph food like they're gorram professionals, like you can smell the delicious wafting off the pixels. This is my shitty effort. Trust me, it's restaurant quality food this shit.
I think it's a Jamie Oliver recipe. I wrote it down and didn't write down where it came from, so I'm an ass. But it's way too good not to share.
You're gonna need a bunch of tasty shit:
- Olive Oil
- 1 Brown Onion (chop that shit)
- 2 Parsnips (peel, halve then quarter)
- 4 Carrots (peel, halve then quarter)
- Half a butternut pumpkin cut into chunks
- 5 small Potatoes (peel and quarter)
- 300mL vegetable stock
- Tomato paste (half of one of those little tubs)
- Zest of one lemon
- Some sprigs of rosemary
- A hand full of sage
- 1kg beef (cubed)
- Flour, Salt and Pepper to season the beef
- Half a bottle of red wine
- Heat the oil and about 2 tablespoons of butter in a casserole dish (I have a "knob of butter" written down here and the only way I could think to accurately measure it was kinda rude, so I defaulted to just throwing a big lump of it in there). Also pre-heat the oven to 160° (that's Celsius for anyone still living in the imperial dark ages).
- Add the onion and the sage and fry it for a bit. "A bit" is a scientific measurement that means "Until the onion goes soft and the sage is fragrant and this shit is not rocket science".
- Season the meat - you don't need to brown it which makes this super easy to prepare - and add it to the casserole dish with the vegetables, the tomato paste, the vegetable stock, and the half a bottle of wine. Skull the other half.
- Stir it around, mix it all together, don't be too fussy.
- Season the dish with a bit of salt and heaps of cracked pepper, then chuck the lid on it and put it into the oven for 3 to 4 hours. I went 3:45 and it was perfect.
- Meanwhile, finely chop the rosemary and a garlic clove or two and mix them with the lemon zest.
- Serve and sprinkle the rosemary/garlic/zest seasoning over the top.
- Plant your face in it, motherfucker. That aroma. THAT AROMA.
Star Citizen: The perfect game. I mean, really. The infamous Chris Roberts of Wing Commander fame, and now the CEO of (slightly narcissistic) Roberts' Space Industries, teaming up with the likes of Ryan Church (art God, I would have this guy's babies) to create the successor that Elite never really got. Only now it's supercharged for a contemporary audience and contemporary technology.
And increasingly more apparent, contemporary monetization models.
I really, desperately, down to the core of my very being, want Star Citizen to be amazing. But I'm starting to get an uncomfortable niggle at the base of my skull, a distracting note of discord. There's a creaking in the floor boards. A rattle in the attic. Some formless entity whispers "Zyngaaaaa" in my ear, and I'm left with a cold, disheartening chill.
Disclaimer: This blog entry is going to be full of conjecture. Continue at your own objective peril.
Let me say, nay, shout with joyous abandon: Crowdfunding is FUCKING AWESOME. But this isn't just crowdfunding. This is transaction-based game design. And spin it however you like, as soon as transactions affect gameplay, you have wilfully created dissonance.
People are competitive. No shit. This fundamental human characteristic is what drives progression in MMOs. You log in, you grind, you raid, you get a sexy hat with sparkly shit on it and then you run around wearing said hat hoping people notice that you are wearing said hat and they aren't.
And as soon as you introduce the ability to buy the hat, that game level competition suddenly becomes wallet competition. You're still wearing the hat, only now it's to show off that you can afford to. And when Chris gives you his philosophies for why he's utilising this model, you can do the Liz Lemon epic eye roll because he's banking on the same thing Zynga do: That you'll be shamed into spending cash.
So businesses exist to make money. Well, if Star Citizen is just a business venture, it can eat my dick and I will cry myself to sleep in bitter disappointment. Making money to make games. That used to be a thing, once. Now it's making games to make money and we're all so well trained, we don't remember that only a few short years ago we almost universally found this shit repugnant.
I'm not opposed to microtransactions, especially for cosmetic elements, double-especially when it's funding a game that needs to be made. I'm also not opposed to subscriptions when they cover overhead and fund continued content development. But scrap the subscription model in favour of a microtransaction model and your audience is Faust, making one of those kinds of bargains, where the cost is no longer transparent and the consumer cannot enter into it with measured and controlled commitment. No one can be sure they're on par with everyone else in this fictional universe. There is nothing but a growing disparity and a niggling suspicion that you should be entering your credit card details somewhere to keep up.
Hyperbole, perhaps. There's no real solid evidence that Star Citizen is going to be a microtransaction hell. But there's not a lot of evidence to the contrary, either.
At first, RSI were quite conservative with their talk of monetisation: Backers could buy in for some launch benefits, but ultimately the game would progress and those benefits would normalise over time, so it was all a bit of a boost out of the gates.
That's when I bought in.
Now, worryingly, multiple campaigns of value-add are creating increasingly more inequality to the point of it feeling less like a game and more like buying a car with a pushy salesman making sure you know exactly what you're missing out on since you can't afford the V8 convertible.
The most worrying element of all this came up today while I was browsing their forums looking for scraps of info to sate my growing desire for all things spacey [insert Kevin-is-hot-old-man joke].
Early on there was talk of allowing players to buy currency in-game on release. There was a lot of speculation that the currency maximum purchase would be roughly equivalent to an MMO subscription, and I guess the lack of response read like tacit confirmation. So I went in believing (no proof, my own fault, etc.) that if you wanted to subscribe, you could, and you'd get a modest stipend for doing so. That sounded perfect: If you don't wanna subscribe and fund continued development, just play for free, but if you do we'll give you a small reward for doing so. Technically it's pay-to-win, but it's at such a controlled and transparent degree that it doesn't feel like sitting in a seedy casino feeding your hard earned cash into a machine that promises to make you feel awesome if you would only feed it enough.
But then some offhand quotes (unconfirmed, I'm ranting, not writing a thesis) seem to indicate that the currency 'limits' are going to be set around $150 PER DAY. Why even have limits? Oh, to stop the game from becoming imbalanced.
Suddenly Star Citizen feels like a very expensive game pretending to be freemium.
So what's the big deal? The world isn't fair, some people have shit others don't. Boohoo.
The big deal is that the joy of a multiplayer universe is the very lack of disparity, the enforced common ground, the equalisation that puts us all on par and lets us loose to make our destiny. Or according to RSI, buy it, I guess. But of course this game isn't being made for me alone, and of course subjectivity, and of course disclaimers out the wahzoo and I'll just NOT PLAY IT if it bothers me, but dammit, I so desperately want this to be the best thing ever. And this is my blog, so I get to have a whine about it.
I want it to be amazing. I want to be so, so wrong. But until some more solid information comes out, it all stinks a bit of Spaceville.
This will be short, mostly because I could write a novel on the topic. But I wanted to make a short post in response to Anthony Burch's article about inclusiveness in Borderlands 2.
Firstly, I fucking heart Anthony Burch. In maaaaybe a bit of a creepy, stalkerish, if-I-met-you-I'd-want-to-touch-you-to-make-sure-you-were-real, kind of way. Besides being a brilliant writer, he just "gets" it. Hence, article.
But I'm reading the sadly reliable backlash attached to the article on Facebook. It's a kind of irresistible masochism, I think. I know what to expect, and yet I'm always disappointed when I get it.
My frustration isn't the guaranteed knee-jerk, but the fact that it ironically highlights his reasons for writing this piece in the first place. When you write about diversity and then have people ranting at you for writing about diversity, you're kind of having your point made for you in the most depressing way.
Writing diversity is not about being politically correct. What a fucking weird, sheltered argument to make. Diversity actually exists in the real world - no way! - and complaining about it appearing in fiction as 'token' elements just points out why people feel the need to talk about why they're writing diverse characters in the first place.
If you think that gay people, or brown people, or intelligent and empowered women are all some fashionable flavour of the month, you're proving the damn point you're railing against. The world is not what you think it is. Diversity isn't some hippy, commie, conspiratorial agenda; it's the reality of modern society.
Sorry buddy, but your lily-white world view is the fantasy here.
It costs absolutely nothing to be inclusive, but there'll always be that one person (read: many) who is intensely offended by it.
As a sometimes MMO player (once an addict, always an addict) something bothers me immensely about the trends in MMO design prevalent right across the board: Fill a game with epic shit to look at, and then fill the bottom 10% of the screen with 30+ buttons to stare at intently while all the shit is going on somewhere else.
I jumped back into WoW again recently to run the latest raid, which on YouTube videos looks suitably epic and spectacular. And I realised afterwards that I only ever glanced at the action from time to time to make sure I wasn't standing in anything glowy or shadowy or you're-going-to-fucking-die-y. Aaaaaand back to the action-bar.
It sure SOUNDED epic.
Spending 10, 20, sometimes 60 seconds watching rows of barely distinguishable icons seems to run at cross-purposes with the rest of WoW's game design, which is heavily visual. This is masterful art here, created by some of the most talented game artisans on Earth. WHY ARE YOU MAKING IT SO HARD TO LOOK AT?
Why not minimise the button bloat and create encounters that rely more on situational awareness, coordination, or manoeuvring? Why design player abilities in such a way that they are forced to stare at a dull icon stack and little swirly cooldown timers instead of all the insanely gorgeous (and epic) action your encounter designers, artists, and storytellers have laboured over?
This game feels like something of a genre clash: A turn-based control system (more or less) shoe-horned onto a real-time action game. It has bothered me right from the game's release, but with the last couple of expansions and their seeming pathological need to keep reinventing their sometimes absurdly stupid, sometimes absurdly complex combat system, I can't stick with it for more than an hour or two before my eyeballs hurt from staring at tiny icons.
I get it: This is how MMOs are just 'done'. They've all, more or less, been made this way. But I get bothered by the assumption that the status quo is best because it's the status quo.
I really want this game to feel epic, but waiting for an attack icon to highlight because some random number generator decided I can use it now is fucking boring.