Final Project: JS Game

This is the capstone project to your first semester as a developer. You're 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. It's up to your group to decide something that you're all excited about. 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.

Talk with your group over the Thanksgiving break and come up with a detailed description of the game, in writing. 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 git repo that contains your game's files. The other partner should be added to the repo as a contributor (See the repo settings page). You will be using the centralized workflow, so you don't have to worry about branches. As each of you do work, commit on master, and either pull then merge or pull with a rebase to get your partner's changes.

You should be reviewing each other's code as it's merge it in. I'll be able to review the contribution history via git to see who did what work and if each team member did an equal portion of the work.


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 stand-up to monitor the project's progress and determine priorities for the day. And we'll keep a Kanban board to track story progress and groom the backlog.


Launch

The games will be due by midnight on Thursday, Dec. 12th. 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. Each of you will get to walk us through your game and your development process.