Skip to content

WDI-SEA/u1-project-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 

Repository files navigation

Unit 1 Project (Option #1): Create a Game

Overview

For the Unit 1 Project, let's start out with something fun — a game! Everyone will get a chance to be creative and work through some tough programming challenges. Now that you've gotten your feet wet with Tic-Tac-Toe, it's up to you to come up with another game to build. You will be working individually for this project, but we'll be guiding you throughout the process and helping as you go.


Technical Requirements

Your app must:

  • Render a game in the browser.
  • Switch turns between two players.
  • Include logic for winning, and visually indicate which player has won.
  • Include separate HTML/CSS /JavaScript files.
  • Stick with the KISS (Keep It Simple Stupid) and DRY (Don't Repeat Yourself) principles.
  • Use JavaScript or jQuery for DOM manipulation.
  • Be deployed and accessible online.
  • Use semantic markup for HTML and CSS, adhering to best practices.

Necessary Deliverables

  • A working game, built by you. Deploy to the internet (host it using GitHub Pages)
  • A Git repository, hosted on GitHub, that includes a link to your hosted game and frequent commits dating back to the beginning of the project.
  • A my-process.md file with explanations of:
    • Technologies used.
    • Your process/approach.
    • Installation instructions.
    • Unsolved problems.
    • Your biggest wins and challenges.
  • A five-slide presentation, to be given in front of classmates, outlining the following points:
    • The game you chose.
    • The rules of the game.
    • Your process for turning that game into a web application (wireframes, blockers/issues that popped up).
    • Screenshots of actual game play. (BONUS: video)
    • Screenshots of the snippets of code you used to solve particularly interesting problems (think code highlights).

Suggested Ways to Get Started

  • Break the project down into different components (data, presentation, views, style, DOM manipulation) and brainstorm each component individually. Use whiteboards!
  • Use your development tools (console.log, inspector, alert statements, etc.) to debug and solve problems.
  • Work through the lessons in class and ask questions when you need to! Think about adding relevant code to your game each night.
  • Commit early, commit often. Don't be afraid to break something. You can always revert to a previous version.
  • Consult documentation resources (MDN, jQuery, etc.) at home to better understand what you'll be getting into.

Don't be afraid to write code you know you'll have to remove later. Create temporary elements (buttons, links, etc.) that trigger events if real data is not available. For example, if you're trying to figure out how to change some text when the game ends but you haven't solved the win/lose game logic, you can create a button to simulate that scenario in the meantime.

Things To Avoid:

  • Don't create a game that includes violence, weapons, or gore.
  • Don't create a game that may offend your classmates or alienate those with specific religious, political, or philosophical views.

Potential Project Ideas

Blackjack

Make a one-player game in which people down on their luck can lose all their money by guessing which card the computer will deal next!

Self-Scoring Trivia

Test your knowledge and wits. Guess the answers to trivia questions, and have the computer tell you how right (or wrong) you are!

Puzzle Game

Typing Game


Useful Resources

  • MDN JavaScript Docs (a great reference for all things plain vanilla JavaScript)
  • jQuery Docs (if you're using jQuery)
  • GitHub Pages (for hosting your game)

Project Feedback + Evaluation

  • Project Workflow: Did you complete the user stories, wireframes, task tracking, and/or ERDs as detailed above? Did you use source control as expected for this phase of the course?
  • Technical Requirements: Did you deliver a project that met all of the technical requirements? Given what the class has covered so far, did you build an asset that was reasonably complex?
  • Creativity: Did you add a personal spin or creative element to your project submission? Did you deliver something of value to the end user (not just a login button and an index page)?
  • Code Quality: Did you follow the code style guidance and best practices covered in class for elements such as spacing, modularity, and semantic naming? Did you comment your code like your instructors have in class? Valid and Semantic!
  • Deployment: Did you deploy your application to a public URL using GitHub Pages?
  • Implement feedback: Did you fix problems outlined in instructor feedback/reviews?
Incomplete Does not Meet Expectations Meets Expecatations Exceeds Expectations
Valid, semantic code, adhering to best practices
Creative game with complexity
Is completely responsive
Includes separate HTML/CSS/JavaScript files
Sticks with the KISS (Keep It Simple Stupid) and DRY (Don't Repeat Yourself) principles
Uses JavaScript or jQuery for DOM manipulation
Includes the interactions listed under "Necessary Deliverables"
Is deployed online

This will serve as a helpful overall gauge of whether or not you've met the project goals. It can also help you identify where to focus your efforts for the next project!

Project Grade

Based on the requirements above, you can earn a maximum of 24 points on this project. Your instructors will score each of your technical requirements using the scale below:

Score Expectations
0 Incomplete
1 Does Not Meet Expectations
2 Meets Expectations
3 Exceeds Expectations

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published