Project: JavaScript Game

This is the capstone project to your first semester as a developer. You and a partner are going to build and deploy a game of your choice using all the skills and technologies you've learned so far. And we'll be following a modern development workflow through it all.


Planning

Your group will need to decide on a game to make. This can either be a brand new creation of your own or a remake of a well-known classic. Make sure it's a challenge to build, but within your capabilities. Just in case your game is not approved, come up with one or two backup options.

Write down a proposal, a couple of paragraphs detailing a description of the game and an overview of the features you'll build. Send it to me over Slack for approval. You should start creating your master story list, too. It doesn't need to be completed, but you need to have a good idea of all the user stories that you need, or want, to build.


Git Workflow

Your group should set up a GitHub repo that contains your game's files, but it is up to you to choose your git workflow. You have the option of adding your partner as a contributor and using the Centralized Workflow, just like the Tic-Tac-Toe project. Or you could try using the feature branch workflow to parallelize tasks and merge code using Pull Requests.

Either way, you should be reviewing each other's code as it's merged in. A good review process ensures you both understand all the code written, how it all works together, and helps you stay on track with what you're supposed to build.


Agile Workflow

After your pitched project is given the green light, you'll need to complete your master story list. That is all the stories necessary for the completion of your game as well as some extra optional stories that you hope to accomplish. Prior to starting code, we'll do an Agile planning day where you will estimate and prioritize your user stories. You can use these estimates to have an idea about when you'll complete the game, hopefully within the deadline.

For such a short timeline, we'll have very small iterations. We'll do a daily check-ins on Slack to monitor the project's progress and determine priorities for the day.


Launch

The games will be due by midnight on Tuesday, Dec. 15th. Make sure you've commited all your changes, pushed them to Github, and merged them into the master branch so that they'll be live on your production site! That means you need to setup GitHub Pages for the project.

We will show off our creations for our last day of class, so post the URL to the #cset-120 channel on Slack. Each of you will get to walk us through your game and your development process.