Merry Christmas everyone!
Further ‘Indie Studios’ questions
A follow up to the previous posts here and here.
This time the questions are from Alex Champandard, owner of AiGameDev (http://aigamedev.com/) a truly brilliant site for anything to do with AI in Games. We’re big fans of the site and were proud to be bronze sponsor for their Paris Conference earlier in the year.
How many of the skills that you need to run FDL have you built up while running FDL? Which came the most easily and which was the hardest?
I think the easy answer is all of them to be honest – previously I worked in a joint lead / senior programmer (with some production!) role so the running of a business and the business development side was fairly new to me. I’d done some project pitches before and had been exposed to some of the financial side of things but that was it.
When we started FDL we believed it was important to understand everything we were going to delegate (either externally to experts / consultants or internally to other employees).
This meant we quickly built up an understanding of accounts, bookkeeping, taxation, contracts, negotiation as well as things like health & safety and employment law. I’ve also had to develop further in terms of business development, networking and working with clients.
Personally I didn’t really find anything particularly hard it was more case of how much time it took up performing particular administration processes as either I was being extra careful with things or having to triple check things myself or with other people.
Have you taken courses, read books, listened to audio programs to help develop the skills you needed? Which would you recommend the most?
Before we set up the company I got hold of all the books / audiobooks covering small businesses that I could (especially books on Micro-ISVs and general software consultancies – as not many game developers spoke about running a business when we started). I also read all the forums and articles I could find covering the accounts, taxation, contracts and other areas – taking it all with a pinch of salt but storing it up for later.
This approach of absorbing information from a large amount of sources and then distilling the applicable information by seeing what made sense when we were working on things in practice.
We also had some great advice from friends in the industry and from some of our advisers in the administration aspects of things.
There seems to be a lot more information around now in terms of running a micro studio (which is what most people are interested in).
How often, do you have the time to take a step back and think about yourself or the company in a very strategic fashion?
Not as much time as I’d have liked sometimes in the past especially when heavily involved in the development and production process of an on-going project. This is the main reason a lot of companies our size have gotten stuck in a pure work-for-hire loop in the past I believe.
We have improved in this regard and this has become part of other monthly business reviews.
Do you give out bonuses? Have you considered profit & risk sharing on certain projects with your contractors or staff?
Yes we try to do as much as we can in both regards. We’ve had a tough couple of years due to a few clients going bust and a few products not performing quite as well as we wanted but we still try to pay out bonuses when we can. As we’ve developed as a company and tried to do more of our own projects using bonuses is safer for the longer term future of the company than offering unrealistic salaries (without taking on extra risk or needing additional financing to cover between projects). I think the fact we’re coming up to 6 years in business shows that things are working well.
We do already have profit sharing agreements with contractors and have a few titles out in 2011 with one of our long-term artist contractors, likewise some of our internal team have a profit share in our projects. We plan to continue these sort of arrangements as it’s great for everyone and very exciting in terms of the slightly bigger risks we can take.
We’re not a big (or even medium!) corporate so we’re keen to look after the team as best we can and ensure that everyone is happy within the company.
How do you hire in general, not just artists? Do you find it more difficult to convince recruits to work for FDL over a bigger studio or publisher?
We get quite a lot of job applications just through the fact we’ve been around a while and are linked on quite a few sites as a developer. We also occasionally post on games development forums when we’re looking for developers
We tend to grow our full-time internal staff fairly slowly so we’ve not actually encountered many problems, the main form of temporary expansion for us comes from short to medium term contractors (and normally ones we’ve worked with in the past – in 2008 we had on average 15 people working for us including contractors) where as long as the project is interesting enough and the contract terms suit them in terms of length and rate then everyone is generally happy.
This upcoming year we’re looking to expand further and we’ll perhaps be seeing how much things have changed!
Thanks for the great questions Alex!
#iDevBlogADay – good bye for now
This is going to be my last post on the Saturday iDevBlogADay slot, I’m going to let one of the many patient people on the waiting list take over.
I’ve really enjoyed writing the weekly blog posts, hats off to @mysterycoconut for some great organisation and hardwork behind the scenes on it. I have never really blogged at all before and though it’s taken a bit longer than I originally intended per post it’s been a great experience!
I plan to request being added to the waiting list again and I aim to do a few more regular updates here so please perform one (or all) of the following to keep up with our latest news and posts.
Things we’ve been enjoying this week
We’re in crazy pre-Holiday mode at Four Door Lemon right now, we’ve got a couple of exciting things to mention before getting onto the post!
- QuizQuizQuiz our popular trivia app is currently FREE for the rest of the weekend – please download it now and tell your friends
- Also Cricket Captain which is the source of the research for this article was approved tonight and is now available – if you like Cricket this is the management game to have – including 3d highlights and a great simulation engine.
I’ve worked on pretty much every game platform compiler setup in my time in the industry, for some platforms that actually covers working with 3-4 different variations while the teams found the best code generation for their device.
There are always discussions between developers on what *the* best set of compiler flags are to use for optimum speed of your game (which other than executable size for the more RAM limited devices) is the main goal of development work. Normally the gains from tweaking with these can be very small but I remember features like LTCG on Xbox 1 being incredibly big in terms of the speed up.
We recently submitted Cricket Captain to the App Store and other than -O3 and -Os I didn’t actually do any testing on the various flags for the compilation, the game isn’t quite as optimised as I’d like it to be yet although it plays fine and the 3d highlights run at around 30fps – we will be improving this through actual coding work (and talking about the techniques used for this).
It seemed ideal to combine my investigation into the XCode GCC compilers optimisation flags with writing a blog post so I used Cricket Captain as the test sample.
So a couple of notes on the tests
- The random number generator has been forced to generate the same logic each run
- The game mode / teams are identical so the same logic will occur (I also verified the results came out the same)
- The phone was in the same state for all tests
- There will be some variance due to background processes most likely
- This isn’t intended to be super accurate but to see if we’d get a noticeable difference from changing these flags
- Our render and matrix library are compiled using -O3 into static libs and are not part of this test, I wanted to test it on game code on the basis that people would possibly not have access to middleware sourcecode.
Let’s have a look at the results
|Compiler / Flags
||5x Bowls time (ms)
||3x 3d highlights FPS average
|GCC -O1 Auto Vectorisation enabled
|GCC -O3 Auto Vectorisation enabled
|GCC -O3 FastFP
|GCC -O3 Compile for Thumb
|GCC (Max) -O3, Unroll Loops, Auto Vectorisation enabled, FastFP
Above we’re showing the flags that we tried, the total in milliseconds of the first 5 bowl calculations (this system actually runs through the movement and animation of all the fielders / batsman to calculate the actual output – note the first bowl is pretty slow in a game so is a fair part of this time possibly skewing results a little). The final column shows the average FPS across 3 3d highlights that last 5.5 – 8 seconds each.
For both tests we see that -O1 with auto vectorisation comes out on top, the values however are very close and the -O3 we shipped with was fairly good. The biggest surprise for me was that compile for thumb didn’t produce shocking results, I’m not really sure if that can be correct? As mentioned above our middleware was still in ARM so we’re not paying a penalty for it on some of the heavy lifting code.
In summary though there isn’t a huge difference between the flags and as I originally thought it’s probably not worth a huge amount of optimisation.
I have however been playing with the LLVM – GCC compiler in XCode 4 and despite a few issues getting 4.2.1 debugging to work correctly with it got the same tests done (running on the same device). LLVM – GCC uses the GCC frontend to parse source and the LLVM backend to optimise and generate the actual executable code. From what I read 33% performance increases were expected at runtime.
I did a couple of tests with various flags
|Compiler / Flags
||5x Bowls time (ms)
||3x 3d highlights FPS average
|LLVM -O3 AutoVec, Unroll Loops, LinkTimeOpt
|LLVM -Os AutoVec, Unroll Loops, LinkTimeOpt
|LLVM -Os AutoVec, Unroll Loops
Wow.. So that’s roughly twice as fast on the processing and a nice FPS / frametime boost. I imagine compiling our middleware with LLVM would result in even better speeds as that’s where the highlight time will be mainly going (which is partially hinted at by the fact that disabling link-time optimisation only changed the highlight speed).
After the GCC flag results I was worried about how interesting this post would be, the LLVM-GCC results are really exciting though and I think XCode 4 is something everyone will be looking forward to!
Things we’ve been enjoying this week
The previous Indie Studios post was quite popular and I certainly wanted to revisit the subject later on. While there is quite a bit information on setting up as a solo developer (producing their own games or as a freelancer) setting up a full team is certainly more involved (and risky) but it seems something people are interested in.
This won’t be the last of these posts so please feel free to mail / tweet with further queries.
Following the last post I had a couple of questions from Björn Knafla – a great guy I met in Paris at the Game AI Conference we sponsored and his work (and talks) are well worth following.
How do you decide who works on which active project?
Where possible we try to talk to the team to work out where their particular passion lies regarding the portfolio of projects (be it work-for-hire or our own) and use that to guide how we assign out tasks. More technical tasks don’t really require the person to ‘get’ a project quite as much and generally are project independent and so those are easier ones to assign to any of our team. We also use freelancers / short term contractors and we try to match up their previous projects and preferences with the work we have coming up.
This doesn’t always work out and certainly in the past on some of our football (soccer) related titles I’ve been the main football fan on the project and have to give a bit of guidance
As well as people being the best fit for projects obviously we also consider the skillsets of each person and previous experience needed for the tasks – the intention being to keep the same people on projects rather than spreading everyone thinly.
What’s the typical preparation time till projects start?
The majority of work-for-hire seem to be ‘can you start yesterday?’ despite people knowing about their requirements for several months when they could have given you warning! Whenever new projects are first discussed we bring it up in our weekly chat so that we can consider possible implications on technology decisions we’re currently making (or even in terms of research the team is currently doing). This acts as preparation of identifying the major risks and critical path of a project.
In terms of our own projects we’re getting quite good at having a clear design / pre-production phase to make sure we can mock-up and iron out issues early on.
How do you distribute tasks between the management team? (development versus administration)
Originally with my co-founder this was done in a pretty clear way of splitting business development / administration and internal development management work. We both performed coding work most days so always had a good handle on projects.
Nowadays I’m the only owner of the company so I’ve just developed a cunning alter-ego that takes care of each
How much time do you work per week?
This isn’t the best week to ask unfortunately as we’ve been busy finishing up a project and it’s involved longer days than usual for me. We’re very good with our office hours and everyone is in the office for around 8 hours between 9am and 6:30pm which means we can all communicate in person. Only recently have the rest of the team started accessing the network via VPN, previously it was just myself who would work out of hours. I normally did this so that I could perform production / biz dev tasks during the day and perform any coding tasks I had on active projects during the evening.
As a company we’ve paid overtime from day one which has been a major driver for us to be sensible and although people will put in the extra time at the end of the day to finish up tasks we don’t end up with people getting burnt out on overtime.
How do you find art contractors?
We’re lucky in having a few great local contractors we’ve worked with several times in the past and when you have a good relationship there is no need to change things. We get a constant supply of CVs and portfolios to be honest so we’re very fortunate to have a great set of people to choose to work with.
How do you handle the finance / tax situation of a small company?
We hired a good accountant early on who was able to advise us in these sort of matters, my wife helps out a lot in terms of the bookkeeping which is a weight off my shoulders as I used to always perform this myself early in the company’s life (it’s actually quite cathartic!). As much as using external help is important for legal and finance matters it’s irresponsible to not understand what it all means in my opinion which is why working through all of the processes is well worth doing. The only aspect we’ve outsourced from day one is payroll which is incredibly easy for us in terms of sending off information on salaries.
Are you able to ever not think about work?
Not really, but I love it
It’s a busy phase for us at the moment having just finished off another pre-Christmas submission and doing the marketing work for You Are The Umpire, I’m hoping to keep things up on the weekly blogging during the holidays however!
Things we’ve been enjoying this week
It’s been a busy week for us at Four Door Lemon, not helped at all by the UK failing to deal with a few inches of snow! Some of our team haven’t been able to get into the office and normal train / car journeys have taken around 5 times longer.
Despite that we’ve been busy working away on our top-secret projects as well as having another great trivia game hit the market.
The new app is You Are The Umpire another visual trivia game but this time around the wonderful international sport of Cricket, obviously it’s pretty good timing for us with the Ashes series going on in Australia right now and we’re looking forward to building on this and our You Are The Ref football products in the coming months.
A new release means an initial marketing push for us as a company on top of the normal work we do, we’re still fairly new to this side of things and from speaking to PR companies no one has a golden bullet to iOS marketing success even with a large budget.
I’d just like to talk about two small things we do that are part of the recommendations you see elsewhere but not really spoken about as much. I’m not claiming these are majorly successful techniques (as you probably know it’s very hard to trace the route of a sale on the App Store).
Google Alerts is a free service that sends you email notifications of new results based on specific search queries.
I’ve seen a few people in traditional marketing discuss Google Alerts for monitoring your brand, this is something we certainly do and we’re normally able to find people discussing our games on forums or on specific blogs. This also highlights us to people sharing copied versions of our games (though this looks like it may be a thing of the past as far as ‘casual pirates’ using Google to find copied apps ).
An interesting use we’ve been experimenting with though is to monitor terms for either similar games to our upcoming ones, genre specific terms or popular people relating to the game. This has allowed us to improve our targeted efforts in terms of blogs and forums as well as the sort of content that our potential users may be interested in.
It’s also interesting when you have alerts for things other than your games title specifically that you can spot topics of interest around your games genre or perhaps a big news item that you may not see for a few hours (or perhaps till you get home at the end of the day), this gives you an immediate opportunity to jump on it and either start discussing that particular issue on social channels like Twitter or to adjust your active adverts to take advantage of new search trends you predict.
This certainly isn’t new to people thinking about marketing their games however we’ve begun trying to map out influential users (not just celebrities) for our games. Attempting to go viral by posting up a few links and then forgetting about it is what normally happens but if you have actual very active and interesting users who are interested in your game then you can build upon their power over your potential users. This is very much like the big brands who are paying for random celebrities with huge amounts of followers to tweet their product but we indie developers have no money and tend to rely on the people we’re talking to liking the product and wanting to work with us instead
Also on Twitter we’ve been trying similar techniques to those mentioned on Google Alerts, again this is something we’re just starting with but we’re hoping we can build up more knowledge about how information spreads across twitter and how we can make our news more appealing to the viral spread.
Marketing link roundup
I’m going to list a few marketing links, if you regularly look for marketing tips you’ve possibly seen most of these before. There is however some great advice out there which if you can adjust and make it work for your team and product can be really successful.
- Various indie links including marketing
- A really good blog / talk by Kieron Gillen about using (and abusing!) gaming press.
- Good tips on building buzz
- Some repeat links from my list but some really great links to individual articles
- I saw this one get posted around a lot last year
- Notes from Kyle Gabler and Phil Fish’s talk at the Indie Games Summit at GDC.
- More of a higher level marketing plan but very relevant
- Wolfire are really great at keeping their community active and they’ve shared a few tips here
- A few repeat ideas but with more of an iPhone tint to things
iDevBlogADay had two great marketing related blogs this week, be sure to check them out
- In-app marketing and cross-promotion I believe is more important as you grow as a developer with multiple titles and this is something we’re wanting to improve at.
- A look at a few game features that encourage viral spreading of your game (while also offering value to the player)
Things we’ve been enjoying this week
- Not actually using the Kinect but with the same depth camera used in Kinect, these guys are able to walk around an area and in one pass get a fairly cool navigable point cloud. Looking round a home you’re looking to buy is going to work like this in the future
We’ve had a couple of great iDevBlogADay articles recently from Owen and Frederic about life as a solo indie developer and as a part-time indie developer. I decided for this weeks article to give the perspective of an indie studio and a few considerations versus being a solo (or group of remote partners) based developer.
First up a history lesson!
FDL started in July 2005 as two of us in a small rented office in the centre of Bradford, we started up with our own funds and some work-for-hire projects we were in discussions about. The goal was to build up enough funds and our own technology platform to then grow the company and develop our own games. Bear in mind the development world was a little different then without quite the digital distribution opportunities!
The work-for-hire side of things went on quite a lot longer than we wanted which is a story I hear a lot from both smaller and larger versions of developers like us, once you have money coming in and a good group of guys in the office you get into a cycle based around the (traditionally safe) contract work.
We got to work on a lot of different platforms and technologies however which was great experience for us as a company, covering PS2, PSP, PS3, Wii, DS, Symbian, PC and more as well as working on full MMO systems (front and backend), various interesting procedural techniques and game genres from FPS and racers to puzzle games.
Updating things to modern day we have a large office with 5 full-time programmers (we outsource all other work to mainly local contractors), lots of funky development kit (and some very comfy Aerons) just across the road from that first office we started in. Our work right now though has shifted a lot more to be based around our own projects or revenue share deals with other independent developers. We’re still working on some very cool work-for-hire projects across various platforms, our own work is generally mobile but will be moving across to other platforms very shortly.
So five and a half years later we’re getting to be where we wanted to be generating our own games and IP!
Issues / Considerations
A couple of things to discuss then, I’ll probably expand a bit further on this in a part 2 at some point but these are the things that immediately sprung to mind!
- We’ve got a great team in the office which gives everyone an opportunity to work on every area of each project, communication is quite simple in such a small team and we don’t have to consider the difficulties of being a remote team. The big issue with having full-time staff is of course the running cost, this is why getting into a cycle on contract work is so easy, having gaps between projects when profit margins on a previous contract have been eroded mean that you’re burning into cash reserves. Of course there is a trade off between this and being a solo producer / manager who hires contractors as needed in terms of cost but you lose the ability to build up an actual ‘team’. We’re attempting to grow our core team carefully and still work with external programmers as needed for projects. Costs of staff aren’t just salaries but also perks (free drinks, beers, meals, conference trips, games etc..) plus time for management to make sure things are ok with everyone.
- Offices are expensive, yes there are deals that you can get in some areas and if you don’t need a huge amount of space you can be a bit more careful. With the way we sometimes need to expand and in terms of providing plenty of room per person our office costs are quite high. We also took on an office immediately when we started the company, this is completely at odds with a modern indie studio who would likely be remote / work from coffee shops / one persons house and then when they get their first success (either in sales or contract) get an office. Rent/Rates are one thing but insurance, cleaning and in particular gas and electric costs that would be a shock to people setting up in an office I imagine!
- Development kits
- This is one of the advantages of being an actual established studio with an office, things are becoming a bit more flexible now but we do actually have a secure location to store equipment and the more restrictive hardware manufacturers don’t have issues giving us approval where they would have concerns over people working from home.
- Management overhead
- Paperwork.. Owen mentioned this in his ‘Indie Challenges’ post but a small company with employees is even worse, not to mention accounts and more complex legal matters. The best advise is of course to ensure you use professionals to help with all of this. Personally I still get more involved with all this kind of thing than I should but it is quite satisfying to understand the processes before delegating them too much!
- Larger / more projects
- To cover the burnrate of staff and offices larger projects (or a larger number of projects) are required to pay for it. This requires further management time and introduces extra risks for the company (in terms of projects going wrong or being cancelled due to circumstances out of your control or not). I’m not necessarily talking about contract work here, the ambitions of all of your products needs to be higher than it would be as a solo or remote working developer.
- On the flip side to this of course this does mean that you can be involved in some really interesting big projects that you and the team can get your teeth into.
Things we’ve been enjoying this week