Posts Tagged ‘game industry’

Mid-week update

2009/04/22

A few things have caught my attention the past couple of weeks.  First off congratulations IndustryBroadcast.com for reaching 100 podcasts recorded.  Good choice for the centenary too – Daniel Cook’s “What is your Game Design Style” article.

Part Time Gamers” is another good podcast discussing playing games from a part-time gamer perspective.  The presenters work in the game industry but like many of us have many taxes on their spare time.  Decently produced and great conversation – they seem to be off to a good start and they are looking for comments and participants. 

A Life Well Wasted – another downloadable series about gamers and the industry is so well done that it wouldn’t sound out of place on BBC Radio.  It is due another episode but had been delayed for about a week.  The site is also looking for contributions from people working in the industry to show the human side, kicking off with this photographic article about Eskil Steenberg, creator of the game  “Love”.

I was not happy with my draft of the article I was planning to post on the weekend so will revisit it over this coming weekend.  With any luck the sunshine will continue and I will be able to work on it in the garden. 🙂

A final note; has anyone played “Uno Rush”?  It is not Uno as you know it – it is fast paced cross between Snap and Uno with some actual skill to it.  Everyone sees each others cards so it can played locally, which is lots of fun (although draining!)  Anyway if you like the demo and end up getting it perhaps I’ll see you online. 🙂

Podcasts – a great way to absorb extra info

2009/02/15

Podcasts are audio recordings usually in mp3 format that often specialise in a particular niche.  If you commute, work out to music, or are at a loose end during a long build you might consider listening to one of these shows.

I subscribe to quite a few podcasts via google reader (my rss client of choice) – though the term podcast itself has iPod heritage so iTunes is also often used as a delivery mechanism.

I have listed a few of my favourite podcasts below.  Please comment and recommend any podcasts you listen too that I might be missing out on. 🙂

Game & Software Development

Industry Broadcast This is an excellent idea; the best game developer blog articles read out for your convenience
Platform Biased Behind the scenes info from Redmond
Hansel Minutes Technological discussion, usually focusing on .Net related technologies

Career

Career Tools Solid advice about how to improve your career prospects
Manager Tools Management tips in plain language.  Even if you are not a manager it can make you think about what you are like as an employee to manage 😉
Manager Tools (Basics) I’ve been listening to these guys for years and they refer to concepts introduced in older shows… these are the foundation podcasts

Music

The C64 Take Away Great remixes and sid tunes from the C64
The Roadhouse Signed and unsigned blues artists
The Raven and the Blues Signed and unsigned blues and blues inspired artists

Gaming

Major Nelson Xbox 360 celebrity often interviews developers and reports sales figures – amongst other things.
OXM Podcast Pretty good 360 podcast from some of the guys behind the American edition of Official Xbox Magazine

Book review: Practices of an Agile Developer

2009/02/08

A couple of weeks ago I was in Southampton and the Borders there was having a sale on all computer books… so I picked up “Practices of an Agile Developer” by Venkat Subramaniam and Andy Hunt.  Before I discuss the book I am going to go in to a little background.

One of my annual commitments I made back in October 2008 for 2009 was to learn about Agile practices… partially motivated by already being enrolled in a course that I’m taking next week.  I have been interested in these practices for quite some time though so this book is not my first exposure to agile thinking.  Before I left Ds Ltd for Lionhead Studios just over two years ago I had already co-authored an internal standards and practices document that encouraged various agile practices.

During university and the first year as a full time developer I was way more interested in learning some C++ tricks and a then newfangled language called C# that the management were for whatever reason excited about ;).  It is very easy as a developer to neglect the soft skills when there are cool new programming things to learn.

At university we were taught things like the Waterfall model, PRINCE and ISO 9000 accreditation – and whereas these things are important they do create a lot of paperwork.  ISO 9000 for example can fantastically document a horrific failure.  Things like “requests for change” that had to be signed off by more than one person are there to chain a customer to their original requirements.  GANNT charts created by MS Project used to make pretty diagrams that end up being a work of fiction because of unexpected bumps along the way.  It felt like setting up ways to assign blame for what goes wrong rather than concentrating on working together for a solution.  You get requirements, develop the software for a while, then hand it back.  It was contract negotiation over customer collaboration. Knowledge of these management principles is important so that you can make informed choices and discussions later on – but you will find every company has their own twist on the above anyway (the twist at university was everything was so literal and to the letter).

Other soft skills taught at university like uml, data flow diagramming, crc cards, database modelling are immediately useful in the real word for a graduate developer.  Sometimes these things are taught in a way that divorces them from the code too much; design everything first, code everything using the design later. This again isn’t the best way in practice (though probably a good way to create an assignment marking scheme).  While it is important to design up front, going in to too much depth lends itself to over-engineering. For example, classes created where properties would do, usage of patterns adding needless complexity to a solution, another layer of abstraction to solve a problem, “is-a” being taken too literally when applied to inheritance in class designs, etc.

So what better way to stop yourself wasting time and creating software that doesn’t please your users (or even get finished) than to read about other people’s experience first and not make the same mistakes?

“Practices of an Agile Developer” is a decent book that is all about how to be a positive influence on those around you no matter the position you hold.  It holds extra value for managers, producers and those that are in a position to lead from the top of course – but there are many things you can do on a personal level suggested in the book.  Committing to some of the things it suggests has the potential to make you more effective, and perhaps your work day more pleasant.

The book itself is quite short, but that is reflected in the price and concise style.  A chapter concentrates on a specific area of agility skills that is broken in to sections describing individual techniques.  Each technique is documented with a clear structure – identify a good and bad practice (represented by an angel and devil next to a box-out), then a personal experience from the authors and to finish off clear bulleted list of things to do.  The solutions at the end are particularly interesting in that they are always clear that taking the suggested practice too far can often be as harmful as not doing it at all.  Each technique also has “what it feels like” heading which describes the agility pay off when it has been applied in a balanced way.

The authors balanced, non-fanatical standpoint is much easier to digest than other books I have come across.  Ruby is mentioned a few times in a very rosy light, but considering the authors have close ties to the language you can let that pass.  The book does often refer to other books in the pragmatic programmers series which almost seems like advertising – though by not repeating other books it does mean the book keeps a tight communication and personal practice focus.

The first book in the pragmatic programmer series I brought was “Ship it!: A Practical Guide to Successful Software Projects” back in 2005 – which concentrates more on the practical detail of setting up a good production environment and development pipeline than team and customer relationships.  It is another insightful book full of practical examples of how to get things done – I have not read it front-to-back for a while but I may review it in the future.

“Practices of an Agile Developer” is a pragmatic look at practices that have been proven to work in the field.  It is a management book written for developers by developers.  Primarily I would recommend the book to students that aren’t quite getting the connection between modelling, code, and time management.  As for anyone else a bit more experienced  it is a good introduction to agile practices that isn’t terribly preachy – and does not smell of Power Point.

 

“Practices of an Agile Developer”

by Venkat Subramaniam and Andy Hunt

Buy from amazon.com

Buy from amazon.co.uk

“Ship it!: A Practical Guide to Successful Software Projects”

by Jared Richardson and William Gwaltney

Buy from amazon.com Buy from amazon.co.uk

 

P.S. Anyone have any requests for a subject you would like me to write about?  Anything sensible that doesn’t break my NDA will be considered 🙂

Career in the Game Industry

2009/02/01

I have read a few blogs recently about the industry, how the authors got in and what they think about what is going on right now… I figured I would add my voice to the discussion.  The news is full of stories about so many closures and layoffs everywhere and the games industry is not immune.  Studios are shedding jobs through publishing deals falling through, bills not being paid or a change of focus and direction.  I am acutely aware of how fortunate I am being employed in times like these.

Some companies are quite well known for a high level of churn, especially during the final stages of shipping a game and straight after.  Some of this is natural – people leaving for new opportunities of their own choice and looking for a change or promotion.  Others have contracts that are due to end and do not get renewed – where as this is difficult for the employee at least it is predictable and they can look for work in advance and perhaps have a financial plan in place.  Salaried employees not expecting the chop, contracts terminated prematurely… those people have it the worst.

When you are unexpectedly on the job market, there are all kind of pressures that wouldn’t exist if the move was your choice – least of which might be competition for a position with a former colleague.  Staff with experience are harder to come by though, and job descriptions for all but the most junior positions seem to expect it.  Some programming jobs do put game industry experience down to preferred rather than required.

A high rate of churn means many transient candidates in the recruitment talent pool – it is probably easier to get hired elsewhere at a higher level than to get internally promoted at many companies.  Indeed for an open senior position, it may make sense to hire someone from outside because they are proven in the role or because the company has money for the new hire-possibly due to this coming from a different budget from the promotions budget.  The company knows that they have someone in the wings capable of the title, but may not be likely to reward that position or money to the individual in question while they are content to stay in their current role.

I have only been in the game industry for just over two years – I came over from the business/government software sector where I had worked my way up to being the lead programmer on a few products.  Ever since I was a little kid I had always wanted a credit on a game, so I did not pass up the opportunity to move in to the industry when it came up.  I’m proud to say I have achieved that ambition – not just on any game – but a successful game.  I worked on a bug here and there for Fable II, but my aptitude and experience from my previous life meant I was employed as part of the tools team.  Working on the tools team might not be a glamorous part of the process, but it still can be very rewarding.  Your customers are internal and you can immediately see when you improve their day.

As far as career structure goes – I think many software engineering roles in games or business software sometimes require you to jump ship and move around from time to time.  Indeed some of the most senior people at Lionhead have moved around pretty frequently before settling there.

People who have left Lionhead tend to do well – a “standard” programmer left recently to become a technical director elsewhere – quite the career leap.    The Media Molecule guys are also prime examples of excellent alumni – setting up their own company and publishing a game that garners so much critical acclaim is an impressive feat.

Owning or being a partner in a company is something I see for myself in the long term future.  Having your own future in your hands is appealing because although there is relative safety working for someone else responsible for you getting paid – it does not stop a decision high up in the chain of command resulting in your job position being eliminated.

I do not want to leave Lionhead anytime soon though – I feel I have much more to give to the studio – the skills and experience I have are uncommon in the games industry.

For those wanting to get in to the industry despite how turbulent it seems to be – my advice would be to pick something to specialise in and be able to demonstrate it in some way.  For students, remember that university is a game itself – where often the grade is the first thing people notice, then the subject and the institution it came from.

When you are starting your university programme, think seriously about what goals you hope to achieve from your course. What are your strongest skills? What skills do you feel you have the most potential to develop? What are your biggest weaknesses? Make sure you choose a mixture of options which help you to maximise your strengths, develop the areas you know will benefit you the most, and challenge the weaknesses without destroying your final grade.

Do not over commit yourself trying to face subjects addressing the areas where you are least capable – keep this in mind especially in the final year when choosing your dissertation / final year project – there are going to be many pressures on your time.  While it is important to build those areas up, it is just as vital to be the best you can possibly be at the things that come more easily to you.

It is important to dedicate personal time to build up your own portfolio so you have something to show other than university course work.  As for picking the degree itself – if you are a programmer a games degree might not necessarily be the best thing – a good computer science / math degree plus being able to show your own side projects might put you in an even stronger position.  A traditional degree adds flexibility to your career too… if the games thing does not work out you have a good basis for plan B.  Just as I have made the leap over to games, I have known some game developers that have migrated over to business and banking software.

If you cannot get in to the games industry straight after university do not despair – just make sure you are working in something where the skills might be transferrable in to the game industry and get some experience under your belt.  It is very important to get real life experience because even the best university course is still academic and reality is often a little different.   Besides, a really good, open minded studio might later see something in you that they want :0)

Every day I come in to work I see something new and inspiring – and to be in the company of such talented and visionary people is an honour.  Being here and learning from those around me is good for my future, and no doubt will open up opportunities for me later on in my career.

Lionhead is hiring… apply via me if you are interested 🙂