A curated list of game development resources to make magic happen.
- :free: - Free
- :tada: - Open Source
- :moneybag: - Paid
- :money_with_wings: - Partially Free
Table of Contents
- Board Games
- Must see
Great graphics placeholders and tools to turn that squared game into a picasso painting
- :free: 2D Cartoon Mobile Game UI Pack - cartoon user interface asset pack. It comes as a layered psd file.
- :free: 420 Pixel Art Icons for RPGs - Set of 420 RPG icons, free for commercial use.
- :free: Blender 3D models - 3D models, particle systems/effects
- :money_with_wings: CGTextures - A large collection of textures.
- :money_with_wings: GameDev Market - a community-driven marketplace that connects indie game developers with talented asset creators.
- :free: Games-Icons Set - free icons for your games.
- :free: Google Poly - Searchable database of 3D models with rotatable previews. (Only remixable models are downloadable.)
- :free: Iconmonstr - Another free icons resource for your games.
- :money_with_wings: Kenney Assets - Royalty free assets
- :free: Liberated Pixel Cup assets - Free graphic assets of the Liberated Pixel Cup (LPC) held by the OpenGameArt forums
- :free: OpenClipart - Collection of free cliparts.
- :free: OpenGameArt - a media repository intended for use with free software game projects.
- :moneybag: Oryx Design Lab - Cheap high quality royalty free sprites
- :money_with_wings: PlainTextures - Free high resolution textures, brushes and photos
- :free: Reiner's Tilesets - A blog with free 2D and 3D graphics.
- :free: Sketchfab - Publish & embed interactive 3D models.
- :free: SpriteLib - a collection of static and animated graphic objects (also commonly known as sprites).
- :free: StickyPNG - Free transparent PNG images.
- :free: TextureKing - Free material stock textures
- :free: Tree Generator - An Online tree generator.
- :money_with_wings: Vecteezy - Free Vector Art.
- :free: Yobi3D - Free 3D model search engine.
- :tada: Cheetah-Texture-Packer - High efficient and fast 2D bin packing tool
- :free: GraphicsGale - Animation graphic editor easy to use.
- :tada: Libgdx Texture Packer - Texture Packer built into Libgdx
- :free: Littera - Bitmap font generator
- :free: ShoeBox - Adobe Air based app with game and ui related tools.
- :tada: Sprite Sheet Packer - Combine multiple images into a single sprite sheet and generate a txt map of it.
- :money_with_wings: TexturePacker - Great spritesheet creation editor.
- :tada: ImageAlpha — Mac OS X GUI for pngquant and other tools
- :money_with_wings: Kraken.io - robust, ultra-fast image optimizer and compressor with best-in-class algorithms.
- :free: PNGGauntlet - Smash PNGs for faster sites
- :free: PNGoo - Windows GUI for batch conversion.
- :tada: Pngyu - simple PNG image file compression tool.
- :tada: SuperPNG Photoshop plug-in — Mac and Windows. Comparison with "Save for Web"
- :money_with_wings: TinyPNG - Advanced lossy compression for PNG images that preserves full alpha transparency.
- :moneybag: FilterForge - A plugin for Adobe Photoshop that allows you to build your own filters.
- :free: Live Normal - An Android and iOS app for generating seamless materials on the go. You take a photo, and Live Normal creates a tile-able texture and generates texture maps ready for a PBR engine of your choice.
- :moneybag: PixPlant - PixPlant is a smart 3D texturing tool that creates high quality normal, displacement, specular maps and seamless textures from photos.
- :moneybag: STG - a tool for creating professional seamlessly-tileable textures from photographs quickly and easily.
- :free: Charas - Charas is a charset generator for RPG Maker.
- :tada: Universal LPC Sprite Sheet Character Generator - Sprite character generator based on the LPC (Liberated Pixel Cup) graphics
- :free: ArrayPainter - Array Painter is the easiest and fastest way to make 2D arrays ready for copy pasting into your own program.
- :moneybag: AutoTileGen - AutoTileGen is an automatic tileset generator for 2D game terrains.
- :tada: OGMO Editor - generic level editor.
- :tada: Overlap2D - a 2D level and UI editor with an engine agnostic philosophy.
- :free: Tiled - free, easy to use and flexible tile map editor.
- :moneybag: Fusion Character Animator - small tool for Clickteam Fusion 2.5 to facilitate the animation of 2D character sprites for developers.
- :moneybag: Spine - Spine is dedicated to 2D animation, providing an efficient workflow both for creating amazing animation and for integrating it into your games.
- :moneybag: Spriter - Modern tool for sprite animation.
- :tada: DragonBones - The Open Source 2D skeleton animation solution for Flash
- :tada: LWF - Lightweight SWF. LWF is an animation engine which can play animation data converted from FLASH contents in HTML5, Unity, Cocos2d-x, iOS UIKit, and more.
- :moneybag: Mixamo - tool for auto auto rigging and animation of 3D humanoid models,
- :moneybag: Affinity Designer - Vector graphics editor with a bunch of features which also supports Adobe file formats
- :moneybag: Affinity Photo - Photo and raster graphics editor which works together with Adobe file formats and Affinity Designer
- :money_with_wings: Aseprite - animated sprite editor & pixel art tool.
- :tada: Gimp - GNU Image Manipulation Program. It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring.
- :tada: Inkscape - An open-source vector graphics editor similar to Adobe Illustrator, Corel Draw, Freehand, or Xara X.
- :tada: Krita - Krita is a professional FREE and open source painting program. It is made by artists that want to see affordable art tools for everyone.
- :free: Multipaint - A cross-platform (Win, Linux, Mac) image editor/painter which covers the color limitations of 8-bit machines (like C64, ZX Spectrum etc.)
- :moneybag: Ormr - Ormr is a fast, light-weight, cross-platform procedural graphics editor.
- :money_with_wings: Paint.NET - Paint.NET is free image and photo editing software for PCs that run Windows.
- :moneybag: Pickle - Another Pixel art Editor.
- :free: PiskelApp - Free Online Pixel Art and Animated Sprite Tool.
- Pixelmator - Full-featured image editing app for the Mac
- :moneybag: Pixen - Pixel Art Editor for OSX
- :free: project one - A picture converter and editor for the Commodore 64 covering different graphics mode of this computer. Windows only
- :moneybag: PXL8 - A cross platform (Windows, Mac, Linux) pixel art editor in development which aims to be distraction free
- :moneybag: PyxelEdit - Pixel art editor designed to make it fun and easy to make tilesets, levels and animations.
- :free: REXPaint - a powerful and user-friendly ASCII art editor.
- :free: Tilemancer - A quick procedural tile creator designed for pixel-art games.
- :free: Timanthes - A pixel art editor for the Commodore 64 computer running on Windows
- Charas - Charas is a charset generator for RPG Maker.
- Loose Leaf - Sprite character generator
- Universal LPC Sprite Sheet Character Generator - Sprite character generator based on the LPC (Liberated Pixel Cup) graphics
- :free: Spritemate - Online Editor for Commodore 64 Sprites
- :moneybag: Pixelator - Turn any image into fancy pixel-art
- :tada: Blender
- :free: MakeHuman
- :free: sculptris
- :moneybag: Maya
- :moneybag: 3ds Max
- :moneybag: modo
- :free: Clara.io
- :free: Artifex Terra - Terrain editor for easy and sophisticated landscape painting and editing
- :free: Canyon Terrain Editor - Create quality, realistic terrain quickly and intuitively
- :tada: Fracplanet - Fractal planet and terrain generator
- :free: Nem TG - 3D terrain generator
- :moneybag: World Creator - Procedural terrain and landscape generation on the GPU in real time, simulation of erosion and sediment, beautiful editor. much more
- :moneybag: World Machine - Procedural terrain creation, simulations of nature, and interactive editing
Set of game frameworks, engines and platforms
Engines and Frameworks
- :free: Agen - Cross-Platform framework for making 2D games with Lua, compatible iOS, Mac and Windows devices.
- :tada: Allegro - Allegro 4 & 5 are cross-platform, open source, game programming libraries, primarily for C and C++ developers.
- :tada: Amethyst - Data-driven game engine written in Rust for 2D & 3D using
- :tada: amulet - A free Lua-based audio/visual toolkit suitable for small games and experimentation. It runs on Windows, Mac, Linux, HTML5 and iOS.
- :tada: AndEngine - 2D Android Game Engine
- :tada: Azul3D - A 3D engine written in Go.
- :tada: Bacon2D - A framework to ease 2D game development, providing ready-to-use QML elements representing basic game entities needed by most of games.
- :tada: bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
- :tada: bitsy - A little editor for little games or worlds. The goal is to make it easy to make games where you can walk around and talk to people and be somewhere.
- :tada: Bladecoder - Classic point and click adventure game engine and editor.
- Blitz3D 3D basic-like programming language for fast 3D desktop games.
- :tada: Box2D - A 2D Physics Engine for Games.
- :tada: Bullet - Real-time physics simulation.
- :tada: Cerberus X - Multi-platform programming language and cross-compiler, aimed at fast game programming.
- :tada: CRYENGINE - A pay what you want next gen 3D game engine written in C++.
- :tada: Chipmunk C# - C# implementation of the Chipmunk2D lib.
- :tada: Chipmunk2D - A fast and lightweight 2D game physics library.
- :tada: Cinder - Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.
- :free: Cocos Creator - Cocos Creator, a free cross-platform game development editor supporting Cocos2d-js, helps developers build 2D and 3D game scenes, edit game UI and other game resources quickly and efficiency.
- :tada: Cocos2D - graphic library for games and multimedia, for python language
- :tada: Cocos2d-x - a C++ OpenGL 2D and 3D game engine. Uses C++ but has JS and Lua bindings. Target all the major mobile platforms and operating systems. Additional tools CocoStudio and Cocos Code IDE.
- :moneybag: CopperCube3D - CopperCube is an all-in-one 3D game engine.Very easy to use.
- :free: Corona SDK - A Cross-Platform Mobile App Development for iOS and Android.
- :tada: Dash - A free and open 3D game engine written in D.
- :tada: Dear Imgui - A bloat-free immediate mode GUI for C++ with minimal dependencies.
- :free: Defold - Free 2D Game Engine for Cross-Platform Publishing
- :tada: Diligent Engine - A modern cross-platform low-level graphics library that supports Direct3D11, Direct3D12, OpenGL/GLES, and Vulkan.
- :tada: Duality - C# / OpenGL 2D Game Engine that comes with visual editor.
- :tada: ENGi - A multi-platform 2D game library for Go.
- :tada: engo - Engo is an open-source 2D game engine written in Go.
- :tada: Ebiten - A dead simple 2D game library in Go.
- :tada: EnTT - Gaming meets modern C++, a fast and reliable entity-component system (ECS) and much more
- :tada: FXGL - A JavaFX/Kotlin game engine for Win/Mac/Linux.
- :tada: Farseer - a collision detection system with realistic physics responses.
- :tada: FlashPunk - free ActionScript 3 library designed for developing 2D Flash games.
- :tada: Flixel - an open source game-making written in ActionScript3.
- :moneybag: GameMaker - GameMaker accommodates the creation of cross-platform video games using drag and drop or a scripting language known as Game Maker Language, which can be used to develop more advanced games that could not be created just by using the drag and drop features.
- :tada: gameplay - A free, open-source, cross-platform, 2D + 3D game framework written in C++. It is aimed towards indie game developers who are creating desktop and mobile games.
- :money_with_wings: GameSalad - Game Creation Engine for Mac and Windows.
- :tada: GB Studio - A free and easy to use retro adventure game creator for your favourite handheld video game system.
- :tada: ggez - A Rust library to create Good Games Easily.
- :tada: Gideros - A Cross-Platform framework to create Mobile Apps and games for iOS, Android using Lua programming language.
- :tada: Glide Engine - Engine for making 2d games on iOS, macOS and tvOS in Swift programming language, with practical examples and tutorials.
- :tada: Godot - An advanced, feature-packed, multi-platform 2D and 3D open-source game engine.
- Grid - Lua Game Engine.
- Havok Vision - a cross-platform game engine that provides a powerful and versatile multi-platform runtime technology.
- :tada: HaxeFlixel - Create cross-platform games easier and free.
- :tada: Heaps - Cross platform graphics for high performance games.
- Hive3D - Real Time Collaboration 3D engine.
- :tada: Horde3D - small open source 3D rendering engine.
- :free: Inform7 - A design system for interactive fiction based on natural language.
- :tada: Ink - Scripting language for writing interactive narrative.
- :tada: Irrlicht - open source high performance realtime 3D engine written in C++.
- :tada: Jitter - a fast and lightweight physics engine written in C#.
- :tada: jMonkeyEngine 3 - a 3D open-source game engine for adventurous Java developers.
- :free: JPCT - jPCT is a 3D engine for desktop Java and Google's Android.
- :tada: Juno - Clean and lightweight 2D game framework written in TypeScript
- :tada: Juno - Framework for making 2D games with chunky pixels in Lua
- :tada: Kivent - A 2D game framework for Kivy.
- :tada: Kivy - Cross platform Python framework for creating apps and games for Linux, Windows, OS X, Android and iOS
- :tada: KiwiJS - a fun and friendly Open Source HTML5 Game Engine. Some people call it the WordPress of HTML5 game engines
- :tada: LibGDX - Powerful (totally free) library for Java, code once and run the game on desktop, Android, Web, and iOS.
- :tada: LimeJS - HTML5 game framework for building fast, native-experience games for all modern touchscreens and
- :tada: LITIengine - 2D Java Game Engine. It provides all the infrastructure to create tile based 2D games with plain java
- :tada: Loom SDK - 2D mobile app and game framework with live reload of code and assets, AS3/JS/C#-like scripting language, and powerful 2D rendering and UI framework. Open source with paid "Turbo" service.
- :free: LuaStudio - Cross-Platform framework/development tool for making 2D/3D games with Lua/LuaJIT, compatible iOS, Android, Mac and Windows devices.
- :free: Lumberyard - Amazon Lumberyard is a free AAA game engine deeply integrated
- :tada: LumixEngine - 3D Game engine built on C++.
- :tada: Lums - A 2D / 3D framework written in C++11. Very efficient and modern. Still under heavy development.
- :tada: LÖVE - Lua 2D Game Engine.
- :tada: MINX - Open Source 2D game framework written in C++ (to the style of XNA)
- :tada: MOAI - Cross-Platform framework designed for pro game developers to create iOS, Android, Windows, Linux, Chrome and OSX games using C++, OpenGL and Lua scripting.
- :tada: Magnum - a lightweight and modular 2D/3D graphics/game engine written in C++11
- :tada: Matter.js - a 2D physics engine for the web.
- :tada: MelonJS - open source light-weight HTML5 game engine.
- :free: Monkey2 - Multi-platform programming language and cross-compiler, aimed at fast game programming.
- :tada: Monogame - Open Source implementation of the Microsoft XNA 4 Framework.
- :free: NodeBox - a family of Python tools to create generative design.
- :tada: nuklear - A minimalistic immediate mode GUI toolkit written in ANSI C.
- :tada: ODE - ODE is an open source, high performance library for simulating rigid body dynamics.
- :tada: Ogre3D - is a scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++.
- :tada: OpenFL - Open Source Haxe Engine for making multi-platform games.
- :tada: openFrameworks - An open source and free C++ toolkit for creative coding.
- :tada: OpenRA - OpenRA is a Libre/Free Real Time Strategy Game Engine.
- :money_with_wings: OpenXRay - a community-modified X-Ray engine used in S.T.A.L.K.E.R. game series.
- :tada: Origamijs - Lightweight Library to create using HTML5 Canvas.
- :moneybag: PICO-8 - A fantasy console for making, sharing and playing tiny games and other computer programs.
- :tada: Panda3D - a framework for 3D rendering and game development for Python and C++ programs.
- :tada: PandaJS - Open Source HTML5 Engine.
- :tada: Phaser - free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering.
- :tada: Piston - a modular open source game engine written in Rust.
- :money_with_wings: Pixel Vision 8 - a framework designed to simulate your favorite 8-bit consoles.
- :tada: PixiJS - is a newcomer HTML5 game renderer - first released in early 2013. A main appeal of the engine is its use of WebGL for faster performance. If WebGL isn't supported, the engine falls back to standard canvas.
- :money_with_wings: PlayCanvas - A WebGL Game Engine.
- :tada: Polycode - Open-Source Framework for creating games in C++ (with Lua bindings).
- :tada: Processing - Processing is a programming language, development environment for artists, designers, researchers.
- :tada: PuzzleScript - open-source HTML5 puzzle game engine.
- :tada: PyGame - a 2D game engine in Python.
- :tada: QICI - Efficient web-based tool for creating HTML5 games.
- :moneybag: RPGMaker - series of programs for the development of role-playing games.
- :tada: Rajawali - Android OpenGL ES 2.0/3.0 Engine
- :tada: Ren'Py - An open-source visual novel engine using the Python language in simplified form. It supports Windows, Mac OS X, Linux, Android and iOS.
- :tada: Rpgboss - A 2d rpg game engine and editor based on scala and libgdx. Ease of use, with no programming knowledge.
- :tada: SDL - SDL is a cross-platform library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D.
- :tada: SFML - Simple and Fast Multimedia Library.
- :tada: Spring - A powerful free cross-platform RTS engine.
- :free: SpriteKit - iOS/Mac 2D Game Engine.
- :tada: Stage.js - Lightweight and fast 2D HTML5 rendering and layout engine for cross-platform game development.
- :tada: Starling - The GPU powered 2D Flash API
- :money_with_wings: Stencyl - a game creation platform that allows users to create 2D video games for computers, mobile devices, and the web.
- :tada: Superpowers - HTML5 Collaborative 2D/3D Game Maker
- :tada: TIC-80 - TIC-80 is a fantasy computer for making, playing and sharing tiny games.
- :tada: Turbulenz - Turbulenz offers the ability to build, publish, iterate and monetise high-quality games that react like no others, with immersive 3D effects and real-time physics that open up a whole new world of unprecedented and extraordinary web content.
- :tada: Twine - Downloadable or browser-based game development platform that allows users to create linked story paths. Not just text-based, Twine supports music, images, and sound effects. Very little coding knowledge required for basic text adventure games.
- :money_with_wings: Unity 3D - A development engine for the creation of 2D and 3D games and interactive content.
- :free: Unreal Engine 4 - the new game engine technology developed by Epic Games.
- :tada: Urho3D - Cross-platform rendering and game engine.
- :tada: Vassal - Vassal is a game engine for building and playing online adaptations of board games and card games. Play live on the Internet or by email. Vassal runs on all platforms, and is free, open-source software.
- :tada: voxel.js - voxel.js is a collection of projects that make it easier than ever to create 3D voxel games like Minecraft all in the browser.
- :tada: Wave - Cross-platform engine written in C#
- :tada: WhiteStorm.js - 3d javacript framework for building apps and games
- :tada: XNA - Microsoft's game development framework.
- :tada: Xenko - Open Source C# Game Engine.
- :tada: Fluent Behaviour Tree - C# behaviour tree library with a fluent API released under MIT.
- :tada: SimpleAI - C++11 behaviour tree based library with a QT5 based remote debugger (and with optional LUA bindings) released under MIT.
Audio editors, sounds collections and more.
- :free: Free Game Sounds - Archive of all kinds of royalty-free game sounds.
- :free: Freesound - collaborative database of Creative Commons Licensed sounds.
- :free: Musopen - Royalty free music.
- :free: Octave - free library of UI sounds.
- :free: PacDV - royalty free sounds collection.
- :free: SoundBible.com - Royalty-free, searchable archive of sound effects under various licenses.
Music and Audio Editors
- :tada: Audacity - open source, cross-platform software for recording and editing sounds.
- :free: Audiosauna - transforms your web browser into a fast and flexible music production studio with built in synthesizers and live effects.
- :free: Audiotool - Online music producer.
- :free: Bfxr - A tool to make sound effects for computer games.
- :free: Bosca Ceoil - Online (and also desktop) music producer made by Terry Cavanagh. Simple, intuitive, has a distinctive retro-ish sound.
- :free: ChipTone - Online sound effect generator
- :free: FamiTracker - free windows tracker for producing music for the NES/Famicom-systems.
- :free: iNudge - Create sound patterns online.
- :tada: LMMS - Cross-platform music production software.
- :free: MadTracker - a powerful and efficient approach to making music. Versatility and compatibility are guaranteed due to full VST™, ASIO™ and ReWire™ support.
- :tada: MilkyTracker - open source tracker for Mac/Linux/Windows platforms.
- :tada: musagi - open source, fairly large and sophisticated music editor and synthesizer
- :tada: Sekaiju - Open Source MIDI sequencer.
- :free: Soundation - Online Professional music studio.
- :free: SunVox - a small, fast and powerful modular synthesizer with pattern-based sequencer (tracker).
Tools for making board games
- :free: Boardgamizer - Board Game Design Idea Generator.
- :tada: RPTools - a brand of open-source programs designed to enhance traditional pen-and-paper role playing games.
Blogs, portals, magazines and more
Blogs and Portals
- Amit's Game Programming
- Designer Notes
- Emanuele Feronato's Blog
- Game Development on StackExchange
- Game Hero
- Greenlit Gaming
- HTML5 Game Devs Forum
- Html5 Game Development
- Mod DB
- Java Gaming
- Lost Garden
- Real-Time Rendering
- Slidedb - On Slide DB we give developers a community they can share their ideas with and showcase the work they are doing, beyond the basic app stores and the highly contested "top charts".
- 3D Math Primer for Graphics and Game Development
- Artificial Intelligence for Games
- Essential Mathematics for Games and Interactive Applications: A Programmer's Guide
- Game Coding Complete
- Game Development Essentials: Game Level Design
- Game Engine Architecture
- Game Mechanics: Advanced Game Design
- Game Programming Gems
- Game Programming Patterns
- Game Scripting Mastery
- Hello Scratch: Learn to Program by Making Arcade Games
- Level Up!
- Making Games with Python & Pygame
- Mathematics For 3D Game Programming And Computer Graphics
- Nature of Code
- Physics for Game Developers
- Programming Game AI by Example
- Real-Time Rendering
- Rules of Play
- The Art of Game Design
- The Ultimate Guide to Video Game Writing and Design
- The Visual Story
- Theory of Fun
- Tricks of the Windows Game Programming Gurus
- Unity in Action (book)
- :free: Casual Connect
- :free: Game Developer Magazine
- :free: IndieMag
- :free: Making Games
- :free: indie-o-rama
- awesome-gametalks - A curated list of game talks (GDC, youtube, etc).
- Twitch GameDev - Twitch GameDev Streams
- CompoHub - A compilation site of many game jams in a timeline.
- Game jams on itch.io - Listing of itch.io game jams
- Game Off - GitHub's game jam :octocat:
- Indie Game Jams - Listing of game jams
- Ludum Dare - very popular game jam
- One Hour Game Jam - Weekly 1 hour game jam
- :moneybag: Casual - Visual Project Management
- :moneybag: Codecks - Project Management Tool inspired by Collectible Card Games
- :money_with_wings: HacknPlan - Project management for game developers
- :money_with_wings: Taiga - Project management platform for agile developers & designers
- :money_with_wings: Trello - Organize and prioritize projects
Complete Game Sources
- :tada: Canabalt iOS
- :tada: Doom 3
- :tada: Doom
- :tada: Duke Nukem 3D: Atomic Edition
- :tada: NetHack
- :tada: OpenTTD
- :tada: Prince of Persia
- :tada: Quake 2
- :tada: Quake III Arena
- :tada: Quake
- :tada: SimCity
- :tada: Wolfenstein 3D
We still need to make some money, right?
- AdMob by Google - Google's Ads and monetization service for mobile.
- AdColony - Mobile video Ads service.
- Appodeal - A programmatic ad mediation solution for mobile apps.
- ChartBoost - Monetization, analytics platform.
- RevMob - Monetization and Ads solution.
- Unity Ads - Unity3D Official Ads SDK.
- Vungle - Video Ads service.
Online courses, tutorials, screencasts
General Game Development
- :moneybag: Coursera: Beginning Game Programming with C#
- :moneybag: Coursera: Introduction to interactive Python programming
- :free: HandmadeHero: making 2D game from scratch
- :free: Khan Academy: Advanced JS: Games & Visualizations
- :free: Simple HTML5 Canvas Game
- :free: miloyip/game-programmer A Study Path for Game Programmer :octocat:
- :free: TheChernoProject
- :free: Udacity: HTML5 Game Development