Funding Your Indie Games With Client Work: Building Up Your Practice
Now that you've started working on other people's games (and are getting paid for the work), the next step is to start building it into a sustainable effort to keep work coming. In this article, you'll learn a few tips that can help you avoid some of the pitfalls and grow your game development business.
Building Your Portfolio
Your portfolio determines whether you'll be hired for a job. Include everything you are proud of in your portfolio: student projects, community projects (yes, branch those open source projects), previous work experience, hobby projects, past client work, and anything else. But make sure you only put work you are proud of on your portfolio! You are only as good as what your portfolio shows to people who don't know you in person.
Again, looks are important. We live in a fast-paced, instagram, snapchatting world where no one has time for anything, let alone words and descriptions. When potential customers have 100 portfolios to read through in two days, visuals are going to count quite a bit.
What if you are a programmer? Make your code and projects easy to read and easy to understand for non-technical customers. Link to your GitHub portfolios; GitHub's clean interface works to your advantage (and make sure you have nicely written
README.md files with clear context and descriptions for each project).
The people making hiring decisions are frequently not the tech leads, but rather the producers, who may or may not have a technical background. It is your job to make sure your portfolio is as easy to grasp as possible for the client in just a few minutes.
Trust is crucial to the success of your client service business. You need the clients to trust that you have the ability to finish the project, trust that you are billing them correctly, trust that you are putting the right people on the project, and trust that you are building something solid underneath the surface.
This is similar to hiring a babysitter, from the client's perspective; you've got this seed of an idea and you want it to be amazing and to blossom, and you are trusting someone else to help you get there. When the client hands the project over to you, they are in a very vulnerable position. What if you take the project and run away with it? What if you deliver something that isn't what you've promised? What if you've stolen art assets or other people's copyrighted work? It is scary hiring someone else to work on your valuable ideas and projects, and that's why trust is critical to your success.
For people outside of your personal network, how do you build trust? The strength of your portfolio will help, but trust is built on soft skills. There are two ways to build trust:
First, you can build trust through all your communication with a potential customer from the very beginning, be it via email, on the phone, or in person. You have to be professional and genuine—the latter is especially important—and you have to be able to show what you know without coming across as egotistic, and show warmth.
Trust is often built in the blink of an eye (for more on this, read Blink) and continuous improvements in personal communication will help—so start today!
Second, trust can be built through word of mouth and your reputation. If you are already vetted by someone the client trusts, you are half way to getting the project. Give talks at conferences (start small and local if you can), write articles, help other developers out, and get involved in community work: find your local IGDA or game developer communities, or start one yourself.
The best type of clients are repeat clients—people who love your work and trust that you have their best interests at heart. Occasionally, you'll have to take a financial loss to maintain a good relationship or to repair trust with a client; just know that nothing is more valuable than holding their trust in the long run. Plenty of people will pay a premium to work with someone they can trust, but no one will hire someone whom they can't trust, no matter how much cheaper it is.
Potential customers need to know that you know your stuff. You can show this in your portfolio, your blog posts, and your pet projects, but the most effective way to do this is by giving talks and publishing books.
Ask community organizers for talk opportunities; propose a talk on a topic that you are interested in and that is unique. I organize a developer community, and I am always looking for people to come talk to the group, so you'll be doing the organizer a favor by reaching out.
As for books, there are many ways you can get published (including ebooks and self-publishing). Don't expect huge profits from your books, but being able to talk about a particular topic for pages shows expertise and dedication—two important aspects when people are looking for help.
How do you build a sustainable business if you are always working on other people's intellectual portfolio? By building your portfolio, building your network, and building your testimonials.
Think of testimonials as word-of-mouth from someone you don't know; it's the closest second to being vetted by a trusted common friend. After each successful project, ask your clients if they can give you a testimonial, and also be sure to ask how you could further improve.
When a client writes you a testimonial, it also further strengthens your relationship with the client (building potential for repeat work), and acts as further social proof for trust with new customers. Asking for feedback also helps you grow as a studio and improve on your next project.
A Note on Getting Paid
Getting paid isn't always as straightforward as it should be. First thing's first: in your contract, make sure you have a clause that says unless you are fully paid, the IP remains with you (check with your legal counsel on this). The last payment is often the hardest to get, because once you've finished the project, there's little reason for the client to pay you as quickly as they should. Make sure this is in writing to protect yourself.
Pay attention to payment terms. We used to do 30-day terms (meaning the client has up to 30 days to pay once we invoice them). But the problem is, we pay the team much earlier than that, and this 30-day difference puts a lot of risk and financial burden on the company, so we were constantly dealing with negative cash flow every beginning of the month.
Also communicate with your clients to find out when their accounts payable process invoices—this can come in handy for you to schedule the invoices at the right time so you don't miss their payment cycle. Aim to make it easy for them and they'll thank you for it, and you'll get paid.
If you have worked with a repeat customer for some time, you can negotiate a retainer, which is an upfront payment for a fixed amount of time to work on their projects each month. This is a great setup for both sides, as you'll get cash upfront (negative working capital) and the client will know that you'll reserve a certain amount of time for their projects. Retainers require a lot of trust, but they can simplify things and be hugely beneficial to all involved. Just be sure that the retainer covers all of your billable hours, or you'll end up spending more time on a project and lose out financially.
For three years now, my company has worked on both client projects and our own IPs. Client work has allowed us to stay independent and survive in an industry that's going through continuous changes. Despite some of the challenges it presents and the learning curve that’s involved, it’s one of the most reliable ways to fund your game studio, work on cool ideas and projects you wouldn't get to otherwise, grow your skillset, and meet lots of great people!