A look back at the news and numbers of Phaser in 2018 and what the New Year holds.
Welcome to the annual Phaser round-up, covering all the stats and milestones achieved during 2018. If you'd like some context, you can read the 2016 and 2017 entries first. I'll be comparing stats with those from 2017 to see how things have changed.
So, let's get started.
Phaser Site Traffic
As you may expect, the Phaser site attracts mostly developers. So, our stats and demographics reflect this trend. Another significant difference in 2018, compared to previous years, is that all of the Phaser 3 API Docs and Examples were not hosted on the main web site. The API Docs were on GitHub Pages and the Examples are on their own sub-domain (labs.phaser.io) which isn't tracked in the analytics. As the docs and examples are the most popular parts of the Phaser site, this had a noticeable impact on traffic.
Site traffic dropped from its 2017 numbers, due mostly to the above reason. In 2017 the site had 11.56 million page views and 777k users. In 2018 this was 10.28 million page views and 753k users.
I expect this to increase significantly in 2019 when the Phaser 3 content is properly merged back in to the main site again.
Year Goal: I would like to see site traffic in 2019 eclipse all previous years. I'll have to get a move on and get the new site finished before this can start to change.
As with every year since I've been running these stats, the overwhelming majority of site visitors use Chrome. In 2018 77.41% of visitors used Chrome, which is virtually identical to 2017 when it was 77.5%.
Firefox remains in second place with 10.34%, down from 11.18% in 2017. A drop, but not as dramatic as in the previous year.
All other browsers are in the tiny figures again. Safari 5.37% (only 0.01% less than last year) and Opera at 1.18%. Internet Explorer continues its decline at 0.69% compared to 0.84% in 2017. Edge has grown a little, now at 1.17% compared to 1.04% in 2017.
Honestly, I doubt these stats will ever dramatically change. We're all creatures of habit, after all. It's worth re-iterating that these are stats of game developers, not games players.
Windows continues its developer domination, although down from previous years to 59.82%, which is lower than both 2017 (61.08%) and 2016. macOS has increased fractionally to 20.66%, while Linux decreased fractionally to 8.11%. Android is actually the third most used OS at 7.04%. I believe this is a reflection of the fact that the main site was mostly of interest for the news content, consumed as links from the newsletter, which lots of you read from tablets and mobiles.
Last year was the first time I looked at what screen resolutions you were all using. The most common resolution in 2017 was 1920 x 1080 with 29.49%. In 2018 it's still the most popular but has increased to 30.91%. The second is 1366 x 768, now with 14.41%. Remember, these are the resolutions of developers, not players.
Following last year, 85.83% of you no longer have Flash installed in your browser at all. This isn't surprising given what browsers have done to Flash recently, but in 2016 you all had Flash Player installed!, and in 2017 only 57.92% didn't have Flash, so that's a huge increase.
The site still runs from a dedicated server hosted in the UK with UK Fast. It's the same hardware that was put in place during the 2016 upgrade and the cost remains the same at £350 GBP ($440 USD) a month.
Year Goal: During December I set-up a Digital Ocean account and have been exploring what would be involved to move there, which I want to complete in 2019. This will dramatically decrease our monthly expenditure.
For the last two years I've written: "The Phaser site was built entirely by myself, and uses a 100% custom written Laravel back-end. Site content is created in plain text markdown files. A bunch of custom scripts import this into the site. All data is stored in SQLite databases with the exception of the Phaser Sandbox which uses a redundant MySQL set-up. There is no 'admin' area, no CMS tools or anything of the sort. I create content directly in Sublime Text, push it to git and it syncs to the site. I'd much rather this workflow over struggling with the likes of WordPress." - and this remained true during 2018 as well.
I have not updated the site code at all this year beyond a few small layout tweaks. I did, however, implement the new Learn page, which I'm very happy with, and which has resulted in a lot more views to key tutorials.
There's still no sense of 'community' to the Phaser site. You visit, consume and leave. 2018 was meant to be the year this changed but I was so wrapped-up working on Phaser itself that the web site barely got a look-in. In 2019 this has to change.
Year Goal: During my lunch breaks in December I have been watching a Laracasts video every day. This is because during 2019 one of my objectives is to recode the Phaser site using the latest version of Laravel.
HTML5 Game Devs Forum / Phaser Forum
I said for the past two years that the HTML5 Game Devs Forum was continuing to grow at a nice pace, and this has been true in 2018 as well, at least until December.
We're now at 26,407 members (an increase of 3,819) who have written 233,952 posts in total - 37,488 of which were made in 2018. This is down on 2017 by 11%.
In terms of traffic the forum had 3,824,722 page views in 2018 from 739,861 users. This is a lot lower than the 4.4 million page views from 808k users in 2017. The reason for this drop? In December 2018 I moved the Phaser forum away from HTML5 Game Devs and over to Discourse. As a result of this action, the Babylon.js forum also did the same. Given that we were the two largest boards on HTML5 Game Devs it's not surprising that traffic tailed off dramatically. I expect it to carry on decreasing in 2019.
What does this mean for the future of HTML5 Game Devs? Not too much, really. I'm happy to let the forum continue to exist. The software it runs, Invision Power Board, is fully paid-up until April 2019. After this date I'll renew it for one final 6 month period and then evaluate matters at the end of that. It would be a shame to close HTML5 Game Devs down, and really, as long as it's not costing me significant amounts of money, and is actually being used, there is no reason to do so. It's the only forum of its kind so I'd be sad to see it go.
If that's the case, why did I move Phaser away from it? You can read my reasoning here. The main reason, though, is that Discourse themselves offered me a package I couldn't refuse and I honestly find their software significantly better than Invision.
The new Phaser Discourse Forum ended 2018 with 297 registered users and 612 posts. It's not many, but it had only been live less than a month. I'm recording these stats here so we can compare them at the end of 2019.
Phaser on GitHub
Phaser ended 2017 with 17,007 stars on GitHub. It ended 2018 with 23,542. A dramatic increase of 6,535 stars. That's twice as many as it gained in 2017.
In 2018 we carried on committing code directly to the
master branch, so it's interesting to see our volume of commits in 2018:
That peak in January is no less than 315 commits in a single week. This was us gearing up for the Phaser 3.0.0 release.
While commits are not the be-all and end-all of a project, it should at least give an indication of the level of work and effort that is poured into Phaser, year after year.
The Phaser repository had 356 pull requests in 2018, the most we have ever had in a year. Of these, 331 were closed and 25 still remain open. The first PR of 2018 was mine, titled "Phaser 3 reorganisation merge". The first from a contributor was a fix to the Point.Normalize function by halgorithm.
There were a staggering 759 Issues created during 2018. Of these, 607 were closed and 152 remain open. That's a heck of a lot. As I'm the one who resolves most issues it means I cleared nearly 2 a day for the whole year. I should be proud of that, and yet at the same time, all I can see are those 152 issues still open and cringe a little. I never like the count getting that high, even if 25% of them are Feature Requests.
I said last year that I expected PRs and Issues to go 'ballistic' in 2018. Even though that's quite a subjective statement, I feel it came true. There's no real sign of it letting-up in 2019 either.
Year Goal: To keep the Issues count consistently below 100, not including Feature Requests.
Phaser CE Releases
Phaser 2.6.2 was the final official 2.x version of Phaser, released back in the mists of time on August 26th 2016. Since then, Phaser CE took over the Phaser 2 mantel. During 2018 Phaser CE saw 10 releases, ending on Phaser CE 2.11.1 on the 2nd October 2018. The CE team continue to do an amazing job and, as in 2017, I'd again like to point out the diligent and wonderful work of samme who is still, without a doubt, the driving force behind the success of Phaser CE.
Last year I said: "I still see such big projects being launched with CE that I reckon it will carry on in 2018 as strong as it did in 2017, because it takes time for developers and agencies to transfer their skills and toolsets over and it will equally take time for V3 to settle down and become as stable and battle-tested as V2 / CE is. So I see 2018 being a period of transition, yes, but during that time both trains will be running parallel. Which one ends up ahead at the end, who knows."
I feel that this was accurate. 2018 saw some incredible games made with Phaser CE, yet the majority of new content is now being created with Phaser 3. I'm seeing more tutorials, videos and games being made with V3 than CE now.
Phaser 3 Releases
On February 13th 2018 Phaser 3.0.0 was released. Over the following 12 months it would see no less than 22 further releases, ending the year on 3.15.1. Incidentally, this is exactly the same number of releases as Phaser CE saw in 2017. I guess an average of 2 releases per month feels right when things are bedding down.
A quick flick through the Phaser 3 Change Log will give you an idea of the truly massive level of work that went into it during 2018. The following graph plots out the Updates, Bug Fixes and New Features made in each significant Phaser 3 version:
(click the image for a higher res version)
Although Bug Fixes and Updates have been steady through-out the year, the overwhelming point to track is the level of new features being added to the API. Some of these are significant, such as the new Shape Game Objects, that allow you to easily throw geometry on-screen without creating lots of Graphics instances. Others are tiny little things, like being able to set an optional delay before a Tween completes itself.
What virtually all of these updates have in common is that they've come about via a process of refinement. Trying to make the Phaser 3 API better for everyone. There were very few features added just for the sake of it. Nearly all of them were a direct result of internal improvements. For example, the Shape Game Objects were made possible because of updates to the WebGL Pipelines. Features like
Utils.Array.MoveTo, and related functions, came about because of the addition of the Container Game Object. Custom cursors happened because of updates in the Input Manager. Lots of features were added due to user requests, too. The ability to control the draw order of tiles in Tilemaps is a good example of this.
It's also clear from the graph that 3.16 will be the biggest single release of Phaser yet. With the most new features, updates and fixes of any 3.x version, ever. Not all of which are accounted for in the stats above. Part of me is pleased with this, and another wishes it had been broken down into smaller chunks and released over several versions. But, that's just how it happened this time.
Year Goal: Keep future versions smaller in scope than 3.16 and more frequent.
The Phaser Community
2018 started with issue 110 of the Phaser World newsletter, published on January 2nd. It was sent to 8795 subscribers. The cover carried the new Minecraft Hour of Code project and the issue featured a lovely 8-bit brawler called Kick Punch as well as the usual raft of tutorials and videos.
2018 ended with issue 134 of Phaser World, sent to 10,385 subscribers. That's a nice increase of 18.5%. Less than the 27% in 2017 and less than the 11.5k I predicted we'd have by year-end. The reason for this is that while I published 47 issues of Phaser World during 2017, I only published 24 during 2018. There was a gap of two and a half months between issues 121 and 122. This is a long time to not publish what was, until then, a weekly newsletter. To be frank, I was utterly burnt-out. It's such a huge amount of work to produce that it took me a good while to summon the strength to return to it again.
Year Goal: I need to re-evaluate how the newsletter is created, and how often, to avoid burning out while writing it again. I don't know the solution, just yet, but I'll be trying different things.
Slack and Discord
2018 started with 1330 people in the Phaser Slack channel and ends with 2520, an 89% increase, which is more than the previous years 70% increase. The Phaser Discord channel had a huge growth, starting 2018 with 844 members and ending on 2062, a massive 144% increase.
Considering that last year I wrote I was "in two minds about closing the server down entirely" this is quite the turn-around. It's come about because the community took-up the reigns and worked hard to make it a friendly channel, and I've been on there every day as well, talking and helping in the same way as I do on Slack. Discord feels very different to Slack. I would hedge a guess that the average age of the user on there is significantly lower, and it tends to show in the type of discussions going on sometimes, and the ease with which things can descend, on occasion. Still, there's no denying some people just prefer it as a place to hang out. The interface is also a lot nicer than Slack, so I'm happy to run and participate in them both.
A couple of important changes happened in 2018 with regard to Phaser and the money it generates. First of all, the sources of the income are still the same as before: 1) Patreon and sponsors, 2) Sales, including affiliate deals and 3) Ads. These combine together to form the total income for the year.
The biggest change, though, happened in June. After an insane schedule getting Phaser 3 released I fell very ill. A combination of over-work mixed with a pre-existing medical condition meant I had to take nearly a month off. I was still coding during this time, pushing up fixes to the main repo, but my time per day was limited to just a few hours as I had to rest the remainder of it. During this month, Felipe, who had been working on Phaser 3 for most of its life, also left to work for another company. I wrote about all of this in Dev Log 122. Suffice to say, that when I came out of the other end of it in mid-July I had an important decision to make.
You see, while Phaser has generated a decent amount of income over the years, it has never been enough to survive fully on. During its life I had always run my company alongside it, taking on contract work and building games for clients. The funds from this fed into Phaser, paid for Felipe's salary, web hosting and other fixed costs. The money Phaser generated offset this, of course, but not enough to support my salary too. I figured that now was the time to try, for once and all, to see if it was possible to have a sustainable income from Phaser alone. So, in mid-July, when I returned to work full-time and took over all parts of the Phaser API for myself, I made the decision to give it the best shot I could. From that point on, I stopped taking on any contract work. Phaser was now my full-time responsibility and my only source of income.
So, how did income in 2018 pan-out? Here's a monthly overview:
and by week:
Let's break down each contributor...
2018 started with 164 patrons and ends with 273, the highest it has ever been. This is due in no small part to the work I have put into Patreon over the final couple months of 2018. I totally changed the way the tiers worked, rewarding everyone at every tier, no matter how much they contribute. I added a lot of perks for backers, including easily booked support time, exclusive monthly code example bundles and offers. In short, I'm putting in much more dedication to it than previously, and I feel it's paying off.
After declined pledges and fees we earned $22,382 from Patreon in 2018. This is a 15% increase on 2017 and I hope that with all the extra work I'm putting into Patreon now that it will continue to rise in 2019.
Phaser Backers have become the lifeblood of my ability to devote all of my time to improving Phaser. I will continue to reward them as best I can for this.
Year Goal: To reach 400 backers and carry on offering exclusive benefits.
Phaser Plugin Sales
I've been selling plugins and books for 3 years now and it remains a consistent part of the income. Sales are still managed via Gumroad, who take a percentage from each transaction, but it's a pain free service so I don't see us stopping it just yet. I am getting increasingly frustrated with their poor interface though, which was a real issue when it came to handling sales of the Phaser Stickers, the first physical item I have ever shipped. This forced me to look at using Shopify instead, so I may move to this in 2019.
Important: There wasn't a single new official Phaser product launched in 2018. Which means all sales were from products and books released in 2016 or before. The pricing was tweaked in 2018, so every one of our own products was discounted by 50% permanently. I felt this was the right thing to do given the age of them. We did, however, add new products from 3rd parties, such as the Phaser 3 books and Zenva courses.
Sales come direct from our own plugins and books and also from affiliates. Affiliates have played a major role in 2018, just as they did in 2017, as you'll see:
Total sales income for 2018 after fees, refunds and taxes was $23,631.82 USD. Out of this, $13,188.23 USD came from affiliate deals, which are other sites selling our products, or us selling 3rd party products for a %. Either way, that's 55% of our sales income coming from affiliates, which is a lot more than the 35% it was in 2017. Products sales as a whole were down by $7,307 on 2017. This isn't surprising in the slightest. In fact, I'm probably more amazed that we still managed to generate $10k from Phaser 2 related items.
Last year I said: "We will absolutely have Phaser 3 related products on sale during 2018 though, so let's see what impact this has next year!"
I was completely wrong, though. While we do sell a number of Phaser 3 products on affiliate deals, we haven't created one ourselves yet. The biggest reason for this is that I've simply been too busy working on Phaser 3 itself. It has taken such a massive amount of my time that I couldn't contemplate stopping in order to author a new book or video series. I now realise, however, that if I don't do this in 2019 then this important part of the income will eventually dry-up.
Year Goal: To release at least 1 official Phaser 3 product.
I started running Carbon Ads on the site in June 2017. Although site traffic was down slightly, they still performed well and during 2018 bought in $7,213 USD, an average of $601 per month. This is slightly down on the $637 per month from 2017, but with the reduced site traffic and change in the market that isn't surprising. I'm currently evaluating moving to a different ad service in 2019.
The Grand Total
As before, I've been keeping precise and careful track of income all year. I record it all in a spreadsheet, split by category, so I can see what we're making from affiliates or ads at any point. I continued this process through-out 2018 as it has been invaluable for me now I'm working on Phaser full-time.
Phaser earned $53,227.92 USD in 2018 via Patreon, sales and ads
A $1,004 decrease from 2017. Yet given the lack of new products in 2018 this is still quite remarkable, really. It's also not the whole picture. While I cannot publicly disclose who, I can say that I was sponsored by a large tech firm during 2018 to work on Phaser development and that they contributed a healthy amount towards the project, that isn't reflected in the total here.
I'm quietly confident that 2019 will be a significant income year for Phaser. By the end of it I fully expect the new web site to be live, new products to be available and hopefully even more backers on Patreon.
Year Goal: Exceed $60k USD in revenue.
The biggest single achievement in 2018, for me personally and for the project as whole, was the release of Phaser 3. I've written at length about how the release went and my subsequent thoughts on it, so I'm not going to repeat it here. If you're interested, trawl through the 2018 Dev Logs for lots more details.
The Phaser Sticker Packs were printed and shipped! I had wanted to do these for a while and finally got around to it. It's been fantastic seeing all of your photos of the stickers on laptops and the like :) Packs are still available, so grab them while you can!
The Phaser Doc Jam was a roaring success. It was a community-driven project to help complete the Phaser 3 API Documentation. Collectively we managed to finish no less than 79% of all the remaining documentation. One of my priorities is finishing the final parts off this year.
The very first news article of 2018 was about the 1.4.4 release of Phaser Editor. This editor went from strength to strength in 2018 and is about to release a 2.0.0 version.
One of my favorite games of the year was Mahjong Dynasty, which the screen shot above is taken from. A beautiful tile-matching journey through Asia.
Facebook Instant Games has grown from strength to strength. I personally have added the Instant Games Plugin to Phaser 3 and also published 3 tutorials all about it. I fully expect lots more quality games to be released onto the platform in 2019.
Year Goal: Releasing the Phaser Stickers was a really enjoyable process for me. I loved having something tangible and physical to send people. Those who know me well, know that I adore and collect retro gaming magazines and early coding books. A personal goal for me is that I really want to publish a Phaser magazine in 2019. I don't quite know how that will happen yet, or even how I'll fit it in! But it's something I've literally dreamed of doing for so long that I don't want to deny myself the satisfaction of doing it. In fact, I've mentioned it in the previous two yearly summaries! That's how important it is to me.
Well Hello, 2019. Nice to meet you.
My main prediction for 2018 was "Phaser 3 will evolve at a dramatic rate". That couldn't have been more true! It evolved off all scales by which I've ever tracked progress before.
I also said "I expect it to be updated to ES6 and for it to have entered the realm of 3D graphics too". Clearly, that didn't happen. I said it, because at the time Felipe was working on a 3D renderer for it. This didn't progress very far before he left, though, and there are much more important tasks to focus on in 2019. So it has been side-lined.
However, the move to ES6 is very important to me. Although I may still choose to go to TypeScript instead. This decision is not yet made. Before anything like that can happen I need to release 3.16 (with the long-awaited Scale Manager), re-work how Containers are supported in the core, and get the list of issues down to a manageable number. Once there, I need to take-stock and focus my efforts on the Phaser web site. Only when this is completed can I entertain the thought of moving to ES6 or TypeScript.
2018 was a real roller-coaster of a year. There have been some blissful highs and some genuine lows. I worked myself into the ground getting Phaser 3 released and paid the price for doing that. If 2019 is to be about anything, it should be about moderation. That doesn't mean doing less work, it means being more careful about how it is done.
I feel very privileged to be in a position where I can work on Phaser full-time. I feel very thankful to my wonderful backers who enable this to happen. It's an opportunity not many open source projects get and I'm not going to squander it. So, 2019 has to be about maintaining the current development velocity, the current dreams and the current good practises, while maintaining health and sanity at the same time. Because one leads to the other.
Happy New Year everyone!