JavaScript Game Development — Where to Start?

Vadim Brodsky
Mar 5, 2016 · 3 min read

This is the question that I have asked myself this morning. The JavaScript ecosystem is huge. But today I decided to experiment with something new, how about making something simple and fun — oh I know a game.

Image for post
Image for post
A slightly more advanced version of Pong

Usually before evaluating any technology choice it’s a good to have requirements in place to pick the right tool for the job (or the shiniest tool for the job). Do you have requirements, you ask, yes — Pong. I want to start with a simple prototype of Pong, because I have 0 game development experience (actually, not true I did build BlackJack, Tic-Tac-Toe and Rock Paper Scissors Spock Lizard games in Ruby).



Image for post
Image for post

In addition Tobias Hermann offers many praises for the functional approach to game programming in Elm. It’s also been that inspiration to things like Redux. The Elm language is very interesting and I want to come back to it, but it looks like currently there is no set “Game Engine” or any other support library in Elm — everything is do-it-yourself.


Image for post
Image for post
JavaScript the best* language

Ok, ok so what about vanilla JavaScript you ask. Unsurprisingly JavaScript has many libraries and game engines to choose from, HTML5 Game Engines and this Github Wiki offer some choices. Did I mention choices, oh so many choices. After some research, primarily reading Reddit threads (yes, I know) and looking at the websites of the most popular frameworks (judging-a-frameworks-by-its-homepage™) I am considering these 3, no, 5 game frameworks:

  1. Phaser —“A fast, fun and free open source HTML5 game framework”, looks like it has many features, ooh Opal support.
  2. Pixi.js — “2D webGL renderer with canvas fallback”, its fast?!
  3. Create.js — “A suite of JavaScript libraries and tools designed for working with HTML5”, not just games.
  4. Crafty.js —“A flexible framework for Javascript games”, looks small maybe simple too.
  5. gameQuery — “Javascript game engine for jQuery”, looks unmaintained and has a nice SteetFighter demo (unplayable) but hey, it’s jQuery.

So, my plan over the next few posts to experiment with these game frameworks and share my experiences.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store