This time last year I posted an article about how Phaser had performed in 2015. I included a lot of stats, and details about the year to come. It's time to revisit those stats, update them for 2016, see how many predictions were accurate, and take a look at what 2017 will bring to the party.
Phaser Site Traffic
In 2015 the Phaser site delivered 9.02 million page views to 557k users. In 2016 this increased to 11.2 million page views to 688k users. This is a 24.07% increase on 2015.
So what browser do site visitors use? Perhaps unsurprisingly, for a developer focused site, you're pretty much all on Chrome. In fact, 76% of you are, which is a 4.47% increase on 2015.
Firefox is second with 13.78%, which is a 17.89% drop from last year.
Beyond this we're into the little numbers, with Safari peaking at 5.79%, just ahead of Opera. Below which are both Edge and Internet Explorer. Edge has seen a 132% increase, almost certainly thanks to the proliferation of Windows 10, while IE use has dropped by 35% to just 0.88% of all site visitors.
Windows is still the major platform by far, accounting for 59.29% of all traffic. This is actually up 2.08% from last year. OS X comes second at 22%, a slight decline on 2015. Linux is at 9.32%, also a slight decline (5.76%) on last year.
Mobile visits to the site are so low they barely register, but again this isn't surprising. They are mostly focused on the Examples and News sections - so it's likely to be people reading the newsletter and following links within it, or testing the Examples on mobile.
In my post last year I stated that I was really pleased that we ran the site ad-free, not even having ads in the Disqus comments. Sadly, due to changes in the Disqus terms of service, we now have to run their ads if we want to keep using them. Which utterly sucks because the ads are horrendous. So it will be part of my plan to replace the comment section in 2017.
The site still runs from a dedicated server hosted in the UK with UKFast. We recently upgraded the hardware to cope with the extra traffic, so the cost has increased to £350 GBP a month, up from £190 GBP a month in 2015.
Last year I wrote: "Little known fact: 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 is all still true. I would love to upgrade to a newer build of Laravel this year, but as the site 'just works' as it is, it's a low priority for me.
Looking forward I think the one thing the site is missing is a sense of community of its own. Sure, it shows what is going on in the wider world, with plenty of links to new games and tutorials, yet the site itself doesn't even allow you to register an account, and has no community within it. Part of me feels that 'site based communities' are a thing of the past. They used to be massive, essential to a brand even, but these days are much less so. Still, when you're in a niche area like Phaser is, that is when communities form and flourish, so perhaps it ought to be an area of focus in 2017.
HTML5 Game Devs Forum
I said last year that the HTML5 Game Devs Forum was continuing to grow at a nice pace, and this has been true in 2016 as well.
We're now at 18,146 members, a 36.67% increase from 2015. They have made 154,766 posts in total, 44,952 of which were posted in 2016. I took on a bunch of new moderators this year, which have helped get new post approval times down dramatically. We also saw the addition of the Melon JS board, bringing that framework into the fold.
The most popular forum is the Phaser one, at 53,435 posts, but the Babylon.js one is a very close second at 48,692 posts. I personally have been less active on the forum this year, tending to prefer talking on Slack and Discord more.
In terms of traffic the forum had 4,522,083 page views in 2016, from 875,263 users. Compared to 2015 that's a page view decline of 5.79%, but an increase of 0.33% in the number of users and sessions on the forum.
Last year I said I was happy with the way things were going on the forum, and that hasn't changed. It has always been, and will always be, a niche forum - and that's perfectly fine. Page views might be slightly down, but new users, and more importantly, new posts, are up, so it's healthy and alive.
The forum software we use, IPB, went through some major updates in 2016 - which honestly caused me a lot of wasted time and grief. They dropped support for the version of their software we were using, and stopped making security updates for it. So we had no choice but to upgrade. The process was far from ideal, and the new version of IPB lost some really important features the previous one had, yet there was nothing we could do about it. One thing I did do however was remove the banner ads, so the place now runs 100% ad free.
Phaser on GitHub
This time last year Phaser had 10,978 stars on GitHub, it now has 13,978, an uncannily perfect increase of 3000 stars. Thanks to this, we retain our first place position as the highest rated JavaScript game framework on GitHub, and still the highest rate game engine, period.
As we close in on 14k stars I have to repeat what I said last year: "GitHub stars aren't really worth anything. They are about as much use as a Facebook 'Like' or a Twitter 'Heart'. Just a vague indication of the global appeal of something. But even so I personally find it great that so many developers voted for Phaser. I know it shouldn't encourage me, but I'd be lying if I said it didn't."
The Phaser git repository had 227 pull requests in 2016, slightly down on 281 PRs in 2015. As with last year, most Phaser development took place on the dev branch, and GitHub stats still only track master. Making the exact volume of commits, amount of code changed, etc, hard to quantify using GitHub stats alone. This will be completely different next year, because we now build against master. It'll be fascinating to compare stats in 2017.
The first PR in 2016 was "Suggestion: Add the ability to gain keyboard focus" by nexiuhm. Something which didn't actually make it into the code base.
Last year I said: "Looking forward to 2016 I'm not expecting as large a growth as this year. Splitting Phaser and Lazer apart means that both will grow at a slower rate, or indeed once Lazer is the mainstream version that Phaser use will start to drop-away. I guess we'll find out in next years round-up."
As we all know, Lazer didn't happen this year, so the above prediction was false. Phaser did actually carry on growing as steadily as before, and with a Phaser 3 release in 2017 I predict this to continue. I also firmly believe there is a 'glass ceiling' on the total number of GitHub stars your project can get, which is partly caused by the limited number of developers actually using GitHub. The effect is almost parabolic.
Phaser Releases
Phaser entered 2016 on version 2.4.4 "Amador", and over the course of the next 12 months it would see no less than 12 releases, ending the year on Phaser CE 2.7.2, and a heavily developed, but not yet released, Phaser 3.0.0.
The first release of 2016 was Phaser 2.4.5 "Sienda" on February 17th. This was a big bundle release, containing a bunch of small, although not insignificant updates and fixes. As the year progressed, more and more new features landed. From little but important things like the new P2 Physics functions thrustLeft
and thrustRight
, to bigger features such as Camera shake, lerp, fade and flash.
The 2.5.0 release ("Five Kings") in June 2016 had no less than 36 new features including the comprehensive Weapon Plugin, for easy weapon and bullet management. I was rightly very proud of that release, and it continued to 2.6.0 with the addition of Circle collisions in Arcade Physics, and handy new Group methods.
Phaser 2.6.2 came out on August 26th and would be the last 'official' version of Phaser 2 ever, as on November 24th we released Phaser CE. The CE stood for Community Edition. The concept was simple: We physically couldn't manage to work on Phaser 3 and maintain Phaser 2, yet we didn't want Phaser 2 to languish as a result of this. So we seeded Phaser CE with all the work we had done in Phaser 2.7.0 to that point, and released it as Phaser CE, with the provision that it was now over to you - the community - to maintain it going forward. We would quite simply merge any PR that came in, no matter what.
To date we've published Phaser CE 2.7.0, 2.7.1 and 2.7.2 - with 2.7.3 in development and likely to get a release in January. While I said I wasn't going to touch it again, so I could focus on Phaser 3, that isn't strictly what happened - and I've made numerous small fixes and doc updates in Phaser CE :)
What will happen to Phaser CE in 2017? I'm honestly not sure. I think that small PRs will continue to come in, but ultimately as soon as Phaser 3 hits a stable release I believe support for CE will all but vanish. And I don't think that's a bad thing either. It will serve its purpose as we transition from v2 to v3.
2016 was an incredibly busy year for Phaser. This time last year I said it would be a virtually non-existent year for Phaser, as we'd be working on Lazer instead. I couldn't have been more wrong, but everyone benefited as a result, and Phaser grew and grew.
Farewell Lazer, Hello Phaser 3
In my round-up last year I talked in depth about Lazer. It was to be a brand new vision for Phaser, built on a fully modular ES6 code base. Re-reading my post now, I was clearly excited about it at the time, and I firmly believe the majority of ideas expressed in that post still hold true.
So what happened?
It's quite a story, one of development, pivots, and responding to the community. I outlined the whole journey in my post The Evolution of Phaser 3 and Lazer.
For the sake of brevity I won't repeat it all again here, so if you've not yet read the post then please do so before continuing with this entry...
Given that all the effort being poured into Phaser 3 was covering everything I ever wanted to achieve with Lazer, the conclusion of the post asked a fundamental question: What should we call Phaser 3? Should we use the name Lazer, or drop it entirely?
One of the main original reasons for picking the name Lazer was that the word Phaser is trademarked by CBS (the studio who own Star Trek) in all categories that our Phaser would inhabit, should we ever want to trademark it. That's a legal battle we could never win. So part of the rebranding to Lazer was to allow us to trademark the name, and also to avoid any potential legal wrangles.
Yet deep down, I knew I didn't really want to change the name. When you invest as many years, and as much brain space as I have on something like Phaser, it's hard to readily swap all of that for something new. It would appear the community agreed. The responses on Patreon, Slack, the Forum, Twitter, and even personal emails, all said the same thing: Keep the name Phaser, and use the version 3 tag to identify it as the major release that it is.
Some of my favorite quotes regarding this:
See, you guys are great :)
If I throw away the ability to trademark the name, which I'm happy to do, then I can keep it called Phaser. And that is what will happen. I'll retain the Lazer domains just in case CBS ever come knocking, using them as an emergency fall back if we're forced to. As it stands now we're going in to 2017 with the name Phaser, and the version number 3, and quite frankly that's a great place to be.
The Phaser Community
In October 2015 I published issue 1 of the Phaser World newsletter, and have published an issue virtually every week since.
2016 started with issue 11 on January 1st, sent out to 4250 subscribers. It finished the year on issue 61, sent to 6833 subscribers. A healthy 60% increase.
It has become home to our Developer Progress reports, which I feel probably ought to be shared in a location other than just the newsletter, as they're vitally important at showing what we're working on. That's something I'd like to sort out in 2017. Other than that, I really like the newsletter, and love writing it. If we follow current trends we should have around 9000 subscribers by the end of 2017. If we could make 10,000 that would be magic :)
On the Slack front things have grown steadily. 2016 started with 239 people on the Phaser Slack channel, and ends with 780, a very healthy 226% increase. I meant to automate the joining process during 2016 but never got around to it, so I still manually add the users when they email me. One day, one day ...
On November 7th I set-up the Phaser Discord channel, prompted by one of the developers at Discord who was also a Phaser fan. Thankfully subscriptions to Discord are automated, so no emails needed. 2016 ends with 261 members to the channel. Discord is generally a lot more quiet than Slack, but I hang out and help users in both, so pick whichever you prefer! For me, Discord has a generally better app interface, but Slack is the king when it comes to inlining code, or sharing code snippets.
Phaser on Patreon
The Phaser Patreon has been running since July 2015. It started off really well, and by the end of 2015 there were 77 patrons bringing in $1,248 per month. However a lot of that money was dominated by a few really large patrons, which meant that when they dropped out, the income dropped with them.
I took a good amount of time to re-think what the purpose of Patreon was, and how to give back to those who support me on it. I revamped the pledge levels, offered up some nice new rewards: such as forum badges, and dedicated support time with me via Slack / Discord, and re-wrote the 'pitch' page. I also made sure to post important progress reports there first. Finally, new patrons are thanked personally in the Phaser World newsletter each week.
One of the rewards I offer is personal technical support via chat. I have conducted lots of these sessions over the past year, and I honestly really enjoy them! It's great to have your brain picked, and the feedback I've had has been really positive. So if you're a patron, and want to throw some questions at me, then book in your support session :)
I'm pleased to say that we'll end 2016 with $1,884 earned per month, however the most important thing is that this comes from 132 patrons, a 71% increase from 2015. It excites me just as much when I get an alert saying "X pledged $1 per month to Phaser" as it does any other amount, because I'd really love for patrons to be in it for the 'long haul', and not just pledge on a whim and cancel a few months later. It feels as if the smaller values are more likely to stick around. After declined pledges and fees Patreon bought in $13,307 in 2016.
Phaser Plugin Sales
I started selling Phaser plugins in 2015, and had 5 plugins and 3 books on sale by the end of that year. All sales are handled via Gumroad, who manage the payment process, payment support, and file delivery. They naturally take a cut for this, but it's comparable to most similar services.
At the end of 2016 I now sell 8 books, 5 plugins and 2 apps from the Phaser web site. Some of those are affiliate based. For example we sell the Phaser Editor from our site, but it's done on an affiliate basis and the original author gets 50% of all sales. It's exactly the same for books.
So let's run some numbers from 2016:
Total income for the year, after fees, refunds, and taxes are taken out was £27,941.33 GBP, which based on the current exchange rate is $34,196 USD.
Out of that total $3809.58 came from affiliate commissions. We also affiliate sell the Zenva Academy Phaser video courses, and get a percentage from those. During 2016 we made $2790.66 from the Zenva deal, so in total affiliates were worth $6600.24 to us, which is not an amount to be sniffed at.
There were very few product launches in 2016. No new plugins, just the Games Pack 1. And no new books from us either. I had to cancel the Interphase 2 pre-orders because I just didn't have time to finish the book, which honestly was my biggest regret of the year.
I predict that in 2017 if we don't release some new books, or update the plugins to work with Phaser 3, that we'll see the sales decline to a point where they aren't relevant any longer.
If you do a bit of quick math you can see we've earned $50,293 USD in 2016 from Phaser related sales, affiliates and Patreon. Brexit happening screwed the USD - GBP exchange rate a lot, and it still hasn't recovered, so that total isn't entirely accurate (i.e. it doesn't map to what we received in our GBP bank balance), but it's not too far off.
That's a really healthy amount. I'm so pleased Phaser has grown to the point where it can sustain that level of passive income.
Is it enough to cover all the company expenses and live off for the year? No, not completely. Once you factor in office rent, utility bills, hosting costs, bank fees, professional fees and subscriptions, they take a significant chunk out of it.
However the money allowed me to do one incredibly important thing: Hire another developer.
Felipe has been working full-time on Phaser for half of 2016, and it has made a huge difference. Both to my moral, and to the speed at which cutting-edge new features are being created. The income allows me to know I've got his salary covered, which is a fantastic position to be in. He doesn't work on client projects, or get pulled onto anything else, he's purely dedicated to Phaser.
It's not enough to cover my salary though, which is why I have to continue to take on contract client work, to make the ends fully meet. And believe me when I say I draw a very modest salary indeed. But at least I can now be a lot more selective about that work, leaving plenty of space for Phaser to evolve around it, and knowing Felipe is there working on it even when I can't be. I'm really happy that 100% of the patreon money is spent directly on Phaser.
Do I imagine this changing in 2017? I honestly don't know. If I manage to author and release some Phaser 3 learning materials and plugins, then I fully expect it to sustain its current levels, which will allow things to carry on as they are - and right now, that's good enough for me. If the money increases then I will most likely see about hiring someone else to help with Phaser, perhaps going over the documentation, or creating new tutorials and examples. Either way, it'll get re-invested back in to the project itself for sure.
My personal goal for 2016 was to be in a position where I could work on Phaser full-time. I believe I've achieved that. It may not be me personally who is working on Phaser full-time, but at least someone is. We're in great financial shape, and it gave us time to breath, hire, and plan for what's next.
2016 Highlights
2016 was another incredible year for Phaser. I was worried that with the floundering around Lazer / Phaser 3 that it may hamper adoption of the framework, but that couldn't be further from the truth. It appears there are a core set of devs who now just consider it part of their workflow, and keep on churning out great games. I will pick out a few highlights:
-
The very first news post of 2016 was a tutorial on playing sound effects each time your Sprite hits the ground, written on the Amphibian Abstracts blog. A bunch more tutorials from the same author would follow throughout the early part of 2016.
-
Early on in the year, the QICI Engine was receiving loads of updates. This was an almost Unity-like IDE experience built on top of Phaser, and it was pretty outstanding. I'm not sure of the current status of QICI. Here's hoping it'll be resurrected as they had a quality product there.
-
Experimental games featured heavily in 2016. From the bizarre puzzler Crucial Pain, to the unsettling Dyg and my personal favorite Simplify This Horse.
-
On the 12th of April 2016 Phaser had its 3rd birthday. I celebrated by writing a retrospective about it all, and taking the very first version of Phaser and running it again. You can see even back in April I was doubting that Lazer was the right move at that time, and was already pivoting towards diving right back in to Phaser development again. In hindsight, my gut was right. I should probably trust it more often.
-
I lost count of the number of Donald Trump related games I was sent. From Trump on Top and The Mexican Wall, to Trump Jump. A bit like the man himself, they just wouldn't stop.
-
Phaser was used to power more big-brand games than ever before. Tetris, Pacman, the Avengers, Spiderman, Dr. Who, Num Noms, Go Jetters, Scooby Doo, Build a Bear, Doritos, Q Pootle 5 and plenty more. The U.S. Army used Phaser to build the Earth Space Defense game, and it was even used by The Late Show to create a game about Bernie Sanders. This reinforced my belief that Phaser was still being used in pro level studios, as well as by indies.
-
In February I was interviewed by GitHub for one of their new Developer Profile articles. It was a fun piece to do, and the office is still filled with the super cool GitHub merch they sent us :)
-
At the end of October I gave a talk at a local JS group, Bristol JS, about Phaser. How it started, what it was about, and where it was headed. It was the only talk I gave in the whole of 2016, and I really enjoyed it.
-
There were some incredible games released in 2016. If I had to narrow down my selection to just 3 then they would be: Boeva - The Game, where you play through mini sized versions of classics like Street Fighter, Outrun and Virtua Cop as Dutch TV personality Boeva. In joint second place are Run the Net and Dev Runner. They both share similar mechanics, names and concepts; that of running through time, and both are superb for it. The studio Cangrejo Ideas released my absolute favorite game of 2016: Nearwood. A browser remake of a PC hidden object classic this had everything, from stunning graphics, to compelling puzzles to solve. Cangrejo Ideas release a lot of quality games, yet this one arrived at just the right time for me personally, to reinvigorate my belief in what I was doing.
2017 here we come ...
Socially and politically it felt like 2016 went to hell in a hand basket. Place yourself in to a Phaser shaped bubble though, and things look very different. There were some extremely strong releases this year, hundreds of quality games and tutorials published, and stats are up across all metrics that matter.
I personally felt quite dejected during 2016 that Lazer was stalled. It felt as if, even with all the great updates I was working on, that Phaser was still being left behind by other tech. Thankfully I can close out this year feeling quite the opposite. The Lazer episode has been put to bed, Phaser 3 development is in full swing, and I absolutely love what we're creating there. I honestly can't wait to share it with everyone, as soon as is possible.
Do I have any predictions for 2017? I'll end with just two: First, keep your eye on Facebook. What they're doing with Instant Games inside of Facebook Messenger is going to draw a lot of attention to HTML5 games. This will be a very good year to be an HTML5 game dev. And my second prediction: Phaser 3 will ship, and given time it'll become bigger than Phaser 2 ever was.
Happy New Year everyone!
Rich