As you can see by the volume of posts here on GameFromScratch.com, I took a bit of a holiday during the, um, holidays. During that time I did do a fair bit of reading. One book that came up on Safari is Pro HTML5 Games ( Safari link if you also subscribe ) that got my attention. Now, there are a ton of HTML5 game books on the market, of which I’ve read quite a few, but this one is kinda special. It actually shows how to create a Real Time Strategy ( RTS ) game in HTML5. I don’t believe there has been a book on creating an RTS since the title Real-Time Strategy Game Programming way back in 1999. A book I owned by the way and it was awesome… or at least according to my memory of 1999 it was.
Anyways, I haven’t completely finished the book, mostly jumped in and read a chapter here and there, but it is certainly an interesting title. When I finish it, I might do a proper review. Unlike most HTML books, this one is entirely about creating a single game… obviously an RTS title. As a result, it covers pretty much every step along the way, as you can see from the detailed Table of Contents below:
Chapter 1: HTML5 and JavaScript Essentials
The canvas Element
The audio Element
The image Element
Animation: Timer and Game Loops
Summary
Chapter 2: Creating a Basic Game World
Basic HTML Layout
Creating the Splash Screen and Main Menu
Level Selection
Loading Images
Loading Levels
Animating the Game
Handling Mouse Input
Defining Our Game States
Summary
Chapter 3: Physics Engine Basics
Box2D Fundamentals
More Box2D Elements
Tracking Collisions and Damage
Drawing Our Own Characters
Summary
Chapter 4: Integrating The Physics Engine
Defining Entities
Adding Box2D
Creating Entities
Adding Entities to Levels
Setting Up Box2D Debug Drawing
Drawing the Entities
Animating the Box2D World
Loading the Hero
Firing the Hero
Ending the Level
Collision Damage
Drawing the Slingshot Band
Changing Levels
Adding Sound
Summary
Chapter 5: Creating the RTS Game World
Basic HTML Layout
Creating the Splash Screen and Main Menu
Creating Our First Level
Loading the Mission Briefing Screen
Implementing the Game Interface
Implementing Map Panning
Summary
Chapter 6: Adding Entities to Our World
Defining Entities
Defining Our First Entity: The Main Base
Adding Entities to the Level
Drawing the Entities
Adding the Starport
Adding the Harvester
Adding the Ground Turret
Adding the Vehicles
Adding the Aircraft
Adding the Terrain
Selecting Game Entities
Highlighting Selected Entities
Summary
Chapter 7: Intelligent Unit Movement
Commanding Units
Sending and Receiving Commands
Processing Orders
Implementing Aircraft Movement
Pathfinding
Defining Our Pathfinding Grid
Implementing Vehicle Movement
Collision Detection and Steering
Deploying the Harvester
Smoother Unit Movement
Summary
Chapter 8: Adding More Game Elements
Implementing the Basic Economy
Purchasing Buildings and Units
Ending a Level
Summary
Chapter 9: Adding Weapons and Combat
Implementing the Combat System
Building Intelligent Enemy
Adding a Fog of War
Summary
Chapter 10: Wrapping Up the Single-Player Campaign
Adding Sound
Building the Single-Player Campaign
Summary
Chapter 11: Multiplayer with WebSockets
Using the WebSocket API with Node.js
Building the Multiplayer Game Lobby
Starting the Multiplayer Game
Summary
Chapter 12: Multiplayer Gameplay
The Lock-Step Networking Model
Ending the Multiplayer Game
Implementing Player Chat
Summary
If this book sounds interesting, be sure to check it out. Keep an eye here for a possible upcoming review.
General Programming