Posts

Small Studio development choices – Astraware’s Cuboid Approach

cuboidblanksml

There’s always so much to do, so many new things we could work on! What do we choose next?

More importantly – how do we choose what to do next?

TL;DR : This is an article intended primarily for other developers who are in small studios, about making the best choices on where to focus their efforts. The answer is usually to spend time where it will make the greatest difference, rather than just choosing what’s most fun (well, duh!). Read on for more detail about that!

 

About our games in general

We have, like many developers after a while, a number of games all sharing a similar framework.  That means that an improvement to one, can be rolled out into the other games relatively easily, and maintainability (OS level fixes, new device support) is much easier too!

With that in mind, our choosing process is about where to put the next effort, to best get to a goal of making more revenue. (Got to support that tea and biscuit habit somehow!)

So, do we

  • Make a new game?
  • Work on features in an existing game?
  • Find and implement a new way to improve the monetisation across our games?
  • Work on ways to get more users to the game?

All of these are good options, so it’s about choosing the best.

 

Applying some metrics

Our collective revenue from games is ultimately determined by:

How many games we have :  G

How many daily active Users there are per game (on average)  = ( Dau / G )

Monetisation (aka ‘ARPDAU’ – catchy!) – How much revenue is generated on average per day per active user : Arpdau = ( R / Dau )

 

Simply, if you multiply these values, you get the daily revenue across your whole portfolio : G x  ( Dau / G ) x ( R / Dau ) = R

 

We view these three values as three sides to a cuboid, with the volume being the revenue.

Games, Users (retention), and Monetisation (ARPDAU)

 

 

When we decide what to work on, we look at how much our effort will increase one of those dimensions.

In turn, by knowing the other values that would be fixed, we would be able to estimate the change in the volume.

In the example above, would adding a ‘box’ size to games, users, or monetisation, increase the volume by the most?

Usually – the simplest best choice will be to increase the smallest current dimension.

However, not all of those choices will the same cost, which makes it into a more complex decision.

For instance, over 2016, our possible choices have included:

  • Spend 4 months to make one new game, increasing from 7 to 8
  • Spend 2 months to build a new social system into the games increasing the retention, and the number of users by 10%
  • Spend 3 months to add in a new revenue system (i.e our puzzle streams) which could increase our revenue by 20%
  • Spend 2 weeks on an interim small update to each of the games fixing a problem that affects a small number of users on the latest OS level – 2% improvement in users (but might become more later)
  • Spend 2 weeks on adding in an additional advert provider to increase our ad revenue by perhaps 5%
  • Spend 1 month to build another method for micro-currency earning  ( “Complete surveys for extra stamps!” ) to increase revenue by 20%
  • Spend 4 months to add in daily puzzles to increase active users (via retention) by 50%
    • Spend a further 1 month to add 2nd daily puzzles to add another 10% to users
  • Spend 1 month on adding in extra purchasable puzzle packs to each game to increase revenue by 5%

These are very much the kind of ‘interesting choices’ that might be presented to a game player in a strategic game like Civilization, for instance. It’s one of the places where we’re running a game theory to make smart choices for our games business!

It’s never quite so simple a choice, sometimes a sequence has to be made which isn’t so good in the short term, but ultimately better in the long term. This is like working through a tech-tree in a game in order to get the best bonuses at the end.

For instance, we had to add puzzle streams which was an expensive piece of work, in order to have a micro currency in place and making sense, so that we could add in surveys as an final option. By doing things in that order, we were able to do a meaningful release at each stage, with the players getting a new feature each time.

It would have taken the same total time to do it in the other order, but we wouldn’t have been able to do the interim releases.  We’ve found that every time we do a release we get a burst of new users and activity, and our existing users are kept happy too, so it does make a lot of sense to do things in an order that gets us more updates.

Also there’s always more going on that needs to be done – other projects (like hitting a retail version on time), coping with a new piece of technology (Samsung’s new device resolution of the week), rebuilding to cope with latest OS version ( Apple’s new iOS version of the month! ), etc.

More Games

This is straightforward! We make another new game, create a whole load of puzzles (and plenty to keep the daily puzzle hoppers filled too), and then we can launch it.

A new ‘puzzle’ game in our existing framework takes about 3-4 months of creation time, usually split between the two of us, across all of the tasks – Design / Art / Development / Puzzle Creation / Testing / Production, etc.

We know that we’ll be able to cross-promote to  our existing players, using the advertising system that’s already in the games. We can sacrifice some paid ads, to promote our own games instead, which players typically are happy to try, as they already trust our games and the new game is free too!

Revenue Per User

Statistically the revenue per user can be calculated from the number of users and how much is made, in terms of in-app purchases and ad revenue. It’s a bit more challenging in that advert revenue is comparatively small, only a trickle, but if a user keeps up with the app – playing for free – but for many months or years, that can add up appreciably.  The industry talks about LTV (Long Term Value) or LARPU (Lifetime Average Revenue Per User), which are used in calculations.

Some of the things we can do to increase the revenue are:

  • Adding in extra purchasable features or packs
  • Including adverts at appropriate times
  • Add in other cross-sells to our other games
  • Add in other ways for people to get items in the game (micro-currency) such as doing sponsored surveys

There’s an obvious limit – if we put in too many adverts, or adverts that pop up at a bad time interrupting play, or adverts that take up too much of the screen while a game is in progress, etc., these will increase the number of advert views in a short time, at the expense of retention – nobody likes a product they can’t use because it’s constantly interrupting them! Sometimes it’s a careful balance between monetisation and retention, but we tend to side more with retention!

We currently get a revenue of around $0.15 per user on average, roughly split equally between in-app purchases and revenue from advertising.

 

Number Of Users

While the number of games and revenue per user are fairly straightforward, in terms of changes made, the choices about number of users is quite a bit more subtle.

Every day we have new users finding the game, and some users uninstalling.

Each choice we make will change the number of new users trying the game, and the likelihood of them (or existing users) from deleting the game. This is all about retention which I’ve written more about in another article!

We hope to make choices that increase new users, and decrease uninstalls, at the same time!

  • Best possible first-play experience
  • Plenty of value over time
  • Daily content
  • Sufficient free content (which may be ad supported)

 

Having Fun

Sometimes we can be guilty of being a bit blind, and launching into doing some development that’s fun. For us, that means running headfirst at whichever problem seems the most difficult, challenging, and downright unsolvable. We love creating new things, new systems… but it’s not always the best choice.  Yes, we end up with more fun things (and our customers love that too) but there are times when improving the existing suite of games could do better!

Over the last few years, we’ve deliberately tried to take an informed/data driven approach to what to work on – ultimately we look at the choices, and we work out what think each choice would mean for our revenue stream (best guesses all round). We might divide in to the effort to get a value of  ” revenue per month, per day of effort ” which is an awkward unit, but really makes us focus on the reality.  Sometimes that means we’ll have to punt ‘fun’ things down the development order a few times, which is always a pain, but they do get to stay on the list!

 

Crazy Assumptions

OK, we admit it! There are a lot of assumptions to be able to call it a cuboid!

  1. Not every game has identical monetisation.
  2. Each game will get a different profile of retention.
  3. Each new game doesn’t add the same number of users straight away (it takes a while!)
  4. Fans of certain games are more likely to follow ads (or take surveys) than other games.
  5. What worked last year might not work this year or next
  6. That we can estimate in advance the timescale to create products, features etc.

That’s so many assumptions and errors that it’s not exactly a bankable value, but any analysis is better than none – and if you know the flaws, you can at least appreciate the risks!

 

Summary

While we do love to make new games and solve new problems, that isn’t always the best choice.  Averaging over a long time, we spend about a third of our time on making new games, a third on acquisition and retention (supporting new devices, new platforms, new features, product maintenance and updates), and a third on making sure the games can make us revenue ( extra puzzle packs, more ways to play for free supported by ads / surveys, more content, etc.)

There have been times where we’ve realised (after analysing some data) that we’ve been missing something important, and that we have an easy way to increase one of the dimensions.  An example of this was when we realised how badly we were organising our advertising! ( Hint – mediation can be brilliant! )

 

Tips for a good games developer CV

We’re not hiring right now! Best to mention this up front 🙂


This article is about how someone looking to get a job as a game developer (programmer) can improve their application.


 

HT - 2014I’m Howard Tomlinson – co-founder of Astraware, and since we became a company in 2000 we’ve employed a lot of different people – customer support, artists, QA testers, programmers, and more!  I’m guessing we’ve employed somewhere over 100 different people over that time (the maximum at one point was around 25), but that means I’ve seen a lot of CVs.

A lot of good CVs, hundreds, and a huge number of poor ones. Thousands.

I’ve been seeing a lot of posts recently from game developers – recent graduates and people with just a few years experience in particular – asking for advice on their CV, and occasionally a prospective CV sent to me by someone who didn’t read our about page – and if I’ve been in a nice mood I’ve taken a look and sent along constructive feedback.

I thought it might be useful for me to make public some general info about what I find good or bad about a CV, in the hope that it can help some people to improve theirs!  This is particular to being a games developer – i.e. Programmer of some sort.  Much is relevant to the other disciplines too.

My Background

Not every prospective employer will be the same, but in general you’d hope that someone sorting through CVs for a position has some level of knowledge in the area.  I’m predominantly a programmer with a background in physics and computing, although I do a lot of design work too (game design rather than graphic design) so when I evaluate a CV I’m looking with that kind of lens.

When I’m looking to fill a position, I’ll have a range of CVs from candidates to look at. Perhaps 10-20 per position.  I want to find the slightest excuse to whittle that down to about 5 which I’ll review in depth, and then maybe call 3 of those to talk, and 1-3 of those to interview.

“Go ahead, make my day.”

Nothing will make me happier than an excuse to move your CV from the ‘in review pile’ to the ‘rejected’ pile, along with a 3 word reason written on the top as to why.  If you can leap out straight away with an obvious fail, you’ve saved me a huge amount of time.  In my experience, half of the applications can be rejected for obvious fails in under a minute.

 

CV and Covering Letter

First up – for me, I take the CV itself and Covering letter (or email) together as a whole.  There’s a big argument about what formally you should leave off the CV and include in the letter, or vice versa, but really that’s a style choice, and I don’t get too wrapped up in those choices.

Broadly the letter would be more about your goals, personality, interests, and your CV about your education, skills and background. Prose versus facts, perhaps.  If you include your hobbies and interests in one versus the other, that’s fine.

Remember to address your letter to the person who will be looking at it, if that is at all possible to discern from their website. If you have dissected the company website for the right contact and there still is none, then falling back to a title such as “To the Manager responsible for recruitment” may be acceptable.

A note on mailshots : Don’t let your letter look like a failed mail-merge, with [fields] left exposed such as Dear [Recipient].  Ouch.  It really pays off to make each application bespoke to the company. If you are using a generic letter/CV which covers your hope to get an internship/volunteering role/work-experience/contract work/permanent position doing QA/junior programming/animation/engine development/senior developer/tea maker, you have made it really obvious that your just shotgunning out to every possible employer without even looking at what they’re after.  If you do that, they know that you’re (likely) not what they’re after.

Length

Between your letter and CV, I’d be expecting to see 3-4 pages of stuff at a reasonable kind of size of print. 1-2 pages in total is not going to include enough to be of interest, more than 5 and (unless you’re very experienced with a number of very valid previous workplaces and projects) you’re probably waffling on a bit too much.   If you have to err on one side, err by including a bit too much.

Layout & Style

As a developer, stick to a reasonably straightforward style and template.  Artists and graphic designers are aiming to make a visual impression and show what they can do, but as a developer it’s going to be more about the content.  If you show me that you can competently use an external template, you give me confidence that you can work in a team where some level of consistency is going to be required.

Anyone who reads vast quantities of text on a daily basis will see errors like inconsistent spacing (one versus two) right away. Try to keep it neat and consistent.

Remember that the person reviewing your CV could well be in their 40s or 50s, and may be at the point where reading tiny fonts is a challenge, or they have to read at arms length because long-sight is kicking in. Don’t make it hard for them – make it easy to read please!

Thinking of making a really clever idea for a CV design – something reminiscent of The Matrix, something formatted so it looks like pseudocode… ah, all fantastic and innovative ideas, but no. Don’t do that.  You’ve got opportunities to show off your skills in other ways – don’t make your CV harder to read, even if you think it will make you stick out. (It will, but not in a good way!)  Edit : QR Codes are ugly and messy, don’t include them. A short URL is fine, honestly. If we like your CV we can type in a tidy URL faster than we can get a smartphone out.

File Format

Make it easy for me and you’ve made a friend!

Covering letter in either email (marked up) format or a PDF is great. CV as a PDF is great.

Anything that has me needing to open up some other fruity editor to read your item means that there’s a chance your formatting will all cock up and your CV will look terrible. If you send it in a Word format then depending on whether I open it in MS Word on PC, on Mac, in Pages on Mac, in Open Office, within Google Docs… any of these will give indeterminate results.   Saving out as a PDF is going to keep it simple.

In the UK go for A4 page format, in the US go for US Letter size.  If I print out your CV and it all goes wrong, I’m going to feel like the idiot (again) so that won’t reflect well on you.

I’ll be printing in black and white, often on a printer that’s a bit crappy.  Don’t do anything clever with shading or gradients or colours.

 

Spelling and Grammar

I’ll be brutal here.  Don’t make any mistakes. None whatsoever. Any spelling or basic grammar mistake in your CV or letter will leap out to me like a neon-lit spring-loaded boxing glove.  OK, I’m not going to quibble about subtle things like an occasional sentence that’s a spot too long or might be phrased in passive voice.

Special attention to:

  • Capitalisation in general,  capitalised ‘I’ in particular.  If you can’t get basic English capitalisation right, what makes me think you can correctly get the rightVariableName consistently.
  • Use of Proper nouns – Names of either people or companies, product names ( Unity ) – make sure you get these exactly right. If you misspell my name, or just as bad, my company name, that’s a big D’Oh! right away.
  • Typos – a spell checker will pick up 75% of these, but it takes a careful eye to pick up the rest.  If you make (and don’t spot) typos, you would be the member of the dev team who everyone curses as they have to trawl through your untidy code looking for the error. Again. On a Friday Night when you’ve gone home and they would rather be out with their significant other.
  • Incorrect usage of apostrophe’s. You know the difference between plural and possessive, yes?
  • All Caps for anything goes straight into the bin.

If in doubt, get it checked by someone who is better at this stuff than you are. Teacher/Senior Lecturer, English Student, competently literate spouse/relative, etc.  Do not get your mate Dave who is on the same course as you to check it over when he sobers up one afternoon. Get the smartest person you know to check it and ask them to be utterly brutal, like they’re the meanest member of a parole board just looking for the slightest pettiest reason to throw you back inside.

 

Skills

I’m going to want to genuinely get an impression for your level of skill at the various elements that make up being a games developer. I’ll broadly rank you somewhere from Expert, Competent, Familiar, or lower (i.e. vague knowledge of) at the various elements/languages that would come up.

Broadly ‘Expert’ means you have used regularly in commercial products for 5+ years. Competent for 3+ years, Familiar for 1+ years or a main degree course component, and anything else means that you’ve been exposed to it at some formal level, either in passing at a company, or during a university course.

Languages

For languages, it depends what you’re applying for, but I’d be looking for a heirarchy of:

Main usable languages : C / C++ / C# / Objective C / Java (maybe) / HLSL (maybe)

Processing languages : PHP / Ruby / Perl etc.

Scripting languages : Javascript, VB/VBScript, Lua

Markup languages : HTML / XML / CSS

Put the best ones first – if you list “Javascript + HTML” as your main experience I’m not going to take that seriously for high level game development.

Before employing you, I will most likely have you do some kind of proficiency test (either externally, like BrainBench tests, or internally with a work-through of some problems.).  If you lie about your capability, it will be completely obvious, it will waste my money/time, and you will not get the job. You will not be able to bluff your way out of it.

Packages / Engines / Platforms

If you have Unity 3D Experience, list it, and what level you’ve used it at. Same for Unreal, and any other packages you’ve used properly.  If you list it on your CV I’d expect you to be able to sit down and create something showable in it without needing to go Googling, so don’t list it if you haven’t used it to at least finish a tech demo (or preferably a released product!)

Competent with Photoshop / Illustrator / Blender / Maya / 3DS Max etc?  Great – list those too. Give me an honest rating of your skills. A programmer who can use the tools to work with things created by others is still useful.

List the platforms you have experience in – again give an honest rating of your level of comfort with each.

Systems

I’m going to want to see experience of GIT / CVS / SVN or something along those lines for source control.

Familiarity with various project methodologies is a plus, but if you say you’re a ‘SCRUM Guru’ I’m going to think you’ll be overly evangelical and unwilling to fit in with another system, so be careful.

 

Education

Obviously include your academic qualifications and where you attained them. I’ll care that you have some GCSEs (or equivalent) including decent Maths and English, that you have a range of appropriate college qualifications (A-Levels), and usually that you have an appropriate degree.

If you’re a recentish graduate, then for the degree breaking out your areas of specialism, your main thesis / projects, and any work experience or internships, will be important.  Include a list of the major relevant modules you’ve done.

There’s a huge debate about whether or not you need a degree to be good.  I’ve come across counter-examples a few times, but in my experience, a degree means that you can complete a large multi-year piece of work, successfully navigating an amount of bureaucracy, learning plenty along the way, some portion of which (but definitely not all) you can apply to future work. As a games developer, the kind of skills you will have through completing a degree – usually in a fairly technical subject – will be useful, even if the exact modules you studied are not.  In some ways the exact degree you have will be less important than that you have one.  If your degree is in any non-development but technical subject, expect to be asked about it, but you’ll be fine.  If your degree is in a non-related subject, expect to have to provide a bit more proof that you can handle the technical side (particularly programming) too. Your portfolio will be important for this! A developer with wider skills is great – but you’re still going to have to convince that you can do the development!

 

Experience

OK – here you need to list where you’ve worked that is relevant to the job you’re applying for.

For games/programming companies, list the company, your position, your main responsibilities, the time you were there.

For non games companies, unless they are directly relevant, just include a simpler list for a time period.  ( “Bar + Fast Food work.” or “Retail work” ); The details aren’t going to matter enough to be on your CV here, though if you make it to interview you might be asked.  If the best you have to offer is that you worked for a summer at your Dad’s company making tea… you probably need to get some more real-world experience.

If you have further relevant work experience / internships, include those.

Portfolio

OK- so you’ve made loads of awesome and exciting things…

Please don’t

  • Attach them to an email
  • Send me source code listings
  • Link a random youtube page to me
  • Send me a CD or USB stick of stuff

What I want to see is a link to a simple website which you have developed, showing a broad range of your portfolio;  Either screenshots, embedded graphics and videos, game descriptions, maybe links to the game on app stores, all that kind of thing.

Unless you did them all by yourself, rate each one with how much your contribution to the project was. If you were a tiny cog in a large project, be honest.

This needs to be attractive if you’re going to want me to look and get an impression of your skills.  If you’ve done some awesome abstract work, you’d better find a way to visualise that too, but I’m an academic professional, I can cope with big words – you don’t need to dumb it down.

If you have a good ‘gameography’ then a list of that in your CV ( game, platform, company, date, your contribution) would be fine.

Hobbies and Interests

Personal bugbear : Please please do yourself a favour and don’t put “Playing video games” in your hobbies or interests, or even more cliche “I have a passion for video games.”

The last thing I want to do is to ruin your passion and hobby by giving you a job that will make you hate it.  This is like saying that you have a passion for eating cake when you’re applying for a job at Mr Kipling’s.

If you do have to include this in your interests, I want to see something much more in depth.

Example from a recent CV that was sent to me:

“Going to the cinema and playing video games”; Obviously I know what you mean by this, but it’s an opportunity missed. ( You don’t actually go to the cinema to play video games, do you? That would be weird, unless you enjoy the twin-gun style of arcade machine…)
Could you instead write:
“I have an interest in cinema, enjoying the technical aspects of cinematography – lighting, framing, scene transitions, writing, as all of these have a bearing on how I work on games too. I particular enjoy the modern horror genre and 1960s Film Noir.”

or

“I love to play and deconstruct video games, looking out for excellent art and user interface style, often thinking about how I might do things differently.”

or

“I love the psychology of video games and what people get from playing them. I spend as much time observing others playing as I do myself, thinking about how the game has managed to effectively convey an emotion or experience.”

Imagine how they would read to me, a games programmer with a love of cinema looking to hire a games programmer… You’d leap right to the top of the pile to call for interview. However, I’d pretty much rather read about your stamp collection or favourite football team (meh) than read “I enjoy playing video games” or “I have a passion for video games” yet again.

In your hobbies and interests I’m looking to see something that tells me that you’re an interesting and intelligent person. That you have a varied life outside of your career. That when you’re in work, you have experience and interest to bring to the team. That you can take care of yourself in fitness and mental well-being terms.

If you have a hobby that neatly implies that you have the ability to commit effort and time to something non-trivial, for instance a high grade at a musical instrument, club level performance at a sport, that’s going to look really good for you.

Don’t make things up for your interests though – that’s a dangerous game. You might discover that your interviewer has an interest that coincides and asks you about it.  It’s quite common for an interviewer to try to put you at ease by asking you to talk about some of your hobbies, which hopefully is something you can talk with confidence on. If you suddenly dry up then it’s going to look pretty poor!

 

Agencies and Applying Directly

Oh, agencies… Sometimes a necessary evil, but really, they do make things much more of a pain.

Here’s the thing, they can aggregate a number of candidates quickly, which is good. However, the quality of who they send is much more variable than people who looked us up directly, read our job specs, and still decided to apply.

Unfortunately for us, agencies want a cut of your salary (paid to them by me) when I hire you.  That cut might be 10%, perhaps more, perhaps less.

You know what, I’d rather pay you that 10% more. (Or perhaps, avoid paying you 10% less if my budget is fixed.)

So the upshot is : If I have two candidates that are otherwise the same, the one that applied directly will get the job and get a higher initial salary.

It’s not that hard to look up games companies in areas you’re interested in, collect a list of the websites, and look through them for vacancies.  An hour per vacancy to tailor your CV and covering letter to suit (and perhaps even research the company, team, history + games a bit) will increase your chances massively above having an agency forward your generic unspecialised CV (that they’ve butchered and littered with errors) to the same company you could have approached.

Oh, and if the company tells you the format / size / specifics to include in your application, make sure you get this right!

 

One last thing… your web presence

If you’ve made it to the shortlist to be considered, that final 5, I’ll be looking you up online. I’ll be looking at your Linked In profile (you do have one, right? Better make it good!), and doing a couple of pages of Google checking to see how you’re mentioned.  If you’ve been an idiot somewhere online, then I’ll see it, and you won’t make the cut.   Badmouthed someone in a forum? Posted questionable material? Tweeted anything hateful?  You just made my job easier again.

Is that all?

Yup! That’s about it… for the CV stage anyway 🙂   That’s how to make the cut and be one of the 3 out of 20+ CVs that gets through.  There’s a lot of competition out there.

Am I just a miserable old git?  Well yes, but you’ll find that there’s an equivalent miserable old git in many companies who’ll be making decisions on who to hire, and every one of them will have their own pet hates, so you may end up being binned for an unpredictable reason anyway, but it’s pretty safe to say that the basic CV errors are going to fail you with anyone. Well, maybe not anyone… but surely you want to work in a team where the bar to enter is pretty high?  Thought so 🙂

I hope this helps! Again to reiterate, I’m not hiring, so don’t ask 🙂   ( Feel free to get in touch and argue if you disagree with anything though, happy to take comments from anyone either in or out of the industry!)

Good luck!

— Howard