Giter Club home page Giter Club logo

ci_pp2_cg's Introduction

CI_PP2_CG

Code institute Project portfolio 2 Cars Game CI_PP2_CG Is a web page developed to be a Retro car game by using of different methods and technics, like animations in CSS and algorithms in JS to make it interactive.

responsiveweb

  • HTML "HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScript. [1] "

  • CSS "Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML. CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript.[2]"

  • JS "JavaScript, often abbreviated JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of websites use JavaScript on the client side for web page behavior, often incorporating third-party libraries. All major web browsers have a dedicated JavaScript engine to execute the code on users' devices. .[3]"

bar

Live web page

Table of Content

  1. Project Goals
    1. User Goals
    2. Site Owner Goals
  2. User Experience
    1. Target Audience
    2. User Requirements and Expectations
    3. User Stories
  3. Design
    1. Design Choices
    2. Colour
    3. Fonts
    4. Structure
  4. Technologies Used
    1. Languages
    2. Frameworks Libraries Tools
  5. Features
  6. Testing
    1. HTML Validation
    2. CSS Validation
    3. JS Validation
    4. Accessibility
    5. Performance
    6. Browsers support
    7. Testing user stories
  7. Bugs
  8. Exeptions
  9. Deployment
    1. JSemail api method
    2. Share the code
    3. Fork the code
    4. Clone the code
  10. Credits
  11. Contributing
  12. License
  13. Acknowledgements

Project Goals

User Goals

  • Look for a free vintage game.
  • Look for a straightforward website.
  • Enjoy a straightforward game.
  • Score some points.
  • A brief guide explaining how to play the game.

Site Owner Goals

  • Create a straightforward, time-tested game to showcase some abilities.
  • Offer a manual or instructions on how to play the game.
  • Design a game that includes a navigation bar and feedback.

User Experience (UXD)

Target Audience

  • The general public.
  • People looking to play a free classic game.
  • Kids.

User Requirements and Expectations

  • Responsive interactive page design.
  • A page with simple and straightforward navigation.
  • Instructions are provided with clear information.
  • Social media and links also function.
  • A responsive layout that functions on various screens.

User Stories

First-time User

First time user:

  1. Desires simple navigation.
  2. Is interested in playing.
  3. Desires to play a traditional game.
  4. Desires to solicit comments or opinions.
  5. Is curious about social media.
  6. Be familiar with the game's rules

Returning User

As a returning user, We want:

  1. be aware of the result and improve.
  2. A website where you may unwind and play a simple game.
  3. Offer feedback or file bug reports.
  4. Locate the page's social media accounts.
  5. Use a website with a straightforward navigation bar.

Site Owner

As the site owner, we want:

  1. Participants who enjoy the game.
  2. A responsive and interactive page that is clear.
  3. Simple method for contacting us and providing feedback.
  4. Give the players a sense of being in a traditional setting.

Design

Design Choices

The game was created with the intention of evoking memories of vintage 16-pixel games and was heavily influenced by its vintage user interface.

Colour

Using the Visual Studio colors setting, the color tones were specifically selected to match the concept and to a straightforward and approachable style.

colors


Fonts

Was searched for a friendly font and came upon ROBOTO from GOOGLE, which has been utilized in smartphones. The most common font used on those platforms, which account for the majority of data flow, was used.

Structure

Following the principles of UXD (user experience design), the page's structure was made to be fluid and simple to read. To determine the sort of design used in contemporary food pages, research was conducted at the most well-liked Classic games. the following hues associated with the theme (Classic Car game)

The website was composed of five pages:

  • The home page, which includes the primary article, contact information, and social media links.
  • Game page where the interactive platform that interacts with the main page is located and where the level and vehicle are chosen.
  • The game's instructions page, which enables visitors to play, sadly does not work for blind persons.
  • A 404 page, which is created for every broken link, prompts the user to rewrite the page.
  • The page with the active form is called "Contact Us," and it provides information to us via email so we may read reviews and make improvements to the website.

Wireframes

Home
PC view
Tablet view
Phone view
Contact Us
PC view
Tablet view
Phone view
Instructions
PC view
Tablet view
Phone view
Game
PC view
Tablet view
Phone view
404
PC view
Tablet view
Phone view

Technologies Used

Languages

  • HTML5
  • CSS
  • Java Script

Frameworks Libraries Tools

  • Visual Studio Code
  • Git
  • GitHub
  • Gitpod
  • Balsamiq
  • Google Fonts
  • W3schools Colors
  • Favicon.io
  • ion icons

Features

The page was created and influenced by old-school user interface (UI) games, where colors were blended and changed periodically to try to give users a sense of being in an antiquated setting while using contemporary visuals.

Navigation Bar

Three HTML components make up the section. The first is the home page, where the user made the decision to play or read the content, the second is the contact us page, where the user can write us with their thoughts by email, and the third is the page with the instructions.

  • User stories covered: 11

navigationbar

Cars selector

Four different car styles made use of the car selector.

  • User stories covered: 13

cars style

Difficulty level

Difficulty consist in: Easy is five ways of automobiles, and hard is ten. These ways were used to expand or contract the stages.

  • User stories covered: 13

difficulty

Play the game

This function was designed to resemble older games in which you just clicked "play" to begin the game.

  • User stories covered: 13

play

Footer

The footer is a straightforward part where social networking connections are made with the website in an easy-to-understand manner.

  • User stories covered: 5

footer

Form

The form can be utilized by the user in a variety of ways, including sending feedback, reporting bugs, and sharing recommendations.

  • User stories covered: 9

form

Form Submit

The form submission modification was made to make the website more dynamic. The system changes the interface and displays a graphic to inform the user that the message has been sent.

  • User stories covered: 9

formSubmited

How to play

The instructions that describe the game's dynamics are included in this section. with a graphic showing each interactive element in the user interface and text explaining it.

  • User stories covered: 6

instructions

Game UI

A canvas with a background of the way is part of the game's user interface. Using CSS animation, it is animated to give the impression that it is moving. The player's EGO car and the other opponents' cars are the small components inside, and these divisions can be manipulated by JS by shifting their locations in the area.

  • User stories covered: 4,2

gameUI

Game controls

The controls consist of two straightforward arrows that attempt to replicate the joystick and three buttons found on older machines.

  • User stories covered: 3

controls

Validation

HTML Validation

The Validator used was W3C Service to validate the HTML of the webpage, the entire project pass with no errors by use of some tools.

Home Validation
Game UI Validation
Contact Us Validation
Instructions Validation
404 Validation

CSS Validation

W3C's primary activity is to develop protocols and guidelines that guarantee long-term growth for the Web. W3C's determine key parts of what makes the World Wide Web activity. W3C was used to validate the CSS style of the whole page

style.css

JS Validation

HintJs was used to validate the JS files, where the code was placed, the errors were rectified, and the actual unneeded variables were deleted. The software detects too many functions like unused variables.

Car and difficulty selector JS
Contactus JS
Game JS

Accessibility

The WAVE WebAIM web accessibility evaluation tool was used to ensure the website met high accessibility standards. All pages pass with 0 errors.

Home accessibility
Game UI accessibility
Contact Us accessibility
Instructions accessibility
404 accessibility

Performance

Google Lighthouse's Chrome Developer Tool was used to test the website's performance.

Home performance
Game UI performance
Contact Us performance
Instructions performance
404 performance

Browsers support

IE / Edge
IE / Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
Opera
Opera
IE11, Edge last 2 versions last 2 versions last 2 versions last 2 versions

Testing user stories

  1. Desires simple navigation.
Feature Action Expected Result Actual Result
Navigation Bar change pages Fluid design Works as well
Navigation Bar
  1. Is interested in playing.
Feature Action Expected Result Actual Result
Atractive desing Call the atention of the user Animations Works as well
Home design
  1. Desires to play a traditional game.
Feature Action Expected Result Actual Result
Classic desing Transport the player to the old environment game Animation Background Works as well
Game design
  1. Desires to solicit comments or opinions.
Feature Action Expected Result Actual Result
Form conected with email Recibe the messages Api jsemail Works as well
Form JSEmail
  1. Is curious about social media.
Feature Action Expected Result Actual Result
Social media links Open the social media open blank page with the link Works as well
Social links
  1. Be familiar with the game's rules
Feature Action Expected Result Actual Result
Instructions Explain the rules Images and text Works as well
Instructions
  1. be aware of the result and improve.
Feature Action Expected Result Actual Result
Report the score Show the score at the end New div appear on the screen Works as well
Score
  1. A website where you may unwind and play a simple game.
Feature Action Expected Result Actual Result
Simple UI 3 button sections Change conditions Works as well
Simple UI
  1. Offer feedback or file bug reports.
Feature Action Expected Result Actual Result
Form Title Message to explain it to user Message and colors Works as well
Form message
  1. Locate the page's social media accounts.
Feature Action Expected Result Actual Result
Footer Open links in blank page links with social media Works as well
Footer
  1. Use a website with a straightforward navigation bar.
Feature Action Expected Result Actual Result
Navigation Bar wrapper Put all items in a style Wrap a List in one section Works as well
Nav Bar
  1. Participants who enjoy the game.
Feature Action Expected Result Actual Result
The Game Dynamic game Can move the car and can lose the game Works as well
Game
  1. A responsive and interactive page that is clear.
Feature Action Expected Result Actual Result
Fit the page to different screens Fit content and style Change dynamic sizes Works as well
Responsive PC
Responsive Phone
  1. Simple method for contacting us and providing feedback.
Feature Action Expected Result Actual Result
Submit method to send the form Submit Recibe at email Works as well
Emailjs
  1. Give the players a sense of being in a traditional setting.
Feature Action Expected Result Actual Result
Almost all pictures are similar to classic games Use pictures to decorate all Images and text Works as well
Environment

Bugs

Bug Fix
Footer doesn't stay down change position and HTML min size
Contrast errors was used animated colors to fix it
Use different cars, they didn't appear Set a default option
Jshint detect function like unussed variables Call them with event listener

Exeptions

In Game.html was putted a script in the header for jsemail because, The mail doesn't work if the script is not in there.

Deployment

JSEMAIL API method

  1. Open a profile at emailjs.com
  2. Add a new email service; the code will utilize the contact service ID
  3. Include a new email template; the code will use the contact form ID.
  4. In the integration dashboard, your user ID will be displayed.
  5. Make sure to load the EmailJS SDK in the head of your HTML code; otherwise, it won't work.
  6. In JavaScript, write a method that initializes the SDK with your ID and waits for submit events; depending on the version, this may change.

Share the code

The steps for using GitHub Pages to deploy the website were as follows:

  1. On the GITHUB page's repository settings.
  2. On the menu under the Pages heading for code and automation.
  3. Select the primary branch in the source's selector..
  4. If everything that came before done so, you can see Your "link" has been published on your website..

Fork the code

To fork the repository:

  1. On the GitHub repository.
  2. Press the fork button in the top right corner.

Clone the code

To clone the repository:

  • In the Github repository
  1. Locate the button Code in the right uper corner.
  2. Chose between HTTPS, SSH, Github CLI or download zip.
  3. Open Git Terminal (Bash).
  4. Go to the directory where you want to cloned the file.
  5. Use command Git clone and paste the URL.
git clone https://github.com/jdhernandezS1/CI_PP2_CG.git

Online view link_to_page

Credits

Media

Images Sources:

  • fabicons
  • freepng
  • ionicons

Information

  • Road fighter 8 bit was the inspiration.

Code

In order how was used:

  • GITHUB to create the repository.
  • Visual Studio Code by develop the HTML, CSS and JS files.

Built With

The softwares language and recomended IDE used to build the project.

Contributing

Please read through our contributing guidelines, every pull request has been notified to be able to push code included

  • directions for opening issues
  • coding standards
  • notes on development

License

  • CI_PP2_CG is an open source project by CI_PP2_CG that is licensed under ops.
  • CI_PP2_CG reserves the right to change the license of future releases.

Acknowledgements

Cordially thanks to:

  • HashEm to bless me.
  • My mentor Mo Shami for his support and Professional advices.
  • My Family to support me.
  • Guys of Stack overflow.

ci_pp2_cg's People

Contributors

jdhernandezs1 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.