Awesome
Welcome to the jsGameWiki!
This is the brain for game programming with html5/canvas/javascript.
I'm trying to structure helpful sources like eBooks, videos, blogs, articles, presentations...
Structure
Part I - Content directly relevant to game programming with html5/canvas/javascript
i.e. tutorials, blog posts, engines, etc.
Part II - Content related to web-development which can be useful in a game programming context
i.e. html5/canvas articles, javascript performance, etc.
Other Sources
A starting point for good javascript resources is bebraw's sensational jswiki.
(Actually I see jsGameWiki as an addition to jsWiki for game programming topics)
A second project I'm running is webdevresources, a collection of links on web-development in general.
Contributors
In case you want to contribute, be my guest! Here is a place for people who want to learn something about game programming and I'm very happy if you have some interesting sources to share.
Part I - Game Sources
- Game Tutorials - Tutorial or tutorial series about game programming with javascript
- Game Blogs - Blogs about game programming with javascript, tutorials, news...
- Game Talks - Talks / Presentation about game programming
- Game Design - The art of game design
- Game Engines - choose your game engine
- Game Services - Services which supports game programmers
- Javascript Games - for inspiration
- Graphics + Sound - some tools for graphics + sound
Part II - Game Related
- Learning / Tutorials (HTML5 / CSS / Javascript / Gaming
- HTML5 API / Standards / Specifications
- HTML5
- Javascript
- Other
<a name="game-tutorials">Game Tutorials</a>
Javascript - Canvas
- Pacman - book about hwo to build pacman with ES6/Ember.js
- Space Shooter
- Developing a Spaceshooter by Mozilla - source + summary of development for a space shooter
- Breakout Clone
- Simple Snake Game
- Making Sprite-based Games with Canvas
- HTML 5 Game Development - video tutorial serie from Jono X - actually running
- The most simple RPG - Step by step tutorial by Lost Decade Games
- Brickblock Game
- Doodle Jump Clone
- jsPlattformer | js platform game tutorial
- js RPG Game Tutorial - made with craftyJs game framework
- Super Mario Bros
- Tiny Platformer
- Tile Based Game - Accelerated Game Programming with HTML5 and canvas
- HTML5 Jump'n Run - no tutorial, but excellent code for study
- Jumper Game with box2d Engine
- Boulderdash
- HTML5 Game Platformer
- Multiplayergame with Websockets
- How to Build a JRPG
- [Angry Birds Clone] (http://training.bocoup.com/screencasts/make-your-own-angry-birds/)
- [BomberMan Clone] (http://www.yusufaytas.com/implementing-html5-bomberman/)
actionscript
because actionscript is very similar to javascript. you can definitely take away some concepts.
how to start
<a name="game-blogs">Game Blogs</a>
Blogs about gaming
- Blog of Rob Hawkes - experiments, talks, book, posts
- Blog of glacialflame - articles about isometric games
- Blog of That Guy - nice article serie about tile game engine
- Blog of michalbe - nice tutorials and posts about game engineering
- Old Blog of Marc Wilcox - New Blog of Marc Wilcox - Great HTML5 Game design posts
- Blog of nokarma - 2 very good posts - does he write a following article?
- Blog about indiegames - Videos about indiegames
- Blog of lostdecadegames - Some interesting posts about game design from the company lostdecadegames
- Blog of Emanuele Feronato - very much posts about flash and game design, but hey, you can learn so much from flash
- Blog of Jake Gordon - very good and detailled posts about some well known games implemented with javascript
- Blog of Bocoup - articles about specific parts for game development
- Wiki of Dojogame - good dojos, tutorials, links for html5 games
- Ray Wenderlich - GameDev programming tutorials and articles
- Composition of Tools by Andre Schmitz - A lot of tools, engines, games for js game programming
Blogs about experiments / demos
- Blog of mr doob - very exciting experiments
- Blog of nihilogic - articles and experiments
- Blog of Ben Joffe - experiments
Forums/News for General Game Development (no javascript)
<a name="game-talks">Game Talks</a>
Video / Audio
- Lunch with Rob Hawkes: HTML5 Games - by Rob Hawkes - Overview and lessons learned for html5 game programming
- Building a JavaScript-Based Game Engine for the Web
- Multiplayer Gaming with HTML5: Are We Ready?
- Developing Games for the Web
- Angry Birds on HTML5 - Challenges to port Angry Birds to Chrome/HTML5
- Lostcast - Nice talks about game programming with Javascript. They also provide some very good links.
Presentations / Slides
- 5 tips for your html5 games
- 10 tips to get started with html5 games
- HTML5 as a Game Console - by Michał Budzyński
- HTML5 Game Development with Javascript - by Rob Hawkes
<a name="game-design">Game Design</a>
- Gameprogrammingpatterns
- http://www.gamasutra.com/view/feature/6362/redesigning_wild_ones_into_.php - Article about changing a game by 10 design decisions
- Making html5 Games Match your Screen
<a name="#game-engines">Game Engines</a>
- Bebraw's Game Engines List - Huge List about existing game engines with some filter criteria
- HTML5 Game Engine - another small game engine list
- Game Engine Comparison - In this article craftyJs, LimeJs and ImpactJs are compared
<a name="game-services">Game Services</a>
- Scoreoid - service for scoring lists, leaderboards, in game analytics, ...
- Tapjs - service for scoring lists, leaderboards, ...
- flexpi - services for gaming - stats, ingame payment, social media
- Easywebsockets - a WebSocket client to broadcast messages to webpages
- Itch.io - Game distribution platform for indie-developers.
- Clay.io - service for leaderboards, achievements, data storage, analytics, payment processing, ...
<a name="javascript-games">Javascript Games</a>
Game Jams and competitions
Games with sourcecode
- banditracer - micro machines like game written with gamejs framework
- runjumpbuild game / source - online jump'n run editor, share levels with others
- html5-games - great HTML5 games most time with an article and/or sourcecode
- wizard of wor | wizard of wor source
- boulder dash | src objects | src game | src kit | src sound | src anim/keyboard
- pacman
- breakout with game engines - the same breakout game implemented with different game engines as example
- bombermine - massive multiplayer bomberman - check the uncompressed source via browser
- Solitr (source) - solitaire card games
- Full Screen Mario - awesome HTML5 Mario Clone
- LessMilk - one game per week challenge with sourcecode and blog
- OnSlaught Arena
- 2048 - a 1024 clone
- Clumsy Bird - a flappy bird clone
- mk.js - mortal combat clone
- Astray - a webGl maze game
- Hextris - A fast paced puzzle game inspired by Tetris
- Pacman
Here are some rememberable projects - but mostly with compressed code
- canvasrider - it's fun
- freeciv - Online Civilisation clone
- Legend of Zelda - Game Boy emulation
- Treasure Arena - Zelda like Battle Arena
- Command & Conquer Game / Command & Conquer Source - Command & Conquer clone
- Top 20 HTML5 Games
- Gaming Mozillalabs
HTML5 Games
<a name="graphics-and-sound">Graphics and Sound</a>
Assets
- Game Assets by Andre Schmitz - Nice list of ressources for game assets (gaphics, sounds, video, map editors...)
Graphic
- Opengameart - Free, legal art for open source game projects
- Free sprites
- Game sprites
- Sprite database - ripped, not sure if free
- Sprite database
- iconfinder - sprites with different licenses
- Tiled Map Editor - free open source tiled map editor
- Arcade Font Engine - online font creator
- Fonts - fonts
- Spritelib - Free Spritepack licensed under CPL
- gfxlib - free developer graphic library licensed under CPL
- 8bitalpha - Online Service which resizes your png's from 24 to 8 bits -> for performance improvement
- wpclipart - Free images with online cropping service
- Sprite - Animation tool - not tried, but looks awesome
Sound
- html5media - easy embedding of video and audio
- media.io - online audio converter
- nosoapradio.us - Game music - free
- Playonloop - Game music - free or with costs
- freesound - Sounds - free
- Absolute sound effects archive - Soundeffects - free
- Bfxr - Make your own soundeffects - very easy
- modarchive - a lot of sounds
- soundbible - a lot of free sound effects
<a name="tutorial">Learning / Tutorials (HTML5 / CSS / Javascript / Gaming)</a>
Landingpages
- Learn HTML5 by Mozilla - Great Landingpage
- Learn CSS by Mozilla - Great Landingpage
- Learn Javscript by Mozilla - Great Landingpage
Tutorials
- HTML5 Tutorials by HTML5 Rocks
- HTML5 Tutorials by Game Development - Game Development News and Tutorials
- HTML5 Tutorials by HTML5Tutorial - Tutorials
- HTML5 Tutorials by HTML5Tutorial - Tutorials
- HTML5 Tutorials by HTML5Center
- HTML5 Canvas Tutorials by Mozilla
- HTML5 Canvas Tutorials by HTML5CanvasTutorials
- HTML5 Canvas Tutorial by Malcolm Sheridan - very good introduction to HTML5 Canvas
- HTML5 Canvas Tutorials by ThxtOs - Video tutorial - 8000 bullets animation - german
- HTML5 Canvas Tutorials List - List of canvas tutorials and resources
- HTML5 Game Dev Tips - 3 part series of tips and tricks
- HTML5 News by Gamedev - Gamedeveloper News
- CSS3 Tutorials by ThxtOs - Video tutorials - german
- CSS3 Learning with Fluid Layout Code
- CSS3 Deck - lot of examples for CSS3
- Javascript Tutorials by Opera
- Javascript Learning in 31 Days - Canvas and Javascript Tutorials in 31 Days - search for Javascript Day X
- Javascript Learning by koans - learning by finding errors
- Javascript Learning by LearnJs - short useful code snippets
- Javascript Learning by Javascript-Garden - best practises for javascript programming
- Learn JavaScript interactively in CodeCademy - Learn programing by doing it.
- Javascript Learning by The Code Player - Learn HTML5,CSS3,JS Coding the new way, the Walkthroughs way!
- Javascript Learning by Code Avengers - Learn Javascript interactively in 40 lessons
<a name="standard-api">Standards / Specifications / API</a>
API
- HTML5 Web API
- HTML5 Doctor - API
- HTML5 Canvas - API - german
Specification
- HTML5 specification - Standard - a readable HTML5 specification for web developers
- Javascript Reference by Mozilla
Standards
- Front end development guidelines - best practises for front end development
- idiomatic.js - Principles of Writing Consistent, Idiomatic JavaScript
- Whats new in a specification? - Overview of Changes in HTML5, ES5, ES6, DOM4, ...
Compatibility /Feature Detection
- HTML5 Readyness
- HTML5 Please
- Caniuse - Compatibility tables for support of HTML5, CSS3, SVG and more in desktop and mobile browsers.
- HTML5 Mobile - Overview of mobile HTML compatibility and Specifications
<a name="html5-performance">HTML5 Performance</a>
Articles
- CSS tricks for canvas games
- Off-Screen Rendering (Render to Texture) with HTML5's Canvas Element
- Improving HTML5 Canvas Performance
- requestAnimationFrame for Smart Animating
<a name="html5-demos">HTML5 Demos</a>
- Chrome Experiments
- HTML5 Canvas Demos by Kevin Roast
- Mozilla Demo Studio
- Physics for Lazy Game Developers
- Canvas Demos
- HTML5 CSS3 Snippets - Examples for HTML5, CSS3 effects
- Simple Physics - Examples of Simple Physics models that Game Developers can make use of. P.S This is still a WorkInProgress project but as time goes you can expect lots of great examples.
<a name="javascript-libraries">Javascript Libraries</a>
Library Lists
Libraries
- modernizr - testing on active html5 + css features in browsers
- stats.js - nice little tool to show fps stats
- sprite.js - tool for sprite animation + nice demos
- augment.js - enrich browsers with modern javascript methods (ECMA 1.8.5)
- weinre - Remotedebugging Console: debug your iPhone, iPad, Wii etc. remotely from your PC
- Socket.IO - supports websockets and aims to make realtime apps possible in every browser and mobile device
- nowjs - makes realtime web apps really easy
- Closure compiler - Compiles javascript to javascript
- Pxxl.js - HTML5 Canvas utility to render texts in retro style and more.
- Game Modules Wiki - A list of game-related modules and examples for writing HTML5 games with browserify
<a name="javascript-performance">Javascript Performance</a>
- JavaScript Function Call Profiling - Article, John Resig
- JSConf Talk: Games, Performance, TestSwarm - Video, John Resig
- jsPerf - Javascript performance tests
- Profiling Built-In JavaScript Functions with Firebug - Article, Andy West
- Nicholas C. Zakas: Speed Up Your JavaScript - Video, Nicholas C. Zakas
- Dev.Opera Efficient JavaScript - Article
- Javascript Perfomance Best Practises - Article
- Extreme Javascript Performance - Presentation, Thomas Fuchs
- Extreme Javascript Performance - Video, Thomas Fuchs
- Making an iPad HTML5 App & making it really fast - Article, Thomas Fuchs
- Optimizing JavaScript for extreme performance and low memory consumption - Article, Jani Hartikainen
- The 'Opera-2dgame' Canvas Context - Article, Arve Bersvendsen
- Unleas the power of HTML5 canvas
<a name="javascript-talks">Javascript Talks</a>
<a name="books">Books</a>
- Eloquentjavascript - free eBook by Marijn Haverbeke
- DIVE INTO HTML5 - free eBook by Mark Pilgrim
- Essential JavaScript Design Patterns For Beginners - free eBook by Addy Osmani
- Building iPhone Apps with HTML, CSS, and JavaScript - free eBook by Jonathan Stark
- Javascript Bibliography - free eBook by editors of Safary books online
- OOP mit Javascript - free eBook by Peter Kropff- german
- HTML5 Handbuch - free eBook by Stefan Münz - german
Lists of free eBooks
- jsbooks — JavaScript
- free-programming-books — Different themes and languages
- Learn How To Plan, Create, and Promote Games - This book brifely introduce you to some inportent steps in Game Development.
Commercial books on HTML5 Game Development
General Game Development
- HTML5 Games Development by Example: Beginner’s Guide
- HTML5 Game Development For Dummie
- HTML5 Game Development Insights
- Professional HTML5 Mobile Game Development
- Learning HTML5 Game Programming
- Pro HTML5 Games
- HTML5 Game Development HOTSHOT
- HTML5 Games Most Wanted
- Building JavaScript Games for Phones, Tablets, and Desktop
Books explaining a specific JS game engine
- HTML5 Game Development with ImpactJS
- HTML5 Game Programming with enchant.js
- Beginning HTML5 Games with CreateJS
- Introducing HTML5 Game Development with ImpactJS
- jQuery Game Development Essentials
- Discover Phaser
- WebGL Game Development
Other useful books on Game Development
- Physics for JavaScript Games, Animation, and Simulations with HTML5 Canvas
- HTML5 Canvas, 2nd Edition
- HTML5 Canvas Cookbook
- Physics for Game Developers
- Physics for Game Programmers
- AI for Game Developers