mirror of
https://github.com/chase-manning/pokemon-js.git
synced 2025-06-26 16:49:08 +00:00
A faithful recreation of the classic Pokemon Red/Blue games built with React and TypeScript
https://gameboy-52d09.web.app/
|
||
---|---|---|
.firebase | ||
.github | ||
public | ||
scripts | ||
src | ||
.firebaserc | ||
.gitignore | ||
CONTRIBUTING.md | ||
firebase.json | ||
LICENSE | ||
package.json | ||
README.md | ||
TODO.md | ||
tsconfig.json | ||
yarn.lock |
Pokemon JS
A 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.
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
- Clone the repository:
git clone https://github.com/yourusername/pokemon-js.git
cd pokemon-js
- Install dependencies:
yarn install
- Start the development server:
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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Special thanks to
- darkmurkrow YouTube channel for uploading playthroughs of the game used for reference
- Brandon Smith for creating the Gameboy Codepen used for the mobile view
- luttje for creating the Pokemon GameBoy CSS used for some styling
- The Spriters Resource for uploading sprites and assets used
- Video Game Music for uploading the music and sounds used
- Strategy Wiki for uploading information on trainers, maps and items
License
This project is licensed under the MIT License - see the 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.