A 2D mining and building game built with Phaser 3 and TypeScript. Mine blocks, build structures, and explore a procedurally generated world.
Try the game in your browser! No installation required.
This project is currently in active development. Many features are still being implemented and refined.
- 🧱 More block types and variants
- 🔊 Additional sound effects and background music
- 🎨 Enhanced background and visual effects
- 🌍 Improved procedural terrain generation
- ⚡ Performance optimizations (culling, chunk loading, etc.)
- 🎮 Additional gameplay mechanics, such as crafting
- ⚔️ Enemies and battle
- Mining System: Mine dirt, grass, and stone blocks with a pickaxe
- Block Placement: Place blocks from your inventory to build structures
- Player Movement: Smooth 2D platformer controls with jumping and running
- Inventory System: 9-slot hotbar for managing your blocks
- Item Drop & Pickup: Items drop when mined and can be collected with a magnet effect
- Item Stacking: Items of the same type attract to each other and merge into stacks
- Floating Text: Visual feedback showing what items you've collected
- Terrain Generation: Procedurally generated terrain with varying heights
- Trees: Trees scattered across the landscape
- Sound Effects: Audio feedback for mining, placing blocks, jumping, movement, and item pickup
- Camera System: Smooth camera following with zoom controls
- Node.js (v18 or higher recommended)
- npm or yarn
- Clone the repository:
git clone https://github.com/abacchi00/elowen.git
cd elowen- Install dependencies:
npm install- Start the development server:
npm run dev- Open your browser and navigate to
http://localhost:3000(or the port shown in the terminal)
npm run buildThe built files will be in the dist/ directory.
- Arrow Keys or WASD: Move player left/right
- Up Arrow or W or Space: Jump
- Left Click: Mine blocks (when hovering over them)
- Right Click: Place blocks from inventory
- Mouse Wheel: Select items in hotbar
- Mouse Wheel + Shift: Zoom in/out
- Phaser 3: Game framework
- TypeScript: Type-safe JavaScript
- Vite: Build tool and dev server
- ESLint: Code linting
- Prettier: Code formatting
npm run dev- Start development servernpm run build- Build for productionnpm run preview- Preview production buildnpm run typecheck- Run TypeScript type checkingnpm run lint- Run ESLintnpm run format- Format code with Prettiernpm run format:check- Check code formatting
This project is open source and available under the MIT License.
Note: This is a work in progress. Features may change, and there may be bugs. Feel free to report issues or suggest improvements!
