Skip to content

tommydx/untitled-game

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project #1: The Game

Overview

Let's start out with something fun - a game!

Everyone will get a chance to be creative, and work through some really tough programming challenges – it's up to you to come up with a fun and interesting game to build.

You will be working individually for this project, but we'll be guiding you along the process and helping as you go. Show us what you've got!


Technical Requirements

Your app must:

  • Render the game in the browser
  • Design and implement logic for winning & visually display a win or loss state or which player won in a 2 player game
  • Include separate HTML / CSS / JavaScript files
  • Use the KISS (Keep It Simple Stupid) and DRY (Don't Repeat Yourself) principles
  • Use Vanilla JavaScript or jQuery for DOM manipulation
  • Deploy your game online, where the rest of the world can access it [To be shown on Thursday - Github Pages]
  • Use responsive design for HTML and CSS (adhere to best practices)

Necessary Deliverables

  • A working game, built by you, hosted on the internet
  • A git repository hosted on Github, with a link to your hosted game in the URL section, and frequent commits dating back to the very beginning of the project
  • A readme.md file which must include:
    • Explanations of the technologies used
    • Approach taken
    • User stories
    • Wireframes
    • How-to-use instructions
    • Unsolved problems
  • A presentation deck which must include:
    • ~5 slides
    • Wireframes
    • Features of your project
    • Constraints you had to work with (e.g. technological, timing, content, etc.)
    • Any other information you think might help us (your stakeholders) understand what you've built

Suggested Ways to Get Started

  • Pseudocode Start by stating the problems in plain text. This will help you guide your process and understand the problem better.
  • 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 & ask questions when you need to! Think about adding relevant code to your game each night, instead of, you know... procrastinating.
  • Commit early, commit often. [VERY IMPORTANT] Don’t be afraid to break something because you can always go back in time to a previous version.
  • Research documentation resources (MDN, jQuery, etc.) at home to better understand what you’ll be getting into.
  • Don’t be afraid to write code that you know you will 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 is over but you haven’t solved the win/lose game logic, you can create a button to simulate that until then.

Potential Project Ideas

Simon

A game with 4 colored "buttons". In this game, a round consists of lighting up one or more buttons in a random order, after which the player must reproduce that order by pressing the buttons. As the game progresses, the number of buttons to be pressed increases.

Card Counter

A game where cards are flipped over one by one over a set amount of time. By the end of the timer, user should be able to enter the "card count" or "score" based on a card counting strategy.

Connect Four

Users will take turns filling boxes in a grid and checking for a win condition. Gravity takes hold of the boxes and forces drops to the bottom of the game board!

Blackjack [Challenging]

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


Useful Resources


Project Feedback + Evaluation

  • Project Workflow: Did you complete the user stories, wireframes as specified above? Did you use source control (Git) as expected for the phase of the program you’re in (detailed above)?

  • Technical Requirements: Did you deliver a project that met all the technical requirements? Given what the class has covered so far, did you build something that was reasonably complex?

  • Creativity: Did you added a personal spin or creative element into your project submission?

  • Code Quality: Did you follow code style guidance and best practices covered in class, such as spacing, modularity, and semantic naming? Did you comment your code as your instructors have in class?

  • Deployment: Did you deploy your application to a public url using GitHub Pages?

  • Presentation: Did you present your game, your code, and your project-making experience clearly and effectively to the class?

  • Total: Your instructors will give you a score for each section between:

Score Expectations
0 Incomplete.
1 Does not meet expectations.
2 Meets expectations, good job!
3 Exceeds expectations, you wonderful creature, you!

This will serve as a helpful overall gauge of whether you met the project goals, but the more important scores are the individual ones above, which can help you identify where to focus your efforts for the next project!

A Note on Plagiarism

Plagiarism is a serious offense and grounds for expulsion. Our entire policy can be found in the wiki.

You are encouraged to ask others, including students, instructors, and stackoverflow, for help. However, it is NOT ACCEPTABLE TO COPY another person's code and submit it as your own. More importantly, it is detrimental to your learning and growth.

All of the following are considered plagiarism or cheating:

  • Turning in work that is not your own.
  • Turning in someone else's work as your own.
  • Hiring, or paying someone to do your work for you.
  • Copying words or code without giving credit.
  • Building or copying someone else’s idea without their knowledge or giving credit.
  • Giving incorrect information about a source.
  • Changing words, variable names, etc. but copying the code or files of a source without giving credit.
  • Copying so many ideas or code blocks from a source that it makes up the majority of your work, whether you give credit or not.
  • Failing to put a quotation in quotation marks.

In an effort to not plagiarize, credit for this content goes to:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published