diff --git a/README.md b/README.md index 9f89882..1824454 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,85 @@ # Pokemon JS -Pokemon JS is a WIP attempt to recreate the classic Pokemon games in React. +A faithful recreation of the classic Pokemon Red/Blue games built with React and TypeScript. This project aims to recreate the original Pokemon experience in the browser, maintaining the authentic feel while leveraging modern web technologies. + +<img width="1675" alt="image" src="https://github.com/user-attachments/assets/7fc7324f-a0cb-4da1-b6a7-3f3941b39117" /> + +## Features + +- 🎮 Classic Pokemon gameplay mechanics +- 🗺️ Multiple maps and locations from the original games +- ⚔️ Turn-based battle system +- 🎵 Original game music and sound effects +- 📱 Responsive design with GameBoy-style interface +- 💾 Save/Load game functionality +- 🏪 PokeMart and Pokemon Center implementations +- 📦 Item and inventory system +- 🎯 Trainer battles +- 🌿 Wild Pokemon encounters +- 📱 Mobile-friendly controls + +## Tech Stack + +- React 18 +- TypeScript +- Redux Toolkit for state management +- Styled Components for styling +- Firebase for hosting + +## Getting Started + +### Prerequisites + +- Node.js (v14 or higher) +- Yarn package manager + +### Installation + +1. Clone the repository: + +```bash +git clone https://github.com/yourusername/pokemon-js.git +cd pokemon-js +``` + +2. Install dependencies: + +```bash +yarn install +``` + +3. Start the development server: + +```bash +yarn start +``` + +The game will be available at `http://localhost:3000` + +## Controls + +- **Arrow Keys**: Move character +- **Space**: Menu +- **Enter**: Confirm +- **Space**: Pause + +## Project Structure + +- `/src/components`: React components for game UI +- `/src/maps`: Game map data and configurations +- `/src/state`: Redux store and state management +- `/src/assets`: Game assets (sprites, music, etc.) +- `/src/styles`: Global styles and theme configurations + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change. + +1. Fork the repository +2. Create your feature branch (`git checkout -b feature/AmazingFeature`) +3. Commit your changes (`git commit -m 'Add some AmazingFeature'`) +4. Push to the branch (`git push origin feature/AmazingFeature`) +5. Open a Pull Request ## Special thanks to @@ -10,3 +89,11 @@ Pokemon JS is a WIP attempt to recreate the classic Pokemon games in React. - [The Spriters Resource](https://www.spriters-resource.com/game_boy_gbc/pokemonredblue/) for uploading sprites and assets used - [Video Game Music](https://downloads.khinsider.com/game-soundtracks/album/pokemon-game-boy-pok-mon-sound-complete-set-play-cd) for uploading the music and sounds used - [Strategy Wiki](https://strategywiki.org/wiki/Pok%C3%A9mon_Red_and_Blue/Walkthrough) for uploading information on trainers, maps and items + +## License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. + +## Disclaimer + +This is a fan-made project and is not affiliated with or endorsed by Nintendo, Game Freak, or The Pokemon Company. All Pokemon-related content is property of their respective owners.