Giter Club home page Giter Club logo

art-match's Introduction

ArtMatch - A single-player art memory game

Introduction

ArtMatch is a single-player memory game! Immerse yourself in the world of art as you challenge your memory to identify pairs of art pieces from the Art Institute of Chicago.

Welcome to ArtMatch

ArtMatch mockup

Contents

User Experience (UX)

User Stories

As a player, I want

  • intuitive controls that are easily accessible and comprehensible, so that I can have a seamless gaming experience across all devices.
  • clear and easily understandable game rules, so that I can have a concise overview of how to engage with the game effectively.
  • a user interface with user-friendly buttons and controls designed for effortless navigation, so that I can enjoy the game on various devices.
  • an immersive audio-visual experience with captivating sound and visual effects, so that I can enhance my gameplay and receive feedback on in-game events.
  • a quick game restart option with a dedicated button, so that I can initiate a new game promptly without unnecessary wait times.
  • to track my progress with real-time scores, level progression, and mistakes made, so that I can be aware of my performance and game advancemen
  • informative details about encountered paintings, so that I can gain educational benefits and enhance my art appreciation while playing.
  • a leaderboard feature to showcase top scores, so that I can be motivated to compete and surpass my own achievements.

As a parent of a minor playing the game, I want

  • the game to have an educational scope, so that my child can learn about art while playing.
  • a functional and visually appealing game, so that my child can enjoy playing.
  • a mute button in the game, so that my child can play without disturbing others with noises.
  • a game that provides a safe and secure environment for my child to play.

Back to top

Wireframes

The wireframes for ArtMatch were produced in Balsamiq. Inclued below, frames can be found for all distinct pages (home, rules, board) in desktop, mobile and tablet view as they were initially envisioned.

  • Home Page General:

Home Page

  • Home Page on Correct Answer!

Home Page

  • Rules Page:

Rules Page

  • Board Page:

Board Page

Back to top

Site Structure

The site consists of three pages with the main landing page being the home page where the user can play the game. Additionaly, there are the rules page and board page.

Back to top

Design

  • Typography

All text on the website is using a variation of the "Amatic SC" font family found on Google Fonts - Amatic SC

  • Colour palette

The color pallete chosen for the website consists of five colors: state grey, lavender pink, pink, misty rose and alabaster.The website is mainly colored with a soothing misty rose background, complemented by playful lavender pink for buttons and messages and pink color for the game cards. State grey provides balanced borders and text, while alabaster adds modern sophistication to details and shapes. This carefully chosen color palette aims to create a visually pleasing and cohesive user interface for an enhanced gaming experience.

ArtMatch - Colour Pallete

Back to top

Features

The ArtMatch wesite is designed to be simple to navigate and easy to use. It includes a variety of features commonly found in most web games such as a navigation bar, gameplay mechanics and a leaderboard.

Existing features

  • Navigation Menu

    Can be found on the header of all pages of the website pages below the logo. Makes navigation through pages easy and intuitive. The navigation menu is fully responsive to accomodate users of all decvces. The active page is always overlined. Any other manu item is overlined and turned to lavender pink when hovered over with the mouse to increase usability.

    • Navigation Menu

      Navigation Menu

  • Gameplay Features:

    • Level Building

      The game is designed with multiple levels (5), increasing in difficulty every two levels. The number of cards in each level varies, and the layout adapts to the screen size. Levels progress as the player successfully completes the current level.

      level building

    • Card Load and Pairing

      The game dynamically loads cards with artworks from a database. Each card is paired with another, and the player's goal is to match these pairs by clicking on them.

      Card Load and Pairing

    • Level Progression

      Upon successfully matching all card pairs in a level, the player advances to the next level. The game adapts the grid layout and increases the difficulty with more cards as the levels progress.

      Level Progression

    • Score Keeping

      The player's score is continuously updated based on successful matches. Each correct pair earns the player points, contributing to their overall score.

      Score Keeping

    • Lives Tracking

      The player starts with a set number of lives. Incorrect matches result in the deduction of a life. When lives reach zero, the game ends.

      Lives Tracking

    • Live Updates

      The player receives real-time updates on their score, the current level, and the number of lives remaining. Messages appear at significant events, such as completing a level or losing a life.

      Live Updates

  • Rules

    The website includes a dedicated page explaining the rules and interactions of the game.

    rules-page

  • Leaderboard

    Players are able to log in their desired username and store their scores in their browser memory, invoking the motive for a user to compete and surpass their previous achievements.

    leaderboard

  • Sound Toggle

    The game includes a sound toggler allowing players to mute or unmute the in-game sounds. This feature enhances the player's experience by providing control over the audio elements.

    Sound Toggler

Back to top

Future Features

  • Implementing the public API of the Art Institute of Chicago and laod a random art piece each time.
    • This feature was initially intended to be part of the game,but due to long waiting times for the requests to be fulfilled, the feature was left for a future update.
  • Universal Leaderboard.
    • At the moment, sicne the game is not connected to a database, the leaderboard functinality is limited to storing scores in the browser memory. Each player can access previous scores if logged in from the same decvce, but players are not able to see other users' scores yet.

Back to top

Technologies Used

Back to top

Testing

Please follow this link to learn more about testing FPC.

Back to top

Deployment

Project Deployment Instructions

This website is deployed on GitHub pages. Follow these steps to deploy a project:

  1. In the GitHub repository, go on the Settings tab.
  2. In the Settings menu, move to the Pages section on the left-hand side.
  3. In Source, select the main branch and click save.
  4. After selecting the master branch, the page will automatically reload, displaying a ribbon indicating the successful deployment.

GitHub-deployment

You can access the live link to the GitHub deployed version - https://sergpapa.github.io/FPC/

Forking the Repository on GitHub

To create a duplicate of the GitHub Repository, known as forking, you can view and make changes to this copy without impacting the original repository. To fork the repository, follow these steps:

  1. Log in on GitHub and find the repository.
  2. On the right-hand side of your page, next to the repository name, you can find a Fork button. Click it to create a duplicate of the original repository in your GitHub account.

GitHub-forking

Creating a Local Clone of this Project

To clone this project from GitHub to your local environment, follow these steps:

  1. Below the repository's name, click on the Code tab.
  2. Under Clone with HTTPS, click on the clipboard icon to copy the URL.

Cloning

  1. In your prefered IDE, open Git Bash.
  2. Change the current working directory to the location where you want to create the cloned directory.
  3. Type git clone, and then paste the copied URL from GitHub.
  4. Press enter to vcreate the local clone.

Back to top

Credits

Back to top

Acknowledgements

This website was developed as a part of my Portfolio 2 Project for the Web Application Developemnt Diploma at the Code Institute. I want to express my gratitude to my mentor, Precious Ijege, as well as the Slack community and everyone at the Code Institute for their valuable assistance and support throughout this project.

Sergios Papastergiou 2023

art-match's People

Contributors

sergpapa 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.