JavaScript 3D game engines is a hot topic right now with everyone building browser based 3D games using JavaScript, HTML5 and WebGL technology. The best thing about browser based games is platfrom independence they bring in and run on iOS, Android, Windows or any other platform.
There are tons of JavaScript resources out there that can be used for building browser based 3D games using HTML5 and WebGL. However, selecting the right gaming engine can be a real challenge at times and can end up making or breaking your project.
If you are looking for Game Engines to develop 2D, 3D and VR games for Consoles and Mobiles, Check out this article – Game Engines for 2D, 3D and VR.
To make the selection process for you a littler easier, we have gone through and analyzed most of the javaScript 3D game engines available in the market as of today and short-listed the top 10 to help you create great HTML5, WebGL games in JavaScript.
1. Babylon.js
Babylon.JS is undoubtedly the best JavaScript 3D games engine out there in the wild as of now for creating professional grade games that you can sell.
Babylon.JS is the outcome of David Catuhe’s love for 3D gaming engines. He has experience in creating 3D games engines in DirectX, OpenGL, and Silverlight etc. and has finally created one in JavaScript.
Some of the key features of Babylon.js framework include scene graphs with lights, cameras, materials and meshes, collisions engine, physics engine, audio engine and optimization engine at the core.
There is a Babylon.js playground available as well to try your hands on with this 3D gaming engine.
You can grab the source code for free at babylon’s github repository.
2. Three.js
Three.js is another comprehensive and powerful JavaScript 3D library for doing everything 3D, right from creating simple 3D animations to creating interactive 3D games.
Threejs library brings much more than just supporting WebGL renderer, it comes packed with SVG, Canvas and CSS3D renderers as well. However, from games perspective you might want to focus just on WebGL renderer of three.js library.
Three.JS is created and maintained by Doob and Altered Qualia and available as open source under MIT license. You can download the minified version or use it via a cdn.
You can grab the source code of three.js 3D engine at – github.com.
You might also like – HTML5 Animation Tools
3. Turbulenz
Turbulenz is one of the oldest game engines and is dated back to 2009 when HTML5 and WebGL were still in the making. Turbulenz was not available as open source until 2013, in 2013 it was first made available to public for free use as open source under MIT license.
Turbulenz has seen a massive demand post its listing as open source.
Turbulenz comes packed with tons of features like 2D physics, 3D physics, sound, video and other services like leaderboards, multichat, payments and user data.
More about Turbulenz at – biz.turbulenz.com.
Grab the source code at – turbulenz_engine.
4. Famo.us
Famo.us is another big player in the market of HTML5 3D development and is one of the best open source free to use JavaScript 3D Frameworks. The best thing about famo.us is that it comes packed with 3D layout engine which is fully integrated with the 3D physics driven animation engine.
Getting started with Famo.us is real easy with free classroom’s available for developers on famo.us university. The community is great and supportive and you can easily find tons of resources and working examples.
More about Famo.us at – famo.us/docs.
Grab the source code on GitHub at – famous.
5. PlayCanvas.js
PlayCanvas is an enterprise grade open source JavaScript based WebGL game Engine that has got tons of developer tools to help you build 3D games within no time. PlayCanvas.js is built by a professional community and was not an open source initially but now you can fork it on GitHub and start using it for your next 3D game project, free of cost.
It also comes with cloud based editor that runs in your browser, so getting started with PlayCanvas is as easy as navigating to the Editor URL. Editor supports collaboration among teams which essentially means many people can work on the same project in parallel.
PlayCanvas.js is backed by the giants like Mozilla, Activision and ARM.
More about PlayCanvas at – playcanvas.com.
Grab the source code at – playcanvas/engine.
6. Goo Engine (Discontinued)
From the house of Goo Technologies, Goo Engine is a powerful set of JavaScript API’s for creating anything 3D in HTML5 and WebGL. There is an online editor goocreate that runs on this engine and comes packed with many features like visual 3D editor, material editor, scripting and easy publishing options etc.
You can use the online in browser editor by paying some associated license fees.
Though the editor has some associated cost but the JavaScript based goo engine is absolutely free and can be downloaded for use in your own 3D projects.
7. CooperLicht
Ambiera is the company behind who created it, used it for years for inhouse production and finally made it available as open source.
CopperLIcht is one of the finest 3D engines for creating browser based games. It is the backend engine for the 3D games editor CopperCube.
CopperCube is the editor that supports all features required to build 3d games and animations. Howevver, the editor has some license fees associated and is not available as open source.
8. Voxel.JS
Voxel.Js is open source JavaScript based 3D game engine written by @maxogden and @substack. The community has grown fast ever since its release. Voxel is a great option if you are the one who love modular approach.
Voxel-engine is the core module for building 3D games, other modules can be plugged in as required. There are around 200+ addons published on npm as of now.
There are tons of resources, tutorials and modules available to get started with Voxel. You can build voxel-style games with ease using this engine.
Grab the Voxel engine at – maxogden/voxel-engine
9. Blend4Web
Blend4Web was released as open source 3D framework by a Russian company named Triumph back in 2014. It is tightly integrated with Triumph’s 3D content authoring tool “Blender” and has native support for Blender’s node materials, particle system ,Bullet Physics and other functionality.
Blend4Web is under active development with tons of enhancements being made in short span, looks promising to compete the likes of the biggies like Babylon.js and three.js in near future.
Grab the Blend4Web source code at –blend4web.com/en/downloads.
10. Enchant.js
Enchant.js is a modular, object oriented JavaScript framework for creating simple apps and games in HTML5. It is available as open source under MIT license and hence free to use. 3D animations and games can be created using additional plugins that give WebGL powers to enchant.js.
Enchant.js is becoming powerful with new features and plugins and is actively maintained and developed by the Akihabara Research Center at UEI.
Grab the source code at – wise9/enchant.js
ClosingThoughts
The market for HTM5 3D games is growing very fast and is paused to capture a good stake in mobile gaming space too. We are also seeing a massive growth in tools that compile JavaScript to native codes which makes your decision even easier to select a JavaScript based framework for your next 3D gaming project over native coding.
Selecting the right 3D game engine, however, is crucial for any project and thorough evaluation upfront definitely pays off in the long run.
To make the selection process easier, we have evaluated open source as well as commercial grade 3D game engines and come to the list of the best 10. Do let us know which one you plan to use for your next HTML5 based 3D game via comments. Happy coding! Love JavaScript!