Why video games on the web?
Here are a few of the great benefits of publishing a game on the web, both to you as a creator and to the player:
You have full control of the distribution of the game. This might not appear as a big deal at first, but it's in fact the most important reason by far why web apps dominate the business world. You can update your game at any time, release new features instantly, and have the changes in the hands of the players as soon as you're ready. This is a much better situation than the curated App Stores of the world, where for many reasons you have to go through a lengthy approval process for every update, which might take weeks at a time. Needless to say, this will slow down the pace of your releases to a crawl.
No need to share your earnings with the App Stores of the world, which can go up to 30% for every single transaction in your game.
The player can play the game immediately without downloading anything and by simply visiting a website. If you've ever created an executable game demo and wanted to show it to others, you know how many barriers are placed in front of the potential players. If you put a .exe file on the web, there's a good chance the browser won't let the download go through, ostensibly to protect the user from malware and viruses. If you bypass this protection, Windows will do the same, complaining loudly that this executable is untrusted, adding further suspicion to your game. You also have to distribute possibly hunders of megabytes of assets, libraries, bypass a ton of other barriers, and you can imagine that any sensible person is likely to give up at this point. With a web game, you don't have these problems at all, and as a result many more people will give your game a try.
By integrating the game with web technologies, we can create unique gameplay features such as multiplayer mod distribution, leaderboards, easy matchmaking, organized esports, player-made tools and statistics, and much more. Tech like this is largely unknown in the game development industry, and only studios with the largest budgets have the time and energy to invest in them, sometimes to immense success (such as Dota 2). In comparison, in business web apps such features are routine and widely available, and the techniques to implement them are taught by any company to their junior developers.
The web is naturally a networked platform, and this applies to web games as well. Technologies such as WebSockets, WebRTC, and HTTP can be easily used to create multiplayer experiences that would normally take a lot of developer resources to achieve. Using this tech is further made easier by widely available computing resources, such as Virtual Private Servers, Cloud platforms, and APIs.
Finally, the learning resources to implement these features are widely shared and available all over the internet. The culture around open source and knowledge sharing is nothing short of a miracle, and I hope that this book will serve to perpetuate this culture and give useful information to the reader.