
Overview
For this project, you’ll be building something fun - a game!
Thanks to the amount of logic in a game, there’s no better app to teach you to think like a programmer! You’ll get the opportunity to be creative and work through some tough programming challenges.
You will work individually on this project.
❗️ As a reminder, General Assembly has a zero-plagiarism policy. Your project’s code must be substantially yours. Do not copy code from similar projects or other sources. However, using code from the internet to accomplish generic tasks is okay - for example, a line of code that replaces a character at a specific position in a string.
A printable PDF version of these project requirements can be found here.
Technical requirements
MVP
✅ Any items marked incomplete in this section will require you to use your one redo to re-submit them. Your game must fulfill the below requirements.
- Render the game in the browser using the DOM manipulation techniques demonstrated in lecture.
- Include win/loss logic and render win/loss messages in HTML. The game you chose must have a win/lose condition.
- Include separate HTML, CSS, JavaScript, and JavaScript data files organized in an appropriate directory structure.
- Include all required features specific to your game. Game-specific required features are defined in the Required Features column in the table in the Recommended Games document, or as discussed with your instructor. If you want to build a game that is not on this list, you will need to present and discuss your game’s features with the instructional team for approval.
- The game is deployed online so that the rest of the world can play it.
Code convention
✅ More than two items marked incomplete in this section will require you to use your one redo to re-submit them. If two or fewer items are marked incomplete, the project is considered passing. Your game must fulfill the below requirements.
- The game can be played without encountering errors. No errors may be present in the console in the browser.
- The code in the app adheres to coding conventions covered in lessons, like using plural names for arrays.
- There is no remaining dead and/or commented out code or console logs outside of a commented out Code Graveyard section of your code.
- The game may not utilize the
prompt() or alert() methods.
- The game is coded using proper indentation.
UI/UX
✅ More than two items marked incomplete in this section will require you to use your one redo to re-submit them. If two or fewer items are marked incomplete, the project is considered passing. Your game must fulfill the below requirements.
- CSS Flexbox and/or Grid is used for page layout design.
- Instructions about how to play the game are included in your app.
- Colors used on the site have appropriate contrast that meet the WCAG 2.0 level AA standard.
- All images on the site have
alt text.
- No text is placed on top of an image in a way that makes the text inaccessible.
Git and GitHub
✅ Any items marked incomplete in this section will require you to use your one redo to re-submit them. Your interactions with Git and GitHub must fulfill the below requirements.
- You are shown as the only contributor to the project on GitHub.
- The GitHub repository used for the project is named appropriately. For example, names like connect-four or adventure-game are appropriate names, whereas game-project or ga-project are not. The repo must be publicly accessible. Be sure to create the repo on your personal GitHub account and ensure that it is public.
- Your repo should have commits that date back to the very beginning of the project. If you start over with a new repo, do not delete the old one. Your commit messages should be descriptive of the work done in that commit.
README Requirements
✅ More than two items marked incomplete in this section will require you to use your one redo to re-submit them. If two or fewer items are marked incomplete, the project is considered passing. Your README must contain the items or sections below.
- Screenshot/Logo: A screenshot of your app or a logo.
- Your game’s name: Include a description of your game and what it does. Background info about the game and why you chose it is a nice touch.
- Getting started: Include a link to your deployed game and any instructions you deem important. This should also contain a link to your planning materials.
- Attributions: This section should include links to any external resources (such as libraries or assets) you used to develop your application that require attribution. You can exclude this section if it does not apply to your application.
- Technologies used: List of the technologies used, for example: JavaScript, HTML, CSS, etc.
- Next steps: Planned future enhancements (stretch goals).
Presentation Requirements
✅ Any items marked incomplete in this section will require you to use your one redo to re-submit them.
- Present your project in front of the class on the scheduled presentation day.
- The project you present is the project you were approved by your instructor to build.
Evaluation
Upon completion of your presentation, your instructional team will evaluate your project.
- Your instructors will be using the above guidelines to determine whether or not the project passes all of the minimum requirements.
- If your instructors determine that the project does not meet the minimum requirements, you may be provided the opportunity to address the deficiencies identified and resubmit the project. However, be aware that there is only a single opportunity to resubmit a project during the course. Please reach out to your student success specialist if you have questions.
- Immediately after your presentation, your instructors may provide you with feedback that will benefit your project and perhaps the projects of other students. The feedback given at this time is not formal feedback and does not indicate whether you passed or failed the project.
- If there is a specific section of code that you would like an instructor to provide additional feedback on, please ask!