Adventures in JavaScript

Created by Gary Kacmarcik

About

Adventures in JavaScript is a set of "branching path" books where, during the course of the adventure, the player (that's you) will learn how to create simple games using HTML, CSS and JavaScript.

Unlike most branching path adventure books, there are no wrong paths in these books that lead to your death. The choices merely determine the order in which you perform the various tasks necessary for the games. Two adventurers who choose different paths through one of these books will still end up in the same place at the end - they will both have created the same game.

These books are intended to serve as a jumping off point so that students can continue to develop their programming skills by independently modifying and enhancing the sample games.

How to play

See the How to play page.

Books

The following books are currently complete or in-progress.

Book 0 - Getting Started

In this book, you will create a simple canvas with a blue square "sprite" that you can move around using the arrow keys.

Note: The explanatory text for this book is missing, so it just shows you the final HTML, CSS and JS files that you need as a starting point for the other projects. You may find it easier to just download the finished baseline project.

Prerequisites: None

Difficulty: Easy

Links: Run completed project

Book 1 - The Legend of JavaScript

This is a basic platform-jumping game that is built on top of the baseline project.

Start this book

Prerequisites: Book 0 - Getting Started

Difficulty: Medium

Links: Run completed project

Book 2 - Pong

Create a version of the classic game Pong built on top of the baseline project.

Note: The explanatory text for this book is missing, so it just shows you the code edits that you need to make to the baseline project.

Start this book (after you've completed the prerequsites).

Prerequisites: Book 0 - Getting Started

Difficulty: Easy

Links: Run completed project

Current status

For most of the books, the programming part of the game is complete, but the descriptive text and explanations are not. There are many placeholders where a section needs to be expanded with more information.

However, all of the programming parts are in working order. The build process for this project walks through every possible pathway in the adventure and performs the code edits to ensure that everything works as intended. At the end of each stage, a check is made to verify that every pathway through that stage produces the exact same code.

Development info

For those who are curious, there are 2 development maps for book 1 (one for stages 1-4 and one for stage 5) that show the overall structure of the game. These maps are not needed while playing.