├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Cluster Atlas 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Index For HTML5 Game Developers 2 | 3 | > *Note: Currently updating!* 4 | 5 | ## Table Of Contents 6 | 7 | --- 8 | 9 | ## HTML5 Game Dev Overview 10 | 11 | --- 12 | 13 | ## Learning Javascript 14 | 15 | --- 16 | 17 | ## Libraries 18 | 19 | ### Game Engines, Frameworks & Renderers 20 | 21 | - Phaser.IO 22 | - Phaser is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering. 23 | - http://phaser.io/ 24 | - https://phaser.io/examples 25 | - https://github.com/photonstorm/phaser 26 | - PIXI.js 27 | - Super fast HTML 5 2D rendering engine that uses webGL with canvas fallback 28 | - http://pixijs.com/ 29 | - https://pixijs.github.io/examples/ 30 | - https://github.com/pixijs/pixi.js 31 | - PIXI-Particles 32 | - A particle system for PixiJS. 33 | - http://pixijs.github.io/pixi-particles/docs/ 34 | - https://github.com/pixijs/pixi-particles 35 | - Three.js 36 | - A JavaScript 3D Library which makes WebGL simpler. 37 | - https://threejs.org/ 38 | - https://github.com/mrdoob/three.js/ 39 | - WhiteStorm.js 40 | - Super-fast 3D framework for Web Applications & Games. Based on Three.js 41 | - https://github.com/WhitestormJS/whitestorm.js 42 | - https://whs-dev.surge.sh/examples/ 43 | - Babylon.js 44 | - Babylon.js: a complete JavaScript framework for building 3D games with HTML 5 and WebGL 45 | - http://www.babylonjs.com/ 46 | - https://github.com/BabylonJS/Babylon.js 47 | - Panda.js 48 | - Free HTML5 game engine for mobile and desktop with Canvas and WebGL rendering. 49 | - http://www.pandajs.net/ 50 | - http://www.pandajs.net/demos/ 51 | - https://github.com/ekelokorpi/panda-engine 52 | - Melon.js 53 | - A fresh & lightweight javascript game engine 54 | - http://www.melonjs.org/ 55 | - https://melonjs.github.io/melonJS/ 56 | - Kiwi.js 57 | - Kiwi.js is a blazingly fast mobile & desktop browser based HTML5 game framework. It uses CocoonJS for publishing to the AppStore. 58 | - http://www.kiwijs.org/ 59 | - http://www.kiwijs.org/examples/ 60 | - Playground.js 61 | - Playground.js is a framework for your javascript based games. It gives you out-of-box access to essentials like mouse, keyboard, sound and well designed architecture that you can expand to your needs. 62 | - http://playgroundjs.com/ 63 | - https://github.com/rezoner/playground 64 | - Stage.js 65 | - 2D JavaScript library for cross-platform HTML5 game development 66 | - http://piqnt.com/stage.js/ 67 | - https://github.com/shakiba/stage.js 68 | - Cocos2d-x 69 | - Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world. 70 | - http://www.cocos2d-x.org/ 71 | - https://github.com/cocos2d/cocos2d-x 72 | - PlayCanvas 73 | - https://playcanvas.com/ 74 | - https://playcanvas.com/explore 75 | - https://github.com/playcanvas/engine 76 | - Atomic Game Engine 77 | - The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C#, JavaScript, TypeScript, and C++. It deploys natively to Windows, OSX, Android, iOS, and HTML5. 78 | - https://atomicgameengine.com/ 79 | - https://github.com/AtomicGameEngine/AtomicGameEngine/ 80 | - Crafty.js 81 | - Crafty is a JavaScript game library that can help you create games in a structured way. 82 | - http://craftyjs.com/ 83 | - https://github.com/craftyjs/Crafty 84 | - Goo.js 85 | - Goo Engine is an open-source 3D engine using HTML5 and WebGL for rendering. 86 | - https://github.com/GooTechnologies/goojs 87 | - https://learn.goocreate.com/ 88 | - Create.js 89 | - A suite of modular libraries and tools which work together or independently to enable rich interactive content on open web technologies via HTML5. 90 | - http://createjs.com/ 91 | - http://createjs.com/#demos 92 | - https://github.com/CreateJS 93 | - Easel.js 94 | - A JavaScript library that makes working with the HTML5 Canvas element easy. The Easel Javascript library provides a full, hierarchical display list, a core interaction model, and helper classes to make working with the HTML5 Canvas element much easier. 95 | - http://createjs.com/easeljs 96 | - https://github.com/CreateJS/EaselJS 97 | - p5.js 98 | - p5.js is a JS client-side library for creating graphic and interactive experiences, based on the core principles of Processing. 99 | - https://p5js.org/ 100 | - https://p5js.org/examples/ 101 | - https://github.com/processing/p5.js 102 | 103 | ### Input Capture 104 | 105 | - Keypress.js 106 | - A robust Javascript library for capturing keyboard input 107 | - A keyboard input capturing utility in which any key can be a modifier key. 108 | - http://dmauro.github.io/Keypress/ 109 | - https://github.com/dmauro/Keypress 110 | - Hammer.js 111 | - A javascript library for multi-touch gestures 112 | - http://hammerjs.github.io/ 113 | - https://github.com/hammerjs/hammer.js 114 | 115 | ### Game Networking 116 | 117 | - Socket.IO 118 | - https://socket.io/ 119 | - https://www.npmjs.com/package/socket.io 120 | - https://www.npmjs.com/package/socket.io-client 121 | - Server API: https://github.com/socketio/socket.io/blob/master/docs/API.md 122 | - Clioent API: https://github.com/socketio/socket.io-client/blob/master/docs/API.md 123 | - Faye & Faye-Websocket 124 | - https://faye.jcoglan.com/ 125 | - https://github.com/faye/faye 126 | - https://github.com/faye/faye-websocket-node 127 | - https://www.npmjs.com/package/faye 128 | - https://www.npmjs.com/package/faye-websocket 129 | - µWS 130 | - µWS is one of the most lightweight, efficient & scalable WebSocket & HTTP server implementations available. 131 | - https://github.com/uWebSockets/uWebSockets 132 | - ws 133 | - Simple to use, blazing fast and thoroughly tested WebSocket client and server for Node.js 134 | - http://websockets.github.io/ws/ 135 | - https://github.com/websockets/ws 136 | 137 | ### Game Physics 138 | 139 | - Planck.js 140 | - Planck.js is JavaScript rewrite of Box2D physics engine for cross-platform HTML5 game development. 141 | - http://piqnt.com/planck.js/ 142 | - https://github.com/shakiba/planck.js 143 | - Matter.js 144 | - A 2D rigid body physics engine for the web 145 | - http://brm.io/matter-js/ 146 | - http://brm.io/matter-js/demo/ 147 | - Box2d.js 148 | - Port of Box2D to JavaScript using Emscripten 149 | - https://github.com/kripken/box2d.js/ 150 | - http://kripken.github.io/box2d.js/demo/webgl/box2d.html 151 | - Ammo.js 152 | - Direct port of the Bullet physics engine to JavaScript using Emscripten 153 | - https://github.com/kripken/ammo.js 154 | - Physics.js 155 | - A modular, extendable, and easy-to-use physics engine for javascript. 156 | - wellcaffeinated.net/PhysicsJS/ 157 | - https://github.com/wellcaffeinated/PhysicsJS 158 | - Cannon.js 159 | - A lightweight 3D physics engine written in JavaScript. 160 | - http://www.cannonjs.org/ 161 | - https://github.com/schteppe/cannon.js 162 | - P2.js 163 | - JavaScript 2D physics library 164 | - https://schteppe.github.io/p2.js/ 165 | - https://github.com/schteppe/p2.js 166 | - SAT.js 167 | - A simple JavaScript library for performing 2D collision detection 168 | - http://jriecken.github.io/sat-js/ 169 | - https://github.com/jriecken/sat-js 170 | 171 | ### Performance Monitoring 172 | 173 | - Stats.js 174 | - JavaScript Performance Monitor 175 | - https://github.com/mrdoob/stats.js 176 | - FPSMeter.js 177 | - Sexy, fast, and themable FPS meter. 178 | - https://github.com/darsain/fpsmeter 179 | - http://darsa.in/fpsmeter/ 180 | 181 | ### Game Audio 182 | 183 | - Howler.js 184 | - Javascript audio library for the modern web. 185 | - https://github.com/goldfire/howler.js/ 186 | - https://howlerjs.com/ 187 | - Pixi-sound.js 188 | - WebAudio API playback without any Flash shims or HTML Audio fallback 189 | - https://github.com/pixijs/pixi-sound 190 | - https://pixijs.github.io/pixi-sound/examples/index.html 191 | - Sound.js 192 | - A JavaScript library that lets you easily and efficiently work with audio on the web. 193 | - http://createjs.com/soundjs 194 | - https://github.com/CreateJS/SoundJS 195 | 196 | ### Date & Time Parsing 197 | 198 | - Moment.js 199 | - Parse, validate, manipulate, and display dates and times in JavaScript. 200 | - http://momentjs.com 201 | - MomentTimezone.js 202 | - Parse and display dates in any timezone. 203 | - http://momentjs.com/timezone/ 204 | 205 | ### Tweening 206 | 207 | - Tween.js 208 | - A JavaScript library for tweening and animating HTML5 and JavaScript properties. A simple but powerful tweening / animation library for Javascript. Part of the CreateJS suite of libraries. 209 | - http://createjs.com/tweenjs 210 | - https://github.com/CreateJS/TweenJS 211 | - Pixi-tween 212 | - pixi-tween is a plugin for Pixi.js v3.0.8 or higher to create tween animations. 213 | - https://github.com/Nazariglez/pixi-tween/network 214 | - https://github.com/themoonrat/pixi-tween 215 | 216 | ### Asset Pre-loading 217 | 218 | - Preload.js 219 | - A JavaScript library that lets you manage and co-ordinate the loading of assets. PreloadJS makes preloading assets & getting aggregate progress events easier in JavaScript. It uses XHR2 when available, and falls back to tag-based loading when not. 220 | - http://createjs.com/preloadjs 221 | - https://github.com/CreateJS/PreloadJS 222 | - Resource Loader 223 | - A middleware-style generic resource loader built with web games in mind. 224 | - http://englercj.github.io/resource-loader/ 225 | - https://github.com/englercj/resource-loader 226 | 227 | ### Randomized Generators 228 | 229 | - UUID-Random 230 | - Fastest UUID with good RNG for JS 231 | - https://github.com/jchook/uuid-random 232 | - https://www.npmjs.com/package/uuid-random 233 | - Random.js 234 | - This is designed to be a mathematically correct random number generator library for JavaScript. Inspiration was primarily taken from C++11's . 235 | - https://www.npmjs.com/package/random-js 236 | - https://github.com/ckknight/random-js 237 | - ChanceJS 238 | - Random generator helper for JavaScript 239 | - http://chancejs.com/ 240 | - https://www.npmjs.com/package/chance 241 | - https://github.com/chancejs/chancejs 242 | - FakerJS 243 | - Generate massive amounts of fake data in Node.js and the browser 244 | - https://www.npmjs.com/package/Faker 245 | - https://github.com/marak/Faker.js/ 246 | 247 | ### Functional Programming & Utility Libraries 248 | 249 | - Underscore 250 | - Underscore.js is a utility-belt library for JavaScript that provides support for the usual functional suspects (each, map, reduce, filter...) without extending any core JavaScript objects. 251 | - http://underscorejs.org/ 252 | - https://github.com/jashkenas/underscore 253 | - Lodash 254 | - A modern JavaScript utility library delivering modularity, performance & extras. 255 | - https://lodash.com/ 256 | - https://lodash.com/docs/ 257 | - https://github.com/lodash/lodash 258 | - Ramda 259 | - A practical functional library for JavaScript programmers. 260 | - http://ramdajs.com/ 261 | - http://ramdajs.com/docs/ 262 | - https://github.com/ramda/ramda 263 | - Highland 264 | - The high-level streams library for Node.js and the browser. 265 | - http://highlandjs.org/ 266 | - https://github.com/caolan/highland 267 | 268 | ### Misc 269 | 270 | - Async.js 271 | - Async utilities for node and the browser. 272 | - http://caolan.github.io/async/ 273 | - https://github.com/caolan/async 274 | - EventEmitter3 275 | - Because there's also a number 2. And we're faster. 276 | - https://github.com/primus/eventemitter3 277 | - EJSON 278 | - EJSON - Extended JSON from Meteor available for Node.js and the front-end in one handy neat package. 279 | - http://docs.meteor.com/api/ejson.html 280 | - https://github.com/primus/ejson 281 | - MsgPack 282 | - It's like JSON, but fast and small. 283 | - http://msgpack.org/index.html 284 | - https://github.com/mcollina/msgpack5 285 | - Q.js 286 | - A promise library for JavaScript. 287 | - http://documentup.com/kriskowal/q/ 288 | - https://github.com/kriskowal/q 289 | - Q-io.js 290 | - Interfaces for IO using Q promises in JavaScript on Node. 291 | - http://documentup.com/kriskowal/q-io 292 | - https://github.com/kriskowal/q-io 293 | - Bluebird.js 294 | - Bluebird is a full featured promise library with unmatched performance. 295 | - http://bluebirdjs.com/docs/getting-started.html 296 | - http://bluebirdjs.com/docs/api-reference.html 297 | - https://github.com/petkaantonov/bluebird 298 | - ASAP.js 299 | - High-priority task queue for Node.js and browsers 300 | - https://github.com/kriskowal/asap 301 | 302 | ### Internationalization 303 | 304 | - i18next 305 | - i18next is a very popular internationalization library for browser or any other javascript environment (eg. node.js). 306 | - http://i18next.com/ 307 | - https://github.com/i18next/i18next 308 | 309 | ### Web Frameworks 310 | 311 | - ExpressJS 312 | - Fast, unopinionated, minimalist web framework for Node.js 313 | - https://expressjs.com/ 314 | - Koa 315 | - Next generation web framework for Node.js 316 | - http://koajs.com/ 317 | - Hapi 318 | - A rich framework for building applications and services 319 | - https://hapijs.com/ 320 | 321 | ### Frontend / GUI 322 | 323 | - VexJS 324 | - Beautiful, functional dialogs in vanilla JavaScript 325 | - http://github.hubspot.com/vex/ 326 | - https://github.com/hubspot/vex 327 | - SweetAlerts2 328 | - A beautiful, responsive, customizable and accessible (WAI-ARIA) replacement for JavaScript's popup boxes. Zero dependencies. 329 | - https://limonte.github.io/sweetalert2/ 330 | - https://github.com/limonte/sweetalert2 331 | 332 | ### Frontend Maps 333 | 334 | - Google Maps 335 | - https://developers.google.com/maps/ 336 | - https://github.com/googlemaps/ 337 | - Leaflet.js 338 | - An open-source JavaScript library for mobile-friendly interactive maps. 339 | - http://leafletjs.com/ 340 | - https://github.com/Leaflet/Leaflet 341 | - OpenLayers 342 | - A high-performance, feature-packed library for all your mapping needs. 343 | - https://openlayers.org/ 344 | - https://github.com/openlayers/openlayers 345 | 346 | ### Task Runners & Build Systems 347 | 348 | - Gulp 349 | - The streaming build system; Automate and enhance your workflow. 350 | - http://gulpjs.com/ 351 | - https://github.com/gulpjs/gulp 352 | - Grunt 353 | - The JavaScript Task Runner 354 | - https://gruntjs.com/ 355 | - https://github.com/gruntjs/grunt 356 | 357 | --- 358 | 359 | x 360 | 361 | --- 362 | 363 | ## An open list of everything nice, curated for HTML5 Indie Game Developers. 364 | 365 | > Always open for PR's for contributions :) 366 | 367 | ## Table Of Contents 368 | 369 | - [Basic Concepts](#basic-concepts) 370 | - [HTML5 Game Engines / Frameworks / Renderers](#html5-game-engines--frameworks--renderers) 371 | - [Physics Engines](#physics-engines) 372 | - [Audio Plugins](#audio-plugins) 373 | - [Performance Monitoring](#performance-monitoring) 374 | - [Input Capture](#input-capture) 375 | - [Date & Time Parsing](#date--time-parsing) 376 | - [Game Networking](#game-networking) 377 | - [Networking Basics](#networking-basics) 378 | - [Networking Libraries](#networking-libraries) 379 | - [Socket.IO](#socketio) 380 | - [Faye & Faye-Websocket](#faye--faye-websocket) 381 | - UWS, Engine.io, etc. 382 | - [Other Libraries](#other-libraries) 383 | - [Learning Javascript](#learning-javascript) 384 | - [Interesting Reads](#interesting-reads) 385 | - [Publishing Games](#publishing-games) 386 | - [Monetizing Games](#monetizing-games) 387 | - [Licensing Games](#licensing-games) 388 | - [Recommended Blogs](#recommended-blogs) 389 | - [Recommended Subreddits](#recommended-subreddits) 390 | - [JS Power Tools](#js-power-tools) 391 | - [Developer Tools](#developer-tools) 392 | - [Developer Freebies!](#developer-freebies) 393 | --- 394 | 395 | ## Basic Concepts 396 | 397 | - Game Genres 398 | - https://en.wikipedia.org/wiki/List_of_video_game_genres 399 | - Game Input 400 | - Keyboard & Mouse 401 | - Screen Touch Gestures, like taps, swipes, pinch, shake 402 | - Gamepads & Controllers 403 | - Audio(from Microphone) & Video(from Camera) 404 | - Game Output 405 | - Screen size, ratio & orientation (portrait / landscape) 406 | - Resolution of assets depending on the Pixels Per Inch of the device 407 | - Frames Per Second 408 | - WebGL / Canvas 409 | - Music, Sound Effects & Vibrations 410 | - Deployment Platforms 411 | - Desktop (Windows, Mac, Linux) 412 | - Smartphones, and Tablets (Android, iOS, Windows Phone, etc.) 413 | - Desktop Browsers (Chrome, Firefox, Safari, Opera, Internet Explorer & Edge) 414 | - Consoles, such as Xbox One, Xbox 360, PS3, PS4, PS Vita, Wii U, New 3DS, etc. 415 | - Game Engines 416 | - https://en.wikipedia.org/wiki/Game_engine 417 | - Web Hosting, Domain Names & Name Servers 418 | - https://en.wikipedia.org/wiki/Web_hosting_service 419 | - CDN (Cloud Delivery Networks) 420 | - https://developer.mozilla.org/en-US/docs/Glossary/CDN 421 | - Gameplay, Game Design, Balancing, etc. 422 | - https://en.wikipedia.org/wiki/Game_design 423 | - https://en.wikipedia.org/wiki/Gameplay 424 | - https://en.wikipedia.org/wiki/Game_mechanics 425 | - https://en.wikipedia.org/wiki/Balance_(game_design) 426 | - https://en.wikipedia.org/wiki/Dynamic_game_difficulty_balancing 427 | 428 | --- 429 | 430 | ## HTML5 Game Engines / Frameworks / Renderers 431 | 432 | - Phaser.IO 433 | - Phaser is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering. 434 | - http://phaser.io/ 435 | - https://phaser.io/examples 436 | - https://github.com/photonstorm/phaser 437 | - PIXI.js 438 | - Super fast HTML 5 2D rendering engine that uses webGL with canvas fallback 439 | - http://pixijs.com/ 440 | - https://pixijs.github.io/examples/ 441 | - https://github.com/pixijs/pixi.js 442 | - Three.js 443 | - A JavaScript 3D Library which makes WebGL simpler. 444 | - https://threejs.org/ 445 | - https://github.com/mrdoob/three.js/ 446 | - WhiteStorm.js 447 | - Super-fast 3D framework for Web Applications & Games. Based on Three.js 448 | - https://github.com/WhitestormJS/whitestorm.js 449 | - https://whs-dev.surge.sh/examples/ 450 | - Babylon.js 451 | - Babylon.js: a complete JavaScript framework for building 3D games with HTML 5 and WebGL 452 | - http://www.babylonjs.com/ 453 | - https://github.com/BabylonJS/Babylon.js 454 | - Panda.js 455 | - Free HTML5 game engine for mobile and desktop with Canvas and WebGL rendering. 456 | - http://www.pandajs.net/ 457 | - http://www.pandajs.net/demos/ 458 | - https://github.com/ekelokorpi/panda-engine 459 | - Melon.js 460 | - A fresh & lightweight javascript game engine 461 | - http://www.melonjs.org/ 462 | - https://melonjs.github.io/melonJS/ 463 | - Kiwi.js 464 | - Kiwi.js is a blazingly fast mobile & desktop browser based HTML5 game framework. It uses CocoonJS for publishing to the AppStore. 465 | - http://www.kiwijs.org/ 466 | - http://www.kiwijs.org/examples/ 467 | - Playground.js 468 | - Playground.js is a framework for your javascript based games. It gives you out-of-box access to essentials like mouse, keyboard, sound and well designed architecture that you can expand to your needs. 469 | - http://playgroundjs.com/ 470 | - https://github.com/rezoner/playground 471 | - Stage.js 472 | - 2D JavaScript library for cross-platform HTML5 game development 473 | - http://piqnt.com/stage.js/ 474 | - https://github.com/shakiba/stage.js 475 | - Cocos2d-x 476 | - Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world. 477 | - http://www.cocos2d-x.org/ 478 | - https://github.com/cocos2d/cocos2d-x 479 | - PlayCanvas 480 | - https://playcanvas.com/ 481 | - https://playcanvas.com/explore 482 | - https://github.com/playcanvas/engine 483 | - Atomic Game Engine 484 | - The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C#, JavaScript, TypeScript, and C++. It deploys natively to Windows, OSX, Android, iOS, and HTML5. 485 | - https://atomicgameengine.com/ 486 | - https://github.com/AtomicGameEngine/AtomicGameEngine/ 487 | - Crafty.js 488 | - Crafty is a JavaScript game library that can help you create games in a structured way. 489 | - http://craftyjs.com/ 490 | - https://github.com/craftyjs/Crafty 491 | - Goo.js 492 | - Goo Engine is an open-source 3D engine using HTML5 and WebGL for rendering. 493 | - https://github.com/GooTechnologies/goojs 494 | - https://learn.goocreate.com/ 495 | - Create.js 496 | - A suite of modular libraries and tools which work together or independently to enable rich interactive content on open web technologies via HTML5. 497 | - http://createjs.com/ 498 | - http://createjs.com/#demos 499 | - https://github.com/CreateJS 500 | - Easel.js 501 | - A JavaScript library that makes working with the HTML5 Canvas element easy. The Easel Javascript library provides a full, hierarchical display list, a core interaction model, and helper classes to make working with the HTML5 Canvas element much easier. 502 | - http://createjs.com/easeljs 503 | - https://github.com/CreateJS/EaselJS 504 | - Tween.js 505 | - A JavaScript library for tweening and animating HTML5 and JavaScript properties. A simple but powerful tweening / animation library for Javascript. Part of the CreateJS suite of libraries. 506 | - http://createjs.com/tweenjs 507 | - https://github.com/CreateJS/TweenJS 508 | - Sound.js 509 | - A JavaScript library that lets you easily and efficiently work with audio on the web. A Javascript library for working with Audio. It provides a consistent API for loading and playing audio on different browsers and devices. Currently supports WebAudio, HTML5 Audio, Cordova / PhoneGap, and a Flash fallback. 510 | - http://createjs.com/soundjs 511 | - https://github.com/CreateJS/SoundJS 512 | - Preload.js 513 | - A JavaScript library that lets you manage and co-ordinate the loading of assets. PreloadJS makes preloading assets & getting aggregate progress events easier in JavaScript. It uses XHR2 when available, and falls back to tag-based loading when not. 514 | - http://createjs.com/preloadjs 515 | - https://github.com/CreateJS/PreloadJS 516 | - p5.js 517 | - p5.js is a JS client-side library for creating graphic and interactive experiences, based on the core principles of Processing. 518 | - https://p5js.org/ 519 | - https://p5js.org/examples/ 520 | - https://github.com/processing/p5.js 521 | 522 | --- 523 | 524 | ## Physics Engines 525 | 526 | - Planck.js 527 | - Planck.js is JavaScript rewrite of Box2D physics engine for cross-platform HTML5 game development. 528 | - http://piqnt.com/planck.js/ 529 | - https://github.com/shakiba/planck.js 530 | - Matter.js 531 | - A 2D rigid body physics engine for the web 532 | - http://brm.io/matter-js/ 533 | - http://brm.io/matter-js/demo/ 534 | - Box2d.js 535 | - Port of Box2D to JavaScript using Emscripten 536 | - https://github.com/kripken/box2d.js/ 537 | - http://kripken.github.io/box2d.js/demo/webgl/box2d.html 538 | - Ammo.js 539 | - Direct port of the Bullet physics engine to JavaScript using Emscripten 540 | - https://github.com/kripken/ammo.js 541 | - Physics.js 542 | - A modular, extendable, and easy-to-use physics engine for javascript. 543 | - wellcaffeinated.net/PhysicsJS/ 544 | - https://github.com/wellcaffeinated/PhysicsJS 545 | - Cannon.js 546 | - A lightweight 3D physics engine written in JavaScript. 547 | - http://www.cannonjs.org/ 548 | - https://github.com/schteppe/cannon.js 549 | - P2.js 550 | - JavaScript 2D physics library 551 | - https://schteppe.github.io/p2.js/ 552 | - https://github.com/schteppe/p2.js 553 | - SAT.js 554 | - A simple JavaScript library for performing 2D collision detection 555 | - http://jriecken.github.io/sat-js/ 556 | - https://github.com/jriecken/sat-js 557 | 558 | --- 559 | 560 | ## Audio Plugins 561 | 562 | - Howler.js 563 | - Javascript audio library for the modern web. 564 | - https://github.com/goldfire/howler.js/ 565 | - https://howlerjs.com/ 566 | - Pixi-sound.js 567 | - WebAudio API playback without any Flash shims or HTML Audio fallback 568 | - https://github.com/pixijs/pixi-sound 569 | - https://pixijs.github.io/pixi-sound/examples/index.html 570 | 571 | --- 572 | 573 | ## Performance Monitoring 574 | 575 | - Stats.js 576 | - JavaScript Performance Monitor 577 | - https://github.com/mrdoob/stats.js 578 | - FPSMeter.js 579 | - Sexy, fast, and themable FPS meter. 580 | - https://github.com/darsain/fpsmeter 581 | - http://darsa.in/fpsmeter/ 582 | 583 | --- 584 | 585 | ## Input Capture 586 | 587 | - Keypress.js 588 | - A robust Javascript library for capturing keyboard input 589 | - A keyboard input capturing utility in which any key can be a modifier key. 590 | - http://dmauro.github.io/Keypress/ 591 | - https://github.com/dmauro/Keypress 592 | - Hammer.js 593 | - A javascript library for multi-touch gestures 594 | - http://hammerjs.github.io/ 595 | - https://github.com/hammerjs/hammer.js 596 | 597 | --- 598 | 599 | ## Date & Time Parsing 600 | 601 | - Moment.js 602 | - Parse, validate, manipulate, and display dates and times in JavaScript. 603 | - http://momentjs.com 604 | - MomentTimezone.js 605 | - Parse and display dates in any timezone. 606 | - http://momentjs.com/timezone/ 607 | 608 | --- 609 | 610 | ## Game Networking 611 | 612 | ## Networking Basics 613 | 614 | Things that matter: 615 | - Knowing difference between tcp/udp 616 | - Lightweight vs Feature-rich libraries 617 | - Platform compatibility (ie, can the nodejs server handle connections from browser-based & native-code clients?) 618 | - Being able to do the math for the bandwidth requirements (ie: how many mbps/player can the server handle) 619 | - Being able to do the same math when scaling the server (when using load balancers and multiple server instances and such) 620 | - Being able to use dns-level traffic managers to decrease latency for players in various regions 621 | - Knowing which game data can be fired-and-forget across udp, and which of those should really go over tcp 622 | - Game state restoration on player's side in reconnection 623 | - Implementations really vary by genre, be it arcade/turn-based/first person shooter/mmorpg's/etc 624 | - Furthermore, I believe that doing some self-education on modern cloud technologies (ie Azure/AWS/Google Cloud Platform) would expose you to higher-level scaling & handling of game networking problems from a server-administrator point of view (instead of an indie game developer pov) 625 | - Related reads: 626 | - http://gafferongames.com/networking-for-game-programmers/ 627 | - https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking 628 | - https://0fps.net/2014/02/10/replication-in-networked-games-overview-part-1/ 629 | - https://0fps.net/2014/02/17/replication-in-networked-games-latency-part-2/ 630 | - https://0fps.net/2014/02/26/replication-in-networked-games-spacetime-consistency-part-3/ 631 | - https://0fps.net/2014/03/09/replication-in-network-games-bandwidth-part-4/ 632 | 633 | ## Networking Libraries 634 | 635 | ### Socket.IO 636 | - Features: 637 | - Simple pub/sub messaging 638 | - Automatic reconnection 639 | - Notes: 640 | - Automatic reconnection is quite sketchy especially on the server-side of things. 641 | 642 | [![website](https://img.shields.io/badge/website-socket.io-blue.svg?style=flat-square)](https://socket.io/) 643 | 644 | [![API](https://img.shields.io/badge/API-Server-brightgreen.svg?style=flat-square)](https://github.com/socketio/socket.io/blob/master/docs/API.md) 645 | [![API](https://img.shields.io/badge/API-Client-brightgreen.svg?style=flat-square)](https://github.com/socketio/socket.io-client/blob/master/docs/API.md) 646 | 647 | [![npm](https://img.shields.io/badge/npm-socket.io-red.svg?style=flat-square)](https://www.npmjs.com/package/socket.io) 648 | [![npm](https://img.shields.io/badge/npm-socket.io--client-red.svg?style=flat-square)](https://www.npmjs.com/package/socket.io-client) 649 | 650 | ### Faye & Faye-Websocket 651 | 652 | - Features 653 | - Simple pub/sub messaging 654 | - Sending of string / buffer 655 | - Notes 656 | - Biggest advantage over socket.io is its simplicity, flexibility & overall the whole project is notably well-maintained. 657 | - However automatic reconnection isn't built-in on this one. 658 | 659 | [![website](https://img.shields.io/badge/website-faye.jcoglan.com-blue.svg?style=flat-square)](https://faye.jcoglan.com/) 660 | 661 | [![github](https://img.shields.io/badge/github-faye-brightgreen.svg?style=flat-square)](https://github.com/faye/faye) 662 | [![github](https://img.shields.io/badge/github-faye--websocket--node-brightgreen.svg?style=flat-square)](https://github.com/faye/faye-websocket-node) 663 | 664 | [![npm](https://img.shields.io/badge/npm-faye-red.svg?style=flat-square)](https://www.npmjs.com/package/faye) 665 | [![npm](https://img.shields.io/badge/npm-faye--websocket-red.svg?style=flat-square)](https://www.npmjs.com/package/faye-websocket) 666 | 667 | --- 668 | 669 | ## Learning Javascript 670 | 671 | - https://developer.mozilla.org/en-US/docs/Web/JavaScript 672 | - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Introduction 673 | - https://github.com/getify/You-Dont-Know-JS 674 | - https://addyosmani.com/resources/essentialjsdesignpatterns/book/ 675 | - https://gcanti.github.io/2014/09/25/six-reasons-to-define-constructors-with-only-one-argument.html 676 | 677 | --- 678 | 679 | ## Interesting Reads 680 | 681 | - [7 Of My Worst Game-Killing Assumptions, And What They Taught Me](https://www.reddit.com/r/gamedev/comments/66bwxe/7_of_my_worst_gamekilling_assumptions_and_what/) 682 | - [XBOX One HTML5 Game Dev](http://www.html5gamedevs.com/topic/29953-xbox-one-html5-game-dev/) 683 | 684 | --- 685 | 686 | ## Publishing Games 687 | 688 | - https://developer.mozilla.org/en-US/docs/Games/Publishing_games 689 | - https://developer.mozilla.org/en-US/docs/Games/Publishing_games/Game_distribution 690 | - https://developer.mozilla.org/en-US/docs/Games/Publishing_games/Game_promotion 691 | - https://developer.mozilla.org/en-US/docs/Games/Publishing_games/Game_monetization 692 | 693 | --- 694 | 695 | ## Monetizing Games 696 | 697 | - [Why Indie Game Devs Suck at Marketing](https://indiewatch.net/2016/04/26/why-indie-game-developers-suck-at-marketing/) 698 | - [59 Ways To Monetize Your Indie Game](http://gdu.io/blog/monetization/) 699 | 700 | ## Licensing Games 701 | 702 | - http://www.html5gamedevs.com/topic/772-licensing-vs-rev-share-vs-something-else/ 703 | - http://www.html5gamedevs.com/topic/11835-want-to-know-about-non-exclusive-license-of-html5-game/ 704 | 705 | TrueValhalla: 706 | 707 | > When a publisher expresses an interest in any of your games you'll need to determine a suitable price to charge for licensing. The minimum fee I currently accept for a non-exclusive license is $400, the most I ever charged was $950, and the average is approximately $550. While I don't offer exclusive licenses to publishers, I would currently charge between $4000-$5000 for one. Rental fees are normally non-negotiable, but $50-$75 per month is an average rate. 708 | 709 | > You can (and should) set different prices for different publishers. Charge large companies more, especially if they're based in Europe. A quick Google search can give you with an idea of how well financed a company is, and where they are situated. Use this information to determine a suitable value for your work. Negotiating a fee requires good judgement. With some experimentation, you'll be able to determine a publisher's range, and charge accordingly. 710 | 711 | >HTML5 games are currently worth a lot of money - keep it that way by maintaining high prices for quality content. Sometimes it is worth throwing away a sale in order to protect future business. I could sell my games for $150-$300 per non-exclusive license to some publishers, but for the sake of maintaining the value of HTML5 games I do not. Only accept a fair price, and do not settle for less than what your content is worth. 712 | 713 | --- 714 | 715 | ## Recommended Blogs 716 | 717 | - http://gdu.io/blog/ 718 | - https://www.truevalhalla.com/blog/ 719 | 720 | --- 721 | 722 | ## Recommended Subreddits 723 | 724 | - https://www.reddit.com/r/gamedev/ 725 | - https://www.reddit.com/r/gameDevClassifieds/ 726 | - https://www.reddit.com/r/INAT/ 727 | - https://www.reddit.com/r/gamedevscreens/ 728 | - https://www.reddit.com/r/gamedesign/ 729 | - https://www.reddit.com/r/devblogs/ 730 | - https://www.reddit.com/r/iogames/ 731 | - https://www.reddit.com/r/IndieDev/ 732 | - https://www.reddit.com/r/IndieGaming/ 733 | 734 | --- 735 | --- 736 | 737 | ## JS Power Tools 738 | 739 | - Q.js 740 | - A promise library for JavaScript. 741 | - http://documentup.com/kriskowal/q/ 742 | - https://github.com/kriskowal/q 743 | - Q-io.js 744 | - Interfaces for IO using Q promises in JavaScript on Node. 745 | - http://documentup.com/kriskowal/q-io 746 | - https://github.com/kriskowal/q-io 747 | - Bluebird.js 748 | - Bluebird is a full featured promise library with unmatched performance. 749 | - http://bluebirdjs.com/docs/getting-started.html 750 | - http://bluebirdjs.com/docs/api-reference.html 751 | - https://github.com/petkaantonov/bluebird 752 | - ASAP.js 753 | - High-priority task queue for Node.js and browsers 754 | - https://github.com/kriskowal/asap 755 | - Async.js 756 | - Async utilities for node and the browser. 757 | - http://caolan.github.io/async/ 758 | - https://github.com/caolan/async 759 | 760 | --- 761 | 762 | - i18next 763 | - i18next is a very popular internationalization library for browser or any other javascript environment (eg. node.js). 764 | - http://i18next.com/ 765 | - https://github.com/i18next/i18next 766 | 767 | --- 768 | 769 | - EJSON 770 | - EJSON - Extended JSON from Meteor available for Node.js and the front-end in one handy neat package. 771 | - http://docs.meteor.com/api/ejson.html 772 | - https://github.com/primus/ejson 773 | - MsgPack 774 | - It's like JSON, but fast and small. 775 | - http://msgpack.org/index.html 776 | - https://github.com/mcollina/msgpack5 777 | 778 | --- 779 | 780 | - Underscore 781 | - Underscore.js is a utility-belt library for JavaScript that provides support for the usual functional suspects (each, map, reduce, filter...) without extending any core JavaScript objects. 782 | - http://underscorejs.org/ 783 | - https://github.com/jashkenas/underscore 784 | - Lodash 785 | - A modern JavaScript utility library delivering modularity, performance & extras. 786 | - https://lodash.com/ 787 | - https://lodash.com/docs/ 788 | - https://github.com/lodash/lodash 789 | - Ramda 790 | - A practical functional library for JavaScript programmers. 791 | - http://ramdajs.com/ 792 | - http://ramdajs.com/docs/ 793 | - https://github.com/ramda/ramda 794 | - Highland 795 | - The high-level streams library for Node.js and the browser. 796 | - http://highlandjs.org/ 797 | - https://github.com/caolan/highland 798 | 799 | --- 800 | 801 | - EventEmitter3 802 | - Because there's also a number 2. And we're faster. 803 | - https://github.com/primus/eventemitter3 804 | 805 | --- 806 | 807 | - UUID-Random 808 | - Fastest UUID with good RNG for JS 809 | - https://github.com/jchook/uuid-random 810 | - https://www.npmjs.com/package/uuid-random 811 | - Random.js 812 | - This is designed to be a mathematically correct random number generator library for JavaScript. Inspiration was primarily taken from C++11's . 813 | - https://www.npmjs.com/package/random-js 814 | - https://github.com/ckknight/random-js 815 | - ChanceJS 816 | - Random generator helper for JavaScript 817 | - http://chancejs.com/ 818 | - https://www.npmjs.com/package/chance 819 | - https://github.com/chancejs/chancejs 820 | - FakerJS 821 | - Generate massive amounts of fake data in Node.js and the browser 822 | - https://www.npmjs.com/package/Faker 823 | - https://github.com/marak/Faker.js/ 824 | 825 | --- 826 | 827 | - Google Maps 828 | - https://developers.google.com/maps/ 829 | - https://github.com/googlemaps/ 830 | - Leaflet.js 831 | - An open-source JavaScript library for mobile-friendly interactive maps. 832 | - http://leafletjs.com/ 833 | - https://github.com/Leaflet/Leaflet 834 | - OpenLayers 835 | - A high-performance, feature-packed library for all your mapping needs. 836 | - https://openlayers.org/ 837 | - https://github.com/openlayers/openlayers 838 | 839 | --- 840 | 841 | - VexJS 842 | - Beautiful, functional dialogs in vanilla JavaScript 843 | - http://github.hubspot.com/vex/ 844 | - https://github.com/hubspot/vex 845 | 846 | --- 847 | 848 | - ExpressJS 849 | - Fast, unopinionated, minimalist web framework for Node.js 850 | - https://expressjs.com/ 851 | - Koa 852 | - Next generation web framework for Node.js 853 | - http://koajs.com/ 854 | - Hapi 855 | - A rich framework for building applications and services 856 | - https://hapijs.com/ 857 | 858 | --- 859 | 860 | - Gulp 861 | - The streaming build system; Automate and enhance your workflow. 862 | - http://gulpjs.com/ 863 | - https://github.com/gulpjs/gulp 864 | - Grunt 865 | - The JavaScript Task Runner 866 | - https://gruntjs.com/ 867 | - https://github.com/gruntjs/grunt 868 | 869 | --- 870 | --- 871 | 872 | ## Developer Tools 873 | 874 | - Spritesheet Packers 875 | - https://github.com/amakaseev/sprite-sheet-packer/releases 876 | - http://renderhjs.net/shoebox/ 877 | - https://www.codeandweb.com/texturepacker 878 | - Editors 879 | - https://notepad-plus-plus.org/download/ 880 | - https://atom.io/ 881 | - https://www.sublimetext.com/ 882 | - https://www.jetbrains.com/webstorm/ 883 | - Creating Mobile Apps 884 | - https://cordova.apache.org/ 885 | - https://crosswalk-project.org/ 886 | - http://phonegap.com/ 887 | - Version Control 888 | - https://git-scm.com/downloads 889 | - https://www.sourcetreeapp.com/ 890 | - Terminals / CLI's 891 | - https://hyper.is/ 892 | - http://cmder.net/ 893 | - FTP / SFTP 894 | - https://winscp.net/eng/download.php 895 | - SSH 896 | - http://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 897 | 898 | --- 899 | 900 | ## Developer Freebies 901 | 902 | - Microsoft Azure w/ $200 Free, for 30 days 903 | - https://azure.microsoft.com/en-us/free/ 904 | - Google Cloud Platform w/ $300 Free, for 1 year 905 | - https://cloud.google.com/free/ 906 | - Amazon Web Services (AWS) Free Tier, for 1 year 907 | - https://aws.amazon.com/free/ 908 | - Free SSL 909 | - https://www.sslforfree.com/ 910 | - https://www.freessl.com/freessl/good-karma/ 911 | - Free Game Assets 912 | - GFX / GUI / Characters 913 | - http://www.kenney.nl/ 914 | - https://www.gamedeveloperstudio.com/ 915 | - SFX / Music 916 | - https://soundcloud.com/parijat-mishra/sets/original-instrumentals 917 | - http://www.sonniss.com/gameaudiogdc2017/ 918 | - http://www.youtube.com/c/ourmusicbox 919 | 920 | - [Free Music, Sound Effects and Images for Your Projects by Eric Matyas.](http://www.html5gamedevs.com/topic/27581-building-a-library-of-images-for-everyone/) 921 | 922 | ``` 923 | Hi everyone, 924 | 925 | I've been building a library of images that you are welcome to use in your projects. 926 | They are all original...all my own work. I think a lot of them could be made into 927 | cool textures for games. All I ask is to be attributed as indicated on my homepage: 928 | 929 | http://soundimage.org/ 930 | 931 | The images are on my "TXR" pages. 932 | 933 | I'm adding new ones all the time, so be sure to check back often. I sincerely hope that some of them 934 | are useful. Any and all constructive feedback is welcome and always appreciated. :-) 935 | 936 | All the best, 937 | 938 | Eric 939 | ``` 940 | 941 | - [1000 Free Instrumental Game Background Music Tracks](https://www.reddit.com/r/gamedev/comments/66v29j/my_1000_free_instrumental_background_music_tracks/) 942 | 943 | ``` 944 | Torrent (thanks to Aizome) : 945 | https://drive.google.com/open?id=0B3re2AF_gdUhVHlFUDZhQnN4MFU 946 | Soundclick: 947 | http://www.soundclick.com/_mobileFrame.cfm?bandID=1277008 948 | My blog where I release the songs and FLstudio project files for them: 949 | http://anttismusic.blogspot.fi 950 | ``` 951 | 952 | - [500 Male & Female Dialog Pack Audio Files](https://www.reddit.com/r/gamedev/comments/66wzgs/i_just_published_a_free_dialogue_pack_with_over/) 953 | 954 | ``` 955 | [Super Dialogue Audio Pack](https://stuckeast.itch.io/sdap) contains more than 500 audio files of dialogue 956 | recorded specifically for video games. The pack includes both male and female voices from 5 different voice 957 | actors, and all of the files can be used for commercial purposes (royalty free). 958 | The pack is available for free at https://stuckeast.itch.io/sdap and a short sample 959 | can be [heard here](https://soundcloud.com/dillonbecker-1/sdap) (or at the itch.io link). 960 | [Link to full list of lines](https://drive.google.com/file/d/0Byy6MF-H-jRBRzV1X19kbTJKYzA/view) 961 | and [link to the license](https://drive.google.com/file/d/0Byy6MF-H-jRBa095SEZ6ODV6Ykk/view). 962 | Enjoy! 963 | ``` 964 | 965 | --- 966 | 967 | ## Queued / To Be Categorized 968 | 969 | - Localization http://i18next.com/ 970 | http://vitess.io/overview/ 971 | - https://nodejs.org/api/ 972 | - https://github.com/mscdex/ssh2 973 | - https://www.npmjs.com/package/node-forge 974 | - https://github.com/pierrec/js-xxhash 975 | - https://github.com/Mostafa-Samir/zip-local 976 | 977 | - https://www.npmjs.com/package/nodejs-fs-utils 978 | - https://www.npmjs.com/package/pretty-bytes 979 | - https://www.npmjs.com/package/uuid-random 980 | - https://www.npmjs.com/package/chalk 981 | - https://www.npmjs.com/package/eventemitter3 982 | 983 | - https://www.npmjs.com/package/xo 984 | - https://www.npmjs.com/package/ava 985 | 986 | - https://www.npmjs.com/package/faye-websocket 987 | - https://www.npmjs.com/package/clipboardy 988 | - https://www.npmjs.com/package/globby 989 | - https://www.npmjs.com/package/hasha 990 | - https://www.npmjs.com/package/lodash - https://lodash.com/docs/ 991 | - https://www.npmjs.com/package/chokidar 992 | - https://www.npmjs.com/package/yargs - http://yargs.js.org/docs/ 993 | - https://www.npmjs.com/package/async - http://caolan.github.io/async/docs.html 994 | 995 | - https://www.npmjs.com/package/gulp - http://gulpjs.com/ 996 | 997 | ```sh 998 | npm install gulp-cli -g 999 | npm install gulp -D 1000 | ``` 1001 | 1002 | - https://github.com/webtorrent/webtorrent 1003 | - https://github.com/feross/p2p-graph 1004 | 1005 | mongodb: 1006 | - https://www.npmjs.com/package/mongodb 1007 | - http://mongodb.github.io/node-mongodb-native/2.2/tutorials/crud/ 1008 | 1009 | azure storage: 1010 | - https://www.npmjs.com/package/azure-storage 1011 | - http://azure.github.io/azure-storage-node/ 1012 | 1013 | 1014 | - https://github.com/primus/ejson 1015 | - https://github.com/hubspot/vex 1016 | - https://github.com/dmauro/Keypress 1017 | - http://hammerjs.github.io/ 1018 | - https://jquery.com/download/ 1019 | - https://github.com/jriecken/sat-js 1020 | - https://github.com/jcubic/jquery.terminal 1021 | 1022 | - https://github.com/lpinca/stopcock 1023 | - https://github.com/janhuenermann/neurojs 1024 | - https://github.com/sindresorhus/multimatch 1025 | 1026 | Free SSL: 1027 | - https://www.sslforfree.com/ 1028 | - https://www.freessl.com/freessl/good-karma/ 1029 | 1030 | - https://github.com/Valve/fingerprintjs2 1031 | - https://github.com/dmester/jdenticon 1032 | - https://github.com/lafeber/world-flags-sprite 1033 | 1034 | - https://www.npmjs.com/package/highland 1035 | > https://gist.github.com/kharandziuk/e823707bf71fba9a4cdf944216773f58 1036 | > http://blog.vullum.io/javascript-flow-callback-hell-vs-async-vs-highland/ 1037 | 1038 | - https://github.com/winstonjs/winston 1039 | 1040 | 1041 | --- 1042 | 1043 | to be added: 5/14/2017 1044 | 1045 | ``` 1046 | index updates 1047 | 1048 | - materialize 1049 | - bootstrap 1050 | - interact js 1051 | - jquery ui 1052 | - jquery mobile 1053 | - evil icons 1054 | - https://github.com/evil-icons/evil-icons 1055 | - font awesome 1056 | - http://fontawesome.io/get-started/ 1057 | - fatcow icons 1058 | - http://www.fatcow.com/free-icons 1059 | - https://material.io/icons/ 1060 | - https://thenounproject.com/ 1061 | - sweetalerts 1062 | - https://scrollrevealjs.org/ 1063 | - https://github.com/jlmakes/scrollreveal 1064 | - https://bitshadow.github.io/iconate/ 1065 | - http://glyphicons.bootstrapcheatsheets.com/ 1066 | - http://lostgrid.org/ 1067 | 1068 | - http://www.chartjs.org/ 1069 | - https://github.com/pa7/heatmap.js 1070 | 1071 | - knockout 1072 | - vuejs 1073 | - react 1074 | - angular2 1075 | - meteorjs 1076 | - marionette js https://github.com/marionettejs/backbone.marionette 1077 | - ember js 1078 | 1079 | - https://github.com/hakimel/reveal.js 1080 | 1081 | - build tools 1082 | - chokidar 1083 | - gulp 1084 | 1085 | - inline w/ lodash / underscore / highland 1086 | - http://ramdajs.com/docs/ 1087 | 1088 | - inline w/ renderers 1089 | - http://mojs.io/ 1090 | - https://github.com/legomushroom/mojs 1091 | - http://paperjs.org/ 1092 | - http://maxwellito.github.io/vivus/ 1093 | - https://github.com/maxwellito/vivus 1094 | - http://stack.gl/#community 1095 | 1096 | - inline w/ loaders 1097 | - basketjs 1098 | - stimulated 1099 | - requirejs 1100 | 1101 | - promises 1102 | - q 1103 | - asynquence 1104 | - bluebird 1105 | - async 1106 | 1107 | - time 1108 | - momentjs 1109 | - moment timezone 1110 | 1111 | - feature checking 1112 | - modernizr 1113 | 1114 | - build flows 1115 | - browserify 1116 | - babel (to es2015) -> browserify / uglifyJS 1117 | - pixify 1118 | - using gulp / grunt to orchestrate tasks 1119 | 1120 | - linting & unit testing 1121 | - xo & ava 1122 | 1123 | 1124 | - is it maintained format 1125 | - https://github.com/almende/vis 1126 | ``` 1127 | 1128 | 1129 | --- 1130 | --- 1131 | --- 1132 | --- 1133 | 1134 | 1135 | 1136 | ## 1137 | --------------------------------------------------------------------------------