Community

New Host, New Site

I’ve moved, to a site powered by Medium

This site will be around for maybe another 9 months, but after that it’s going to close down and nothing new will be posted here in the mean time.

Hopefully I’ll see you in my new place 🙂

 

Git Workflow Presentation – Intel Buzz Workshop

I travelled to Stockholm this week to deliver a presentation about our Git workflow on Sonic Dash. Originally I was asked to do a talk about the process of converting Sonic Dash to intel based chip sets, but since that would take all of 3 minutes, I worked it into a talk about how we work in general.

The link is possibly tenuous, but at least they had some baring on each other!

Anyway here’s the presentation

Why Ukie Cannot Represent Me

I posted the following off-hand comments on Twitter today

I got a few replies but the following stood out

So, replying to those with anything less than 140 characters wouldn’t give enough respect to their questions (especially Jo Twist’s), so I thought I’d answer it here instead.

It’s a Trade Association

It is, it says so on it’s website

Ukie, pronouced you-key, (UK Interactive Entertainment) is the only trade body for the UK’s wider games and interactive entertainment industry.

(FYI – I’ve never understood the difference between TIGA and Ukie with that statement but that’s another thought line…)

But, Ukie positions itself as a body that is also there to support developers, as covered in it’s vision and mission statement says

To make the UK the best place to develop and publish games and interactive entertainment. Our mission is to support, grow and promote the UK games industry.

Why does this refer to developers? Because you can’t create the best place to develop games without it being a good industry for developers to work in.

But also, their sub group

Developer Sub Group – Chair Ella Romanos, CEO, Remode

The developer sub group aims to support all developers within the Ukie membership, in particular the smaller studios. The purpose is to ensure that developers are able to find out what Ukie can do to help them, provide an easy way for developers to make suggestions on things that would be useful and give feedback on available services.

So yes, they are a trade body, but they do explicitly position themselves to support developers within the industry, so you could say it is actually part of their remit.

Who Could Represent Me?

I’m a salaried developer – I go to work, I do a job for someone else, I get paid, I go home and luckily I love it. There are a lot of people like me in the industry, we probably make up the vast majority of the industry that we work in (though looking at the press you’d think not).

So looking at the make up of the board (which is quite difficult because people hold various positions)

  • 9 Directors
  • 3 CEOs
  • 1 COO
  • 3 Vice Presidents
  • 1 Chairman
  • 1 Investor (not really sure about this one)
  • 1 Lead Programmer

So who best represents me? Me, of course, but failing that (more on that later) someone who does a job like me and who, through simple positioning within the workforce, doesn’t share the same concerns as those people running and founding companies in the UK.

Now looking at the prospective board members for the recent election, there actually were a couple of people who would fit that bill

Well, one actually.

So why were there not more, why was it not a wider field. Very difficult for me to answer, but I’d hazard a guess that the majority of the rank and file in the industry either don’t interact with Ukie or didn’t think they’d stand a chance against some of the industries heavyweights.

So Why Not Me?

I stood for election recently, on my local Parish Council, and it was hard work. I didn’t win (came 3rd if you’re interested, which I was immensely proud of) and I’m still thinking about standing next May when the entire council is up for election. I also do a lot of work outside of work hours, and weekends are taken up with family since I don’t see them much during the week.

So my main reason – I simply don’t have the time I think is needed to fulfil the duties of the board.

But of course I do have time for off-handed comments on Twitter…

Why Do I Care?

Why do I care enough to write this post, and why did I care enough to post on Twitter in the first place?

Well, the second point is easy enough, posting on Twitter is easy, you don’t have to care too much to make a point on there but it was one I wanted to make.

As for the first point…

Right now, and I’m being honest, it’s probably not a problem as Ukie do good work within the industry, supporting developers through free courses, community and educational support, company initiatives that will hopefully trickle down to the rank and file, and their sub groups. But long term, it’s a sure fire way to run into conflict.

Ukie is a trade body, managed by company executives who have a right and duty to look after their companies and their shareholders (where they exist). At some point in the future, as with every industry that has ever existed, there will be issues where the solutions contradict each other depending on which side of the coin you happen to fall.

Without people on the board that actually represent them, that contradiction will inevitably fall on the side of the company at the expense of the workers. So while Ukie does offer support for developers at the moment, that net could be taken away at any point in the future without the possibility of another safety net being there in place.

The Solution

There are two solutions that I can see

  • A more representative board that covers both sides of the coin, and makes sure the organisation is guaranteed to fight for the betterment of the industry rather than the betterment of the companies within the industry.
  • A developers union

Personally, I would prefer to see the foundation of a Developers Union, the effective counterbalance of a union and a trade body has shown to be highly effective over the course of history (though depending who you are, you might actually see it as highly disruptive). A more representative board would bring balance, but would contradict the main reason for Ukie existing in the first place.

And no, I’m not about to found a union. The kind of individual needed for that is someone with an incredibly strong sense of self, charisma off the charts and skin as thick as a Rhino. I’m pretty sure I have none of those.

Though I’d happily be that persons Josh Lyman to his Jed Bartlet!

Accu 2014 Conference Notes

I had the chance to go to ACCU 2014 the other week (full conference schedule is here) and I have to say it was one of the best conferences I’ve had the pleasure to attend. And while it did confirm my idea that C++ is getting the point of saturation and ridiculous excess (C++11 was needed, as a result so was C++14, but C++17… Just use a more suitable language if these are the features you need), the talks I went to, on the whole, we’re great.

So I thought I may as well post up the notes I made from each talk – and while they might be a bit of a brain dump of the time, if there’s something that sparks your interest, I’m sure the full presentations will be posted up at some point soon.

 

Get Archaeology
Charles Bailey, Bloomberg LP

Interesting talk looking at some of the more esoteric ways of presenting and searching for information within an existing Git repository. Unfortunately, time was short so the speaker had to rush through the last part, which was, for me, the most relevant and interesting part.

Talk notes

 

Designing C++ Headers Best Practices
Alan Griffiths

For most experienced C++ developers the content of this talk is probably quite basic, as you’d have a large portion of this covered already through sheer trial and error over the years. But clarifying some good practices and interesting side effects was enjoyable.

Talk notes

 

Version Control – Patterns and Practices
Chris Oldwood, chrisoldwood.blogspot.com

Highlevel overview of the various patterns we use when using version control (focused mostly on DVC), some useful examples and some interesting discussion about trust issues…

Talk notes

 

Performance Choices
Dietmar Kuhl, Bloomberg LP

Proof that if you want to know about optimisation and performance, stick to asking people in the games industry.

I’m not posting these notes.

 

Crafting More Effective Technical Presentation
Dirk Haun, http://www.themobilepresenter.com

Really good presentation on how to craft good presentations – some interesting discussions on the make up of the human brain, why certain techniques work and why the vast majority of technical talks (or just talks in general to be honest) do what they do.

Talk notes

 

The Evolution of Good Code
Arjan van Leeuwen, Opera Software

Great talk, not telling us what good code is, but examining a few in-vougue books over the last decade to see where they sit on various contentious topics. Note that when the notes say “no-one argued for/against” it’s just referencing the books being discussed!

Talk notes

 

Software Quality Dashboard for Agile Teams
Alexander Bogush

Brilliant talk about the various metrics Alexander uses to measure the quality of their code base. If you’re sick of agile, don’t let the title put you off, this is valuable reading regardless of your development methodology.

Talk notes

 

Automated Test Hell (or There and Back Again)
Wojciech Seiga, JIRA product manager

Another great talk, this time discussing how the JIRA team took a (very) legacy project with a (very) large and fragile test structure into something much more suitable to quick iteration and testing. When someone says some of their tests took 8 days to complete, you have to wonder how they didn’t just throw it all away!

Talk notes

 

Why Agile Doesn’t Scale – and what you can do about it
Dan North, http://dannorth.net

Interesting talk, arguing that Agile is simply not designed to, nor was it ever imaged to, be a scalable development methodology (where scale is defined as bigger teams and wider problems). Excellently covered why and how agile adoption fails and how this can be avoided to the point where agile principles can be used on much larger and less flexible teams.

Talk notes

 

Biggest Mistakes in C++11
Nicolai M Josuttis, IT-communications.com

Entertaining talk where Nicolai, a member of the C++ Standard Committee library working group, covers various features of C++11 that simply didn’t work or shouldn’t have been included in the standard. When it gets to the point that Standard Committee members in the audience are arguing about how something should or does work, you know they’ve taken it to far.

Talk notes

 

Everything You Ever Wanted to Know About Move Semantics (and then some…)
Howard Hinnant, Ripple Labs

Detailed talk on move semantics which are never as complicated as they (and even the speaker was) are made out to seem. There’s some dumb issues, which seem to be increasing as the C++ standards committee don’t seem to understand the scale of the changes being made, but never-the-less it was a good overview of what is a key improvement to C++.

Talk notes

The IGDA Is Not For Me And (Probably) You

The IGDA is having a rough time at the moment. The statements regarding 60+ hour work weeks by Mike Capps of Epic, the recent revelations regarding Tim Langdell and his aggressive (and often dubious) use and enforcement of his EDGE Trade Mark and the responses on this from Tom Buscaglia have done nothing to make the IGDA shine.

But these issues (and I’m sure others) are not the reason for this post, instead I wanted to talk about why, even if these issues were not sticking in the headlines, I don’t think the IGDA is an organisation that can support me and stand up for my rights, and the rights of my colleagues across the globe.

An International Organisation

Having an umbrella organisation, covering the needs of developers across the world sounds great. We are still a relatively small industry and you would think small enough that one group could speak for us all. But the games industry is a global industry, not a national one. The needs and requirements of a game developer in the US are vastly different from the needs of one in the EU. Lobbying for change, whether that be at government or company level, is hard enough when you are in one country, with one set of regulations and one set of work ethics. But to expect one organisation to cover all bases, for all developers is expecting too much and it is bound to start catering for one group over another. Even within the EU there are vast differences between what is legally allowed, what is expected and even developers work ethics and personal requirements can change from country to country or even state to state.

How many members of the IGDA Board do not live and work in the US? While it is possible for developers outside of the US to stand in elections and get voted in, how practical would that be? How often are meetings conducted outside of the States and with such vast time differences even remote conferencing can be difficult?

While it shows good judgement on the part of the IGDA that it has legal representation/advice in the form of ‘The Game Attorney’ Tom Buscaglia, the law from one country to another can be vastly different, or even worse subtle in the extreme. Tom can help the IGDA, but only in the US, and this is shown in some of the documents coming out of the Quality of Life SIG group.

TIGA (The Independent Game Developers Association) is a UK organisation that was formed to fight for the Games Industry in the UK, and is even making tentative steps into the EU. Even though it is an organisation whose main aim is to lobby the government, they are still fighting for change at different levels. It has a hard enough job doing this within one country, let alone within the EU. Expand this to include the US or Asia and the difficultly level doesn’t just start to increase, it becomes a brick wall.

Change always happens slowly, and it always starts with small steps. National industries need their own organisations, with their own members working for change in their area. There is obviously nothing stopping these organisations working together for the greater good of the global industry, in fact I would hope this would be the case. But smaller organisations, working on smaller scale change for their members is the only way to eventually get the wide spread changes that people seem to want.

Directors, Owners and Other Important People

The games industry is one headed up by CEO’s, company directors and financial movers. When awards are given, when technology is showcased or when magazine interviews take place, it’s nearly always the company owners, VP’s or directors that are on the front line. There is obviously nothing wrong with this and it is the way many industries are run as these are the stars, the well known people who the public are already familiar with. But look at the make-up of the IGDA board and you will see that these people are also responsible for their own companies or their own specific areas. And the IGDA think tanks and round-tables that are also headed up by people carrying out these duties on a day to day basis.

Whether we like it or not, companies are there to make money. The people leading these companies, on the whole, want to make a profit and they want the company to keep making a profit. And so do we, because a company in profit is a company which can continue to employ developers and continue developing games. Sometimes (and not always but sometimes) the needs of the rank and file conflict with the needs of the company. For an organisation that stands up for the industry’s wellbeing (and you would assume this means the people on the shop floor) it needs to be driven, and led, by people who do the work, or who’s only driving goal is the welfare of these developers. Being led by those who also heap-up the companies we work for, or having think tanks and discussions led by those who’s goals may be different to the people it represents will only lead to conflict. This is the reason why 60 hour work weeks are seriously being discussed rather than being instantly shot down by everyone present.

Taking an organisation I used to be a member of, the NUT (National Union of Teachers in the UK), as an example. It would be beyond comprehension for this Union (yes, I used the word Union…) to be headed by a group of Head Teachers or Government officials. It simply would not be able to function in a way that would benefit its members, and neither can the IGDA. This is the way an industry ‘rank and file’ organisation should be structured. Lead by those people working on the shop floor, those people that have relevant and recent experience of what it is like working in the games industry and being an actual games developer. Granted the NUT is probably a step to far for most, and I may even agree, but it puts a point across in a very obvious and clear manner.

To Wide a Scope

Future developers are probably still at college. Some of them may still be in school or about to graduate from University. Some of them will be on Games’ Degrees, traditional degrees or something totally outside the scope of what we see as a ‘requirement’. Either way, the people who will be coming into our industry over the next few years should be supported and we should ensure that whatever path they take they will have the skills, or access to the right information, to allow them to find and get through the industries door.

But this doesn’t mean they should be members of a Game Developers Association.

An association working for a group of people needs to be focused on those people. Work or special interest groups can look out for, lobby and support areas outside of its immediate scope, but as soon as you have paid or associated members you become responsible for their development and required to work for them and anyone else who has paid their dues (whether that is paid membership or any other type of membership requirement).

One thing the IGDA is good at is releasing its findings to the wider public. This is great, because it gives those people who are not members the opportunity to see how the organisation is working, what its goals are and how well it is doing meeting them. There is nothing stopping these findings being available in a more national organisation, available to students, people looking to get into the industry and anyone else who is interested. In fact doing this can help your cause as people who would otherwise not know that work was being done in certain areas can become involved in their own way.

But first and foremost, the main focus of a Game Developers Association should be those people working on and developing on the shop floor.

Local Chapters

Local Chapters are one of the saving graces of the IGDA and the IGDA brand. Having groups named after the IGDA across the globe, ideally encompassing nearly every development house out there is a great idea, allowing them to work together, access shared resources and drive the industry forward in their local area. It’s also a great way to get people involved as you have Chapter Forums (though my local forum seems remarkably quiet) and excellent chapters like London or Boston can really make a name for themselves. But the question remains – does the IGDA name lend enough credence to a chapter that not being associated with the IGDA would make the chapter either irrelevant or short-lived?

The Boston Chapter proves this isn’t the case, being a group already in existence before it became associated with the IGDA. The Midlands Chapter could quite easily be called the West Midlands Game Developer Association and with the same push people would still attend. The only issue I would see with this is sponsorship of events, as it may be easier to gain sponsorship to run or start a Chapter if it’s based on others already in existence.

But if there was a national association, working together with other organisations, and the chapters were based under that, you would be in the same situation of having named chapters working at a more local level. You could even say that if there was a more national, more local and more focused group of developers, more people would be willing to get involved, attend these events and make a difference.

Final Thoughts?

The IGDA is not a bad organisation. There are some questionable messages (both directly and indirectly) coming from the group and sometimes directly from the board, but on the whole the IGDA is full of hard working, honest people who really do want to work for the betterment of the games industry. Unfortunately, I think the time has come to accept that a global group, primarily based in one country, is not an organisation that can work for everyone. America, Europe and the massive industries in Asia simply cannot be grouped under one banner and one common goal.

But the ideas of the IGDA can be taken forward by more local, more focused groups, and by allowing these groups to work for the betterment of their local industry, and to work together for the good of the industry as a whole, we can have a group that works for people on the shop floor without causing the conflict and issues that a group like the IGDA is bound to encounter.

The points raised here are what I see, as a developer working in the UK, as the main reasons why the IGDA is not for me. Depending on your location, your current situation and previous experience, you may have different opinions, both for or against the IGDA. But we can only move forward if people are willing to discuss the issues we have, as an industry both nationally and globally, without the need to ‘close ranks’ and focus on one particular area or one particular issue. Hopefully this post can go someway to being involved in that.

Title image by Jsd_Quas0

Industry Broadcast Reaches 100

This is just a quick shout of congratulations to Ryan Wiancko for hitting 100 articles on Industry Broadcast.

If you haven’t visited IB before, then I would seriously recommend going over there and having a look at what’s on offer, or subscribing via iTunes. There’s some great content on there, whether you are a programmer, designer, artist or play any other role in this great industry.

Industry Broadcast

Ryan Wiancko approached me a week or so ago with a view to putting some of my Articles on IndustryBroadcast.com, a site which provides audio versions of popular blog posts written by members of the Games Industry community.

I think the idea of Industry Broadcast is fantastic, especially as I look around an office that is filled with people wearing headphones while they work or who have long drives to work.  You can listen or download the audio casts from the website or you can subscribe in iTunes.

There is some great content on there and I’m honoured to be included in a list that includes people like Clinton Keith, Jamie Fristrom and Noel Llopis.

You can find my articles here, so head over to IndustryBroadcast.com, download the files and give them a listen.