Akki-jaiswal / Akki-jaiswal/pong-game

Implementing Advanced Gameplay Mechanics and a Modern UI for a Classic Pong Game

Abierto
#141 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
22
Forks
116
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

This document outlines the planned features and improvements for the Pong game project. The work is divided into two main sections: Core Gameplay Features and UI/UX Enhancements.

Core Gameplay Features

This section highlights key features that will introduce new mechanics and significantly expand the game's functionality.

- Implement 2-Player Local Multiplayer Mode
- Create a game mode for two players on one device.
- Assign separate keyboard controls: Player 1 (`W`/S` keys) and Player 2 (`Up`/`Down` Arrow keys).
- Disable AI opponent logic when this mode is active.

- Create a 'First to X' Win Condition
- Set a constant variable for the winning score (e.g., 10 points).
- After each point, check if a player has reached this score.
- When the win condition is met, halt gameplay and display a game-over screen announcing the winner.

- Add Dynamic Power-Ups
- Develop a system that spawns power-ups at random times and locations on the field.
- Detect collisions between the ball and power-up items.
- Implement various power-up effects such as Multi-Ball, Paddle Size Changes, and Ball Speed Adjustments.

UI/UX & Quality of Life Improvements

This section focuses on key updates to the user interface, accessibility, and player experience.

- Add a Game Instructions Modal
- Design and add a modal window that provides clear instructions.
- Include information on keyboard controls, mobile touch controls, and game rules.
- Add a clickable '?' icon to open the modal.

- Create a Theme Toggle (Light/Dark Mode)
- Use CSS variables for theme-specific properties like background and colors.
- Add a toggle switch to switch between light and dark themes dynamically.
- Save user preferences using `localStorage` so the theme choice persists.

- Add a Master Mute/Unmute Button
- Include a button that toggles all game sounds, including effects and music.
- Show the button state to indicate if the sound is on or muted.

- Improve Mobile Touch Controls
- Review and optimize existing touch input logic for better performance.

- - Make paddle movement more precise and responsive to drag gestures.

- Ensure controls feel natural and have minimal lag on mobile devices.

https://github.com/user-attachments/assets/52749fe3-7c05-46d4-872b-2be155d0592e
**I can solve this issue**

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.