I am an extremely fussy person, much to the chagrin of the other staffers at Q, so I thought I’d start out with a piece explaining why I put so much emphasis on the little things and perhaps give a little insight into the way my mind works.
Ok, so let’s begin with a bit of my background; I began coding when I was about 10 years old on a Sinclair ZX81 so I’ve been doing it for quite a while now but I remember right from the beginning I would spend hours tuning just one aspect of what I was making until it was just right. Friends from school would come round and sit in my bedroom reading 2000AD comics while I would do this and once I had got something just the way I wanted it I would use them as guinea pigs to see their reactions, my own little focus group! I also drew a lot too, saving up my pocketmoney to get a mouse that could be used with the ZX Spectrum and OCP Art Studio, quite a rare thing to have at the time that even got me the attention of the cutest girl in class for a brief moment!). Even at that young age I was trying to create visually interesting things, I could see the difference in aesthetics between a game that ran at 50hz (PAL) and those that ran at slower frame rates and one of the earliest things I was proud of was creating a non-flickering properly masked mouse cursor for a simple bitmap drawing program I had made that ran at a solid 50; this may sound trivial now but I was about twelve and it was my first attempt to use Z80 assembler… and even in that first program I was being extremely fussy about what I wanted and how to show it on the screen. This obsessive personality is what has helped drive me over the years, making the original duck-in-bath demo for the PS2 with its curved surface rendering and lovely specular refractive water and then later on pulling on all this to make the PS3 Earth Visualizer as beautiful as it could be. All of which personally have taken many many a late night and a lot of effort to tune to be “just perfect”. I’m the kind of guy that invokes a full code re-compile just to change one global header value by +1 if the aesthetic demands it.
A lot of programmers think art is someone else’s job but there is art in absolutely everything they do, from the way they format their code, to the way they structure their data, and the very best coders out there are those who have an eye for the aesthetics in all these little details. Adjusting a parameter that controls the initial jump vector for the player’s character until it is just absolutely perfect is the kind of thing that can measure how fussy an “aesthetician” you really are; some coders will fling it to the game’s designers as quickly as they can but for me this is a total no-no. Sure, the designers or artists can have a fiddle with it later on but you owe it to yourself as coder of the feature to tune it until it pleases you otherwise you won’t be able to take true pride in your work or in the game in general. In doing this fussy tuning yourself you will quite often discover (and fix) limitations in your systems that you hadn’t foreseen and speed up the creative iteration just that little bit more, at the same time increasing your standing amongst your peers for being so clever to create such a good system, so it’s a win-win situation to use your own eye and not just fling parameters at people.
Let’s take a moment here to look up the meaning of the word “aesthetic” (from dictionary.com):
[es-thet-ik or, especially Brit., ees-]
1. pertaining to a sense of the beautiful or to the science of aesthetics.
2. having a sense of the beautiful; characterized by a love of beauty.
3. pertaining to, involving, or concerned with pure emotion and sensation as opposed to pure intellectuality.
Aesthetic tuning, or the art of making things beautiful (not just visually but emotionally and sensationally), more than any other one element is what blows the public imagination and garners high review scores, and at the same time the time required for honing those aesthetics is the main invisible killer of schedules (Flower and ThatGameCompany’s tenuous schedules are a perfect example of this, in a good way of course as the end products speak for themselves). However, this simply can’t be helped and you must always be judging your game by its aesthetic appeal if you want to make a truly superb game, even when it leads to hard painful decisions or hard painful work. It has to be understood that it does take a considerable amount of extra special effort to get the bar that high and that it is worth it at the end!
Thinking back to classic examples of games that were major hits compared to the other games at the time that weren’t such big hits you can see clearly a difference in aesthetics between them. For example the minute control aesthetics in the original GameBoy version of Tetris were incredibly refined – once you played that version it was very difficult to play the others because there were so many subtle touches in the way it had been programmed and you really couldn’t put your finger on exactly why – the game rules were exactly the same but the aesthetics were completely different. Visually too, there are some striking examples of coder-driven paradigm shifts in graphics and art in the gaming medium, for example Atari’s Star Wars with its superb vector graphics or Marble Madness with its ray-traced worlds, both of these games were obviously coded by programmers with a firm sense of beauty and what is aesthetically pleasing to themselves and others. Our coder brains tend not to be configured to let us create the art directly (the brain’s left side vs its right side etc) but what we can do is everything in our power to appreciate it and enable it, and contrary to what some people might think, expression of aesthetics by us, the programmers, is actually much more important to the game than the art itself!
The demo scenes of the past and present are a perfect example of coders with an appreciation for aesthetics – Media Molecule’s Alex Evans is a vivid example of this because he started in the demo scene and you can clearly see that his artistic side is infused throughout his work when you play LittleBigPlanet; of course he didn’t design or draw the graphics directly himself but that game’s aesthetics are driven by the power of its code. Compare this with any game written using an off-the-shelf 3d engine such as Unreal and the difference in artistic expression is striking to me and it is very rare to see anyone other than artists expressing anything in games that use those kinds of ‘standard’ engines. Crash Bandicoot and Jak&Daxter are also excellent examples of games where the coders were clearly expressing themselves (oh and of course <ahem> Star Fox for the SNES was crammed full of programmer expressionism, most ideas being made up by us daily on the spur of the moment).
Very recently as some of you might know I have got hooked to DSLR photography (using the lighter smaller micro 4/3rds cameras from Lumix/Olympus and others) and I have rather delightfully found that photography feeds my aesthetic fetishism in no small quantity. It has also shown me how far the graphics in video games still have to go. A single photo can embody so much detail and beauty, yet even though we pride ourselves on the advances we are making in realtime graphics we just aren’t anywhere close to it becoming art or even all that pleasant to look at if we are brutally honest with ourselves! In fact, the more abstract games we played in the 80s with their limits in resolution and colour are in some ways more aesthetically pleasing than recent modern games such as Gears of War or Ratchet and Clank – as good a game as both of them might be we certainly won’t be holding up either in thirty years in the same way we look upon the minimalist beauty and colours of the original Pacman. Aesthetically speaking even Pong beats most modern games with its pure analog zero-latency input, sounds and minimalistic simplicity, and this is one reason why it has been such an enduring icon of gaming.
Here are some ideas and ways of thought that might help guide you to expand your aesthetic side – it is basically a list of my thinking processes:
- The proof of the pudding is in the details. Be fussier with what you are doing, imagine you are some master chef and you are preparing a meal for the King… is what you are making pleasing enough? Are you good enough to be serving the King?
- Don’t fire and forget. For some feature of the game you should consider yourself an equal partner with whoever is also dealing with the same feature, be it an artist or a designer, or whomever. Taking responsibility automatically causes your internal quality/aesthetic control to kick in.
- Stand back and take a good look at what you are doing from time to time; get perspective. You may think something is aesthetically acceptable but sometimes (if not always) your own judgement will get clouded by your proximity. Being able to think in a more abstract distant fashion like this gets easier with old age but you should at least try to see yourself and your work from others’ eyes.
- Don’t be afraid to be fussy with others (but not in an argumentative way!). An atmosphere where everyone is trying to attain a goal of increased aesthetic quality is good, especially if people understand that ultimately it is aesthetics that drive everything in the decision process.
- Quite often during the course of tuning and discovering aesthetic features you’ll discover you didn’t need other planned features in the game. So, tackle the aesthetics first! let them drive your work, let them drive you.
- Learn to notice and spot the smallest details and problems in the game (and in other games). Train your mind in observation, nothing is too small to not be noticed.
In the programming world there are so many arguments, DoD vs OO, Assembly/C vs higher languages, etc., but at the end of the day none of that matters as much as you’d think considering how hot and flustered everyone gets (the arguments all flip before you know it anyway) and as long as the resulting engine or system enables you and the people around you to exercise yours and theirs most fussy, anal, obsessive compulsive, aesthetic-driven tendencies with the minimal amount of hassle, then you will at least have opened up the possibility to make true works of art that inspire people.
Dylan Cuthbert runs Q-Games Ltd, in Kyoto Japan, most famous for the PixelJunk series of games on PSN, their work on the PS3′s XMB and music visualizers, and their close partnership with Nintendo on a number of projects.