# Mario Kart 3.js [Link](https://mario-kart-3-js.vercel.app/) ## Table of Contents 1. [About the Project](#about-the-project) 2. [How to Install](#how-to-install) 3. [Features](#features) 1. [Completed Features (Gameplay)](#completed-features-gameplay) 2. [TO DO](#to-do) 4. [Contributing](#contributing) 5. [Liscense](#liscence) ## About the Project Mario Kart 3.js is a creative endeavor to recreate the Mario Kart experience using JavaScript and WebGL technologies. ### Project Purpose The goal is to the iconic Mario Kart racing experience to life on the web, making it accesible to a wider audience on tablets, mobile devices or computers. ### Why Mario Kart 3.js? - **Innovation:** Pushing the boundaries of web-based gaming, Mario Kart 3.js explores the potential of JavaScript and WebGL for creating engaging and visually appealing experiences. - **Accessibility:** Breaking away from the traditional gaming platforms, this project aims to make Mario Kart accessible to anyone with a web browser, allowing users to enjoy the excitement of racing without the need for specialized hardware or software. - **Singleplayer and Multiplayer Gameplay:** Mario Kart 3.js caters to both solo players and multiplayer enthusiasts. Whether you enjoy honing your skills in solo Time Trial mode or competing against friends in dynamic online races, the game offers a versatile gaming experience. DISCLAIMER : This project is a work in progress, currently at around 50% completion. Development is ongoing, and your patience is appreciated. Enjoy the experience! ## How to install Clone the repository or download it Open your terminal and inside the project folder, run : ```bash npm install ``` Start the dev server ```bash npm run dev ``` ## Features ### Completed Features (Gameplay) The project has achieved significant milestones, including: - **Acceleration and Steering:** Players can control their vehicles using the W key for acceleration and the mouse for steering. - **Drift Mechanics:** A dynamic drifting system has been implemented, allowing players to initiate and control drifts using the space bar, with the release triggering a mini-turbo boost. - **Item System:** The E key activates the item system, adding an extra layer of strategy to the gameplay. - **Reset Location** The R key resets your car to its original position, usable anytime. ### TO DO Looking ahead, Mario Kart 3.js has an exciting roadmap that includes: - Immerse yourself in the thrilling Battle Mode, race for coins or a fierce clash of lives. Battle Mode adds a strategic twist to the gameplay. Compete against up to 4 players simultaneously. - **Update Steering Feature for Mobile/Gamepad/Keyboard:** Enhance the steering controls to provide a seamless gaming experience across various platforms, including mobile devices, gamepads, and keyboards. - **Designing a Landing Page:** Creating an engaging landing page to introduce users to the project and its features. - **Adding Various Items:** Expanding the arsenal of in-game items for more diverse and strategic gameplay. These items include tennis balls, bombs, real red shells, treats, and mystery items - **Enhancing Visuals:** Improving flame shader textures, adding skid marks, integrating smokes, and incorporating windscreen effects during boosts for a more visually appealing experience. - **Sound Design:** Elevating the overall gaming experience by enhancing the quality of sound design. - **User Interface (UI):** Designing a comprehensive UI for the Heads-Up Display (HUD) to provide players with essential information during gameplay. - **Time Trial Mode:** Implementing a Time Trial mode for solo players to challenge themselves against the clock. - **Track and Checkpoint Design:** Crafting unique tracks and checkpoints to diversify the racing experience. - **Code Quality:** Ongoing efforts to improve the overall code quality for better maintainability and scalability. #### Game Modes Mario Kart 3.js introduces an array of engaging game modes, each designed to cater to different playstyles and preferences: 1. **Online Racing Mode:** - Challenge your friends in the Online Racing Mode. Race head-to-head with up to 4 players simultaneously, bringing the excitement of competition to the virtual track. 2. **Time Trial Mode:** - Perfect your racing prowess in the Time Trial Mode, where precision and speed take center stage. Set your best lap times, fine-tune your strategies, and climb the ranks in the online leaderboard. 3. **Battle Mode:** - Immerse yourself in the thrilling Battle Mode, competing for coins or engaging in a fierce clash of lives. Battle Mode adds a strategic twist to the gameplay, allowing up to 4 players to compete simultaneously. ## Contributing - feel free to update anything that needs it! - Bug or feature requests - Feel free to bring your ideas to the project even if you can't code them. - You can also edit the README to add elements to the To-do List. ## License [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)