Index
A
- artificial intelligence
- about / Artificial intelligence
- Asynchronous Module Definition (AMD)
- URL / RequireJS
- authoritative server
- implementing / Implementing an authoritative server
- game server interface / Game server interface
- game client, updating / Updating the game client
- about / Authoritative server
B
- /BoardServer.js class / The /BoardServer.js class
- benefits, client-server networking
- separation of concerns / Client-server networking
- centralization / Client-server networking
- less work for the client / Client-server networking
- benefits, peer-to-peer networking
- fast data transmission / Peer-to-peer networking
- simpler setup / Peer-to-peer networking
- reliability / Peer-to-peer networking
- Bower
- URL / Managing frontend packages with Bower
- used, for managing frontend packages / Managing frontend packages with Bower
- using / Reinventing the wheel
- Browserify
- about / RequireJS, Browserify
- URL / Browserify
C
- Candidate Recommendation
- about / HTML5 – the final frontier
- client-server networking
- about / Client-server networking
- benefits / Client-server networking
- drawbacks / Client-server networking
- client-side code / RequireJS
- client-side Socket.io / Client-side Socket.io
- clients
- synchronizing / Synchronizing the clients
- CommonJS
- Composer / Managing Node.js packages with Npm
D
- datagrams / Networking protocols – UDP and TCP
E
- ECMA / The WebSocket protocol
- encryption
- about / Encryption over the wire
- versus hash / Session-based gameplay
- error correction
- Express.js
- about / package.json
- URL / package.json
- Express framework / package.json
F
- fixed time step / Fixed-time step
- frontend packages
- managing, with Bower / Managing frontend packages with Bower
- fullscreen mode
- game, maximizing / Maximizing your game with the fullscreen mode
- reference link / Maximizing your game with the fullscreen mode
G
- game
- maximizing, with fullscreen mode / Maximizing your game with the fullscreen mode
- game class / Reporting user input
- game client
- game loop / Game client's game loop
- game clients
- about / Game clients
- game loop
- about / The game loop, Understanding the game loop
- frame rate independence / Frame rate independence
- time-based game loop / Time-based game loop
- multiple game loops / Multiple game loops
- of game client / Game client's game loop
- of game server / Game server's game loop
- gamepad
- using / Better controlling with gamepad
- reference link / Better controlling with gamepad
- game rooms
- players, matching into / Matching players within game rooms
- friends, inviting / Inviting friends into your world
- auto-matching option / Auto-matching
- skill-based matching / Skill-based matching
- game security
- solutions / Reinventing the wheel
- with Npm install validator / Npm install validator
- with Npm install js-sha512 / Npm install js-sha512
- with Npm install closure compiler / Npm install closure compiler
- fair play / Fair play and the user experience
- user experience / Fair play and the user experience
- game server
- game loop / Game server's game loop
- game servers
- about / Game servers
- Google's closure compiler
- Grunt / Reinventing the wheel
- Gulp / Reinventing the wheel
H
- Halo / Play through the intent, but not the outcome
- hash
- versus encryption / Session-based gameplay
- Hello world game
- about / Hello world for game development
- setting up / Setting up the game
- package.json, using / package.json
- Index.jade, using / Index.jade
- modules / The game modules
- HTML5
- final frontier / HTML5 – the final frontier
- HTTP
- URL / Network sockets
I
- Interactive Connectivity Establishment (ICE)
- about / Peer-to-peer with WebRTC
J
- Jade
- URL / Index.jade
- JavaScript
- socket programming / Socket programming in JavaScript
- using, with Node.js / JavaScript outside the browser with Node.js
- URL / JavaScript outside the browser with Node.js
- benefits / Node.js
L
- loadNpmTasks function / Grunt
- lobby
- about / Lobby and room system
- implementing / Implementing the lobby
- local game server
- used, for predicting future / Predicting the future with a local game server
- user input, reporting / Reporting user input
M
- Media Capture
- used, for capturing moment / Capturing the moment with Media Capture
- about / Capturing the moment with Media Capture
- URL / Capturing the moment with Media Capture
- modular JavaScript
- writing / Writing modular JavaScript
- CommonJS / CommonJS
- RequireJS / RequireJS
- module ID / RequireJS
- modules, Hello world game
- about / The game modules
- game.js / Game.js
- snake.js / snake.js
- supporting modules / Other supporting modules
- supporting modules, app.client.js / app.client.js
N
- NAT
- about / Peer-to-peer with WebRTC
- navigator property
- networking
- basics / Understanding the basics of networking
- peer-to-peer networking / Peer-to-peer networking
- client-server networking / Client-server networking
- protocols / Networking protocols – UDP and TCP
- sockets / Network sockets
- networking protocols
- network latency
- dealing with / Dealing with network latency
- clients, synchronizing in lockstep / Synchronizing clients in lockstep
- network sockets
- HTTP / Network sockets
- about / Network sockets
- WebSocket / Network sockets
- Node.js
- JavaScript, using with / JavaScript outside the browser with Node.js
- about / Node.js
- installing / Installing Node.js
- URL / Installing Node.js
- Node.js, Tic-tac-toe game
- URL / Putting it all together – Tic-tac-toe
- about / Node.js – the center of the universe
- web server / Node.js – the center of the universe
- client files / Node.js – the center of the universe
- game server / Node.js – the center of the universe
- /Player.js class / The /Player.js class
- /BoardServer.js class / The /BoardServer.js class
- /server.js class / The /server.js class
- /public/js/Board.js class / The /public/js/Board.js class
- /public/js/app.js class / The /public/js/app.js class
- Node.js packages
- managing, with Npm / Managing Node.js packages with Npm
- Npm
- used, for managing Node.js packages / Managing Node.js packages with Npm
- URL / Managing Node.js packages with Npm
- using / Reinventing the wheel
- Npm install closure compiler
- about / Npm install closure compiler
- implementing / Npm install closure compiler
- Npm install js-sha512
- about / Npm install js-sha512
- Npm install validator
- about / Npm install validator
O
- obscurity
- implementing / Security through obscurity
P
- /Player.js class / The /Player.js class
- /public/js/app.js class / The /public/js/app.js class
- /public/js/Board.js class / The /public/js/Board.js class
- peer-to-peer communication
- with WebRTC / Peer-to-peer with WebRTC
- peer-to-peer networking
- about / Peer-to-peer networking
- benefits / Peer-to-peer networking
- drawbacks / Peer-to-peer networking
- Pip / Managing Node.js packages with Npm
- Proposed Recommendation
- about / HTML5 – the final frontier
- protocol
R
- requestAnimationFrame function / Frame rate independence
- RequireJS
- rooms
- about / Lobby and room system
- implementing / Implementing the rooms
S
- /server.js class / The /server.js class
- same-origin policy / Creating a client-side WebSocket
- script injection
- about / Script injection
- SDP
- about / Peer-to-peer with WebRTC
- secure games
- building / Building secure games and applications
- building, with authoritative server / Authoritative server
- building, with session-based gameplay / Session-based gameplay
- building, through obscurity / Security through obscurity
- security vulnerabilities
- about / Common security vulnerabilities
- encryption, over wire / Encryption over the wire
- script injection / Script injection
- server validation / Server validation
- artificial intelligence / Artificial intelligence
- server validation
- about / Server validation
- session-based gameplay
- implementing / Session-based gameplay
- Session Description Protocol (SDP)
- about / Peer-to-peer with WebRTC
- URL / Peer-to-peer with WebRTC
- Snake.prototype.sync method / Synchronizing the clients
- Socket.io
- about / Socket.io
- installing / Installing Socket.io
- client-side Socket.io / Client-side Socket.io
- socket programming, JavaScript
- about / Socket programming in JavaScript
- WebSocket protocol / The WebSocket protocol
- STUN servers
- about / Peer-to-peer with WebRTC
T
- TCP / Networking protocols – UDP and TCP
- Tic-tac-toe game
- creating / Putting it all together – Tic-tac-toe
- Node.js / Node.js – the center of the universe
- tick method / Frame rate independence
- TURN
- about / Peer-to-peer with WebRTC
U
- UDP / Networking protocols – UDP and TCP
- example scenario / Networking protocols – UDP and TCP
- UglifyJS
- about / Browserify
- URL / Browserify
- ul li span
V
- V8 / Node.js
W
- W3C Recommendation
- about / HTML5 – the final frontier
- Web Audio API
- Webkit targeting
- WebRTC
- used, for peer-to-peer communication / Peer-to-peer with WebRTC
- WebSocket
- about / Network sockets, The WebSocket protocol
- URL / Network sockets
- client-side WebSocket, creating / Creating a client-side WebSocket
- workflow
- automating / Automating your workflow
- workflow, automating
- Working Draft
- about / HTML5 – the final frontier
- World Wide Web Consortium (W3C)
- about / HTML5 – the final frontier
- Proposed Recommendation / HTML5 – the final frontier
- W3C Recommendation / HTML5 – the final frontier
- Working Draft / HTML5 – the final frontier
- Candidate Recommendation / HTML5 – the final frontier