Learnings from streaming Games Development on Twitch.tv
Between May and July 2016, I was live streaming games development on Twitch to see if it was possible to generate enough revenue to sustain continuous game development.
I wanted to break out of the hit driven loop of games development and reduce the financial risk which traditionally came with it. This post is talks more about my thinkings, research and the outcome of this experiment.
If you want to know more about the actual hardware and software stream setup, check out my previous posts:
I’ve been working in games for almost 10 years now, developing AAA games, slot machines, Facebook and free to play (F2P). It got to the point where I was burning myself out professionally working for large companies, getting agitated with procedures and decisions that I couldn’t change and really needed a break from it all.
Once my project was finished at King, I handed in my notice and started to really think about a question that has been on my mind for some time: What’s after F2P?
It’s not that I think F2P as a concept is bad as a whole, it’s more that the majority of implementations have treated the player experience more like retail rather than games.
A typical F2P game is usually crafted and implemented towards encouraging the player to buy items, usually to help progression and/or remove waiting time. I.e to remove friction. Developers try to leverage any opportunity to encourage users to convert ‘free’ users into buying something. Research is shown that once they have made that initially purchase, they are more likely to continue spending in the future.
This is done to compensate the game being free and as a result, only 1.9% of users spending real money, averaging $24.66 per month according to Swrve’s Mobile Monetisation 2016 Report.
Mobile users now have an expectation that apps (especially games) should be free which makes it difficult to not consider F2P in some form or risk losing potential revenue and users.
I wanted to find out if there was another way for games to generate revenue and also retain the low barrier to entry of F2P.
Thinking outside the Box
Games development is ultimately a debt first process. They take time and/or money to create and until they reach a playable, presentable state, crowd funding, early access and publishers are not an option.
It’s not even guaranteed that the game will earn back the cost of development. In a lot of ways, it’s a gamble and there are only so many bets that can be made before running out of time and money.
A lot of the work in running an independent games studio is managing these bets and keeping a consistent cash flow. Companies such as Rovio, King, Space Ape, Supercell and Introversion all have stories on how managing cashflow and new titles.
While I was brainstorming what I could do to minimise or mitigate the risk, Twitch.tv have started to focus on live streaming non-games such as cooking, art, music and more relevantly, games development and programming.
I knew that games streamers has become very popular with a quite a few making significant money much in the same way YouTubers have. However at the time, I couldn’t imagine watching people developing games live has the same appeal.
Yet it looked like it be an interesting way to solve the debt first issue mentioned above. What if the development process could be used to provide entrainment value and viewers could donate and/or subscribe to the channel?
Doing the Research
The possibility was enough to investigate further on what was possible and look into the current state of streaming games development.
Prior to Twitch, LiveCoding.tv (now LiveEdu.tv) started in 2014 and positioned themselves as dedicated site for people to stream themselves coding. I remember visiting the site around the time it first started and not really understanding the point.
At the time, there was no revenue stream available beyond donations and the number of viewers was very low.
Fast forward to March 2016 when I started following a few streams on Twitch, some of the more popular game development streamers on Twitch average between 50-100 viewers per stream. Still relatively small in streamer terms (at time of writing imaqtpie has over 18,000 viewers on his stream) but encouraging as at time of writing, those streams have increased their average viewer count to 100-200.
The number of streamers in game development was and still is very low compared to the games section. This meant that even if someone started now, the potential of being noticed by potential viewers is still high.
What really surprised me was the viewers ‘paying’ for content. During one of HardlyDifficult’s streams, he managed to receive between $100-200 in donations during a 2GB upload to a git repo.
At the time, I couldn’t understand why viewers were donating to watch someone watch a loading bar. It just didn’t make any sense.
One donation managed to trigger a series of others wanting to join in, regardless of what was happening on stream and just left bewildered and hopeful at the same time.
If viewers were willing to part with money for a git upload, then what would happen when there is actual work being done?
What I naively didn’t realise at the time and only a lot later in my own experience, those donations are ‘thanks’ for value of the stream so far. It usually has little to do with with the content that is being shown at the time of the donation.
There are also more revenue streams available beyond donations including subscriptions and ad revenue share. Twitch also continue to look for more ways viewers can support their favourite streamers. The most recent being ‘Cheering’, donations using Twitch’s virtual currency of ‘Bits’.
The key criteria listed is to have an established and growing audience. How big and how fast seems to be judged on a case by case basis. Although from what I have seen, all the live game development streams that become partnered consistently have 50+ viewers.
As I wasn’t in a position to start my own stream just yet so this gave me a great opportunity to observe how his channel world fare over time.
Watching Danny’s stream
Danny was fed up of starting small projects but never really finishing them. To help him break out of this, he set himself a 30 day challenge to create a playable version of his game that could be submitted to a Steam Greenlight like process to help further fund the development.
Around the end of the first week, one of his friends suggested to start a Twitch channel to help with keeping him on track as well as help with motivation.
He set a schedule to stream every weekday from 9am-5pm (a full working day) and as with any channel, it only started off with a few viewers looking for different content to watch. Over the 30 day period, this grew to between 30-50 concurrent viewers during each stream.
The game itself looked visually interesting and the genre choice of survival was popular niche. While a lot of the growth was organic within Twitch, there were several factors that helped viewers return to the channel on an almost daily basis:
- Advanced features that are interesting to learn more about such as procedural level generation and networking
- Speed of feature implementation
- Viral images posted on imgur to drive traffic to the channel
- Deadline countdown timer on stream overlay
The last factor was one of the most important as it provided a ‘story’ to the experience and helped build anticipation towards the end product. The viewer count increased at a higher rate as he got closer and closer towards the deadline and consequently, decreased in streams after the deadline had passed.
I set myself a timeframe of 3 months, both to complete a game and to see if live streaming games developing would be worth pursuing further.
Running on the popularity of ‘Twitch Plays Pokemon’ and the support by Twitch themselves, I decided to create a Twitch Plays only game to capitalise on the popularity and for a potential angle to build a relationship for support or promotion with Twitch.
To make it different from the traditional s where the viewers are voting for a single player input in an existing game, I wanted to create a new game where every viewer has control of their own avatar.
Taking the basic concept of Risk board game and Dice Wars where players move to occupy territory, I adapted it to work with the Twitch chat system so all players could move freely in the map during each round.
The team with the most players on the each area at the end of the round gains control of the island and the game winner is team with the most islands at the end.
To help build trust with their viewers, LinusTechTips had uploaded a video that breaks down how they make money from their videos. These include:
- Amazon affiliate links
- Project sponsors
- Pre-roll ads in the videos (both technology and non-technology related)
- Event coverage
- Branded merchandise
While sponsorship was common on games streams, I haven’t yet seen one for a development stream yet. I assume either the streamers hadn’t yet attempted to approach potential sponsors or that the viewership was too small for them to consider.
That said, it was something I wanted to attempt as it could really help provide a stable increase in the revenue with the right sponsors.
TL;DR, my plan was:
- Build an audience developing a s game
- Attempt to get in touch with Twitch to pitch them my game
- Approach potential sponsors
So, how did it go?
The whole experience was an incredible amount of fun but unfortunately didn’t go according to plan. I did manage to complete the game by the deadline and it was released to the world but didn’t meet the rest of my other targets:
- Averaged 10 unique viewers per stream
- 0 sponsors
- 2 concurrent users playing the game when released
- Donations £17 (GermGamesTV: £10.00, ericmuir123: £5.00, ThatRainMan: £1.00, Portrawr: £1.00)
- WASD Code Keyboard donation from XForceP
As you can see, the numbers didn’t show that this was sustainable for the long run in terms of making a reasonable living.
Here are some of the observations I made:
Making a Twitch Plays only game
I got so wrapped up in the positive press from Twitch about s and the popularity from ‘s Pokemon’, I made the classic mistake of not checking if I have a player base.
About halfway to three quarters way into the project, I decided to check out the Twitch Plays Channel. It turns out there are only 300 or so players and 90% of them are playing the Pokemon stream.
This meant that there was a very low possibility that viewers would even see the game let alone play but as I was so far into the project, I couldn’t really stop as my current viewers were vested in the progression of the development already.
As the game could only be played via a Twitch stream, I couldn’t sell it either or have a WIP build for viewers to play. The latter was huge blow for me as it’s very hard to become interested in something you can only see the development of but can’t play yourself.
Additional revenue could potentially be gained by selling advertising space in the game stream but as you can see from the numbers above, the number of players never reached point where I could approach companies.
Streaming everyday increases your chance of viewership
I underestimated the importance of streaming every day. My streaming schedule was 3-4 times a week for 6 hours I don’t think that was enough.
If I kept a Mon-Fri schedule (potentially for less hours), the channel would be more likely to be picked up by new viewers if they knew it was going to be back the next day. I had a public streaming calendar but that’s an extra click away. The expectation from viewers is that streamers are there every day.
Building a ‘story’ for the channel
Unlike Danny’s stream, I had no public ‘story’ or theme to my channel for my viewers to emotionally invest in. Danny always made it quite clear that he wanted to force to make and release something by setting an arbitrary time limit.
I really should really have made my aims more transparent and open up part of my personal life to help build that connection.
Viewers want to contribute to the game
One of my regular viewers, Zalosath offered to help out with creating some of the sprites being used in the game which saved me quite a bit of time,
The chat is generally self sufficient
Unlike games streaming where there are natural breaks between rounds, it isn’t with development. Generally you are always working or thinking about something so it’s really hard to engage with the viewers on chat without breaking chain of thought.
Usually the viewers do a good job of managing themselves but occasionally you will get a new viewer that wants to know more about the project. At that point, it is worth stopping to answer them as the first impression is going to be the most memorable.
Streaming takes up more energy then you think
When I first started, I attempted to do a full working day’s worth of hours streaming (about 8). After doing this for a week, I realised this was too much as at work, you will take physical and mental breaks.
When streaming, I was fully focused on the work and that took a toll on me mentally. I found myself much more fatigued than expected, more so than after a day of work. Additionally, I didn’t factor the time needed outside of the stream to maintain Twitter, tweaking the overlay, etc so I was working 10 hours days for the first couple of weeks.
I almost instantly dropped the number of hours to something much more manageable and made sure that I took regular breaks during the session using Programmer’s Break Timer.
What would I change if I did this again?
Even though it was almost a year ago since I stopped, I always kept thinking about what would I have done differently if I consider game development streaming again.
Develop a game that I could sell
This is the big one. Now knowing that the stream itself wouldn’t generate as much revenue as I had hoped for before, I would now work on a game that I could either sell, contain IAPs or even was ad supported.
Having more potential revenue streams is always desirable and also creating a packaged product would give me a potential long tail.
Have the build available to be played by viewers
Similar to the point above, having a version of the game available to play by the viewers would help increase engagement and also give me quicker feedback loops.
Initially I was planning to use a Continuous Integration system such as Jenkins to make regular builds available for downloads or make accessible to paid viewers only.
However, since my last job at PlayCanvas, I’ve been impressed in the performance of HTML5 applications/games and also the accessibility it can provide.
Any game I develop for HTML5 could be played through virtually any browser on any device and on any OS. Viewers wouldn’t have to go through the friction of downloading and installing the game, it would just be available via a URL link.
Develop less ‘on screen’
This is a bit controversial as ideally, you would stream for as long as possible. Realistically, it’s very difficult to always be engaging with the viewers when trying to do deal with a difficult task and visa versa.
Two ways I can think of to tackle this:
- Stream frequently but for less time (e.g 3 hours). Use other social channels like Twitter, Discord, SnapChat etc to provide intermittent updates during the rest of the day.
- Stream the same hours but put aside some hours of the day as ‘quiet time’ where the focus is on the work and not the viewers.
Both of these would allow me to have time to myself to really focus on being productive and then I could use the time with the viewers to focus on design and/or more visual elements of the game.
Make my (business) plans more transparent to the viewers
Ideally, I would like to make my thoughts and plans as transparent as possible. There’s always interest in blogs like devMidgard’s and TrueValhalla’s where they break down their earnings each month and how they intend to move forward with their plans.
It’s rare to get this information but it’s incredibly useful to know from an independent/company owner perspective. Similar to how the video from LinusTechTips that I linked earlier is useful to anyone thinking on creating their own YouTube channel.
If you managed to read this far, thank you! I hope this has given a bit of an insight on streamer’s side of Twitch and if you considering doing something like this yourself, save you from making the same mistakes I did.