FIRST PROJECT
Let's start out with something fun -- a game! We'll be making Tic Tac Toe -- a basic, single-device game at first, then a two-player game that works on multiple devices.
This project is especially great because it's easy to demo on mobile devices. Say, "hand me your phone," load up the game, and play a quick round!
The objectives of this project are:
Use problem-solving to determine game logic for a simple game like Tic Tac Toe Solidify front-end skills by prototyping and building a site using the AngularJS framework (along with HTML and CSS) Practice using a pre-built back-end system (FireBase) for MVP Demonstrate creativity by taking a common base and making it distinctive with styling, theme, etc. You will be working individually for this first project, but we'll be giving you direction this time. Show us what you've got!
CORE REQUIREMENTS
Make sure to do all of the following with your app.
Render a game board in the browser Switch turns between X and O (or whichever markers you select) Declare a winner if a player gets three in a row, cat's game if neither does Allow for two players to compete on separate devices CHALLENGE ADD-ONS
These are for extra credit! Don't focus on these until you've hit the core requirements.
Display a "waiting..." message while users are waiting to be matched Keep track of multiple game rounds with a win counter Allow players to choose a name or icon instead of "Player 1" or X/O Get inventive with your styling -- use hover effects or animations to spiff things up Add "tableside" chat to your game PLANNING & DELIVERABLES
Project Plan deliverables (Due at end of week 2):
Wireframes -- what does your Tic Tac Toe app look like? (These can be digital or on paper/whiteboard.) Stories in Pivotal Tracker -- what do your objectives look like, broken down into unit-sized chunks? GitHub -- create a repo for your TTT game and show that you've been commiting early and often, while utilizing good commit messages. Completed Project deliverables (Due Monday of week 4):
In-class demo of project Link to Firebase hosted project Link to source code on GitHub TIMELINE
Project cycle: Weeks 2-3 Demo day: Monday, Week 4 Code reviews: Week 4 Something to keep in mind: you don't have to create your new app on the very first day of a project cycle. In fact, many students in previous WDI programs have waited until week 3 to begin their "real" game code (and chose to work on smaller parts of the app independently).
Work through the lessons in-class, ask questions and come to office hours when you need to, and add code to your Tic Tac Toe game afterwards.
Things to keep in mind
Make sure that your code is:
Well-formatted. Are you indenting well? Can we find the start and end of every div, curly brace, etc? Sufficiently commented. Will I understand what is going on in each block or function? If it's not clear, are there comments that indicate what you're doing? Clear. Do your naming conventions make sense? Would another developer be able to look at your app and understand what everything is? We’ll also be looking at:
Quality of communication around decision-making. Can you defend why you implemented your solution in a certain way? Can you think through alternative implementations? Your ability to pick up new technologies and push yourself. How did you approach the AngularJS framework and extend your learning into a working game?