Gaming and the Web

By Nathan Segal

Gaming and the web is a hugely popular activity. One sees games all over the place and there are ample opportunities to play them, both free and paid. In this article, we look at gaming and the various programming tools involved, including HMTL5, JavaScript and others.

According the Mozilla Developer Network, the modern web has made it possible to "create stunning, high-quality games." Flash is now a thing of the past and the new games are powerful, with robust 3D action shooters, RPGs, etc. There have been "massive performance improvements in JavaScript just-in-time compiler technology and new APIs, you can build games that run in the browser (or on HTML5-powered devices like those based on Firefox OS) without making compromises."

Here's what you can expect for the gaming platform, according to Mozilla.

Not only that, there are multiple platforms one can use. Here are a couple of listings of the various tools available.

Gaming Best Practices

When designing a game, here are some best practices to observe:

  • Use a framework. If you use a framework like ImpactJS, this is good for most of the game development. A framework like EaseJS is mostly for the graphics side. Which platform you use depends on your comfort level and while that might seem obvious, each platform will have its own style of programming so you will need to take that into consideration.
  • Be aware of the touch screen sizes on various devices. These can vary a great deal between device size, screen resolution and aspect ratio. To deal with the issue, it would be wise to create multiple resolution options within your code. Another, important aspect are the buttons. These need to be big enough to be touched easily and to have enough space between them so you don't accidentally trigger other buttons because they are too close.
  • Make sure to save a player's progress on a regular basis. Make it automatic to do so and when a player returns to a game, allow them to resume playing where they left off, or with a web page they've closed.
  • Use a Profiler. This comes into play because the challenge is to maintain high frame rates as you add features to a game. The up side is browsers are faster than their earlier counterparts and games running at 60 fps are a reality. For simple games, this shouldn't be an issue, but if you're developing high-end games, the performance might not be as good as you'd like. To resolve the problem, you would make use of profilers in the browser. You can find a more complete explanation in this article.
  • Be Aware of Performance Killers. When running a game, keep your open windows to a minimum AND optimize your system. As an example, running YouTube videos while playing a game will slow it down. Another issue is if you have software running in the background. Programs can use up precious resources, quickly. If there are too many running, these can slow game performance to a crawl. Another issue is using a browser which cannot keep pace with the rate of play in a game.
  • Incorporate Social Features: This means easy access to Twitter or Facebook, so users can easily post their scores to share with other players.
  • Design your game to make people interact with each other, exchange gifts, and even make friends with others. Part of a game's success is the social element.

Internet Speed to Play Online Games

These requirements vary from game to game, but one thing to be aware if is that games are resource intensive and requirements are all over the map. In general, going with a faster Internet plan, at least 20 Mbps or higher. At minimum, 12 Mbps and in terms of upload, a minimum of 1 Mbps. The thing you want to avoid is lag and if a 1 Mbps upload isn't fast enough, you will need to upgrade your hosting plan

Hardware Requirements

As you can imagine, there are many options for hardware Many games use between 1 - 4 cores, so a quad-core processor with a high-clock speed is a good choice. Here are some specifications: Core i5 4690 @ 3.5GHz, 16GB RAM, Samsung 850 EVO Series SSD (120GB to 1TB), 1920 x 1080 @ 60Hz (or lower) with a GeForce GTX 960 2GB. Here is an extensive list of options.

Game Development Resources

About the Author

Nathan Segal has been working as a freelance writer for 18 years. In that time he has published more than 1,000 articles and has written 9 books. You can learn more about him at http://NathanSegal.org.

  • Web Development Newsletter Signup

    Invalid email
    You have successfuly registered to our newsletter.
Thanks for your registration, follow us on our social networks to keep up-to-date