Purple Land is a dynamic 2D game built with Phaser 3 and TypeScript. The game features a grid-based bubble-shooting mechanic, immersive visuals, and a smooth player experience. This repository is designed for both development and production environments, ensuring a seamless workflow.
- Features
- Technologies Used
- Getting Started
- Game Overview
- Development
- License
- Contributing
- Acknowledgments
- Phaser 3 Framework: Advanced 2D game development capabilities.
- TypeScript Support: Type-safe development for robust and maintainable code.
- Bubble Shooting Mechanics: Interactive gameplay with grid-based mechanics.
- Smooth Animations: Seamless transitions and engaging visuals.
- Development Tools: Includes ESLint, Prettier, and Vitest for code quality and testing.
- Phaser 3: Game development framework.
- TypeScript: Strongly-typed programming language.
- Vite: Lightning-fast build tool.
- ESLint: JavaScript linting.
- Prettier: Code formatter.
- Vitest: Testing framework.
- Node.js v14.0.0 or higher
- NPM v6.0.0 or higher
-
Clone the repository:
git clone https://github.com/hamedaravane/purple-land.git
-
Navigate to the project directory:
cd purple-land -
Install dependencies:
npm install
To start the game in development mode:
npm run devTo build the game for production:
npm run buildTo test the game:
npm run testPurple Land revolves around shooting bubbles into a grid. The goal is to strategically match bubbles of the same color to clear them and score points.
- Aimer
- Handles aiming and shooting of bubbles.
- Bubble
- Represents individual bubbles with specific colors and behaviors.
- BubbleGrid
- Manages the grid structure and bubble placement.
- BubbleManager
- Responsible for spawning and managing bubbles.
- GameScene
- Main game logic and scene management.
project-root/
├── src/
│ ├── constants/
│ ├── managers/
│ ├── objects/
│ ├── scenes/
│ ├── types/
│ ├── utils/
│ ├── main.ts
├── public/
│ ├── assets/
│ │ ├── audio
│ │ └── images
├── vite/
├── index.html
└── package.json
Vitest is used to ensure the reliability of the code. Run the following command for test coverage:
npm run coveragePurple Land is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International (CC BY-ND 4.0). See the LICENSE file for more details.