A top-down, room-based adventure game built with Phaser 3 and designed for desktop platforms using Electron. Explore interconnected rooms, battle enemies, pick up new weapons, and customize your experience through a soon to be dynamic combat system.
-
Dynamic Room System: Navigate seamlessly between different rooms, each with unique layouts and challenges.
-
Player Combat & Inventory: Engage in combat with enemies, manage player health, and collect weapons that enhance your abilities. Weapons are added to the player's inventory and visually equipped.
-
Responsive UI: Menu with animated bars and a central panel provides access to game controls and settings.
-
Enemy AI: Enemy AI for engaging combat encounters.
-
Physics & Collision: Utilizes Phaser's Arcade Physics for robust collision detection and world bounds.
-
Phaser 3: The fast, free, and fun HTML5 Game Framework.
-
JavaScript (ES6+): The core programming language.
-
Electron: For wrapping the web game into a cross-platform desktop application.
-
Electron-Builder: For creating distributable executables (
.exe,.dmg,.AppImage).
To run this game locally for development or to build a distributable version, follow these steps:
-
Node.js (LTS version recommended)
-
npm (comes with Node.js)
- Clone the repository:
git clone https://github.com/DihyahAdib/ReMake.git
cd ReMake
- Install dependencies:
npm install
This will install Phaser, Electron, and Electron-Builder.
To run the game in a development Electron window (developer tools are already enabled, you can disable it in main.js):
npm start
To package your game into a distributable executable for Windows, macOS, or Linux:
-
Ensure you have your application icons in the
build/directory (e.g.,build/icon.ico,build/icon.icns,build/icon.png) as configured inpackage.json. -
Run the build command:
npm run buildThe compiled executables and installers will be generated in the
dist/directory.
REMAKE/
├── node_modules/ # Project dependencies
├── src/ # source code
│ ├── game.ts # Phaser game instance
│ ├── scenes&menus/ # Game scenes (MainMenu, GameScene, PauseMenu, SettingsMenu, TutorialScene)
│ ├── utils/ # Utility functions (screenUtils, playerUtils)
│ ├── enemy.ts # Enemy class
│ └── weapons.ts # Weapon class
├── assets/ # Game assets (images, sounds, etc.)
├── index.html # Main HTML file for the game
├── main.ts # Electron main process script
├── preload.ts # Electron preload script for IPC
└── package.json # Project configuration and build settings
-
More diverse enemies and boss battles.
-
Additional weapon types and abilities.
-
Player leveling and skill trees.
-
More complex room layouts and environmental puzzles.
-
Sound effects and background music.
-
Save/load game functionality.
-
controller control support
-
OST, audio, and SFX
-
Restart button
If you want to be a bug tester or give me feedback, you're free to make an ‘issues’ post or contact me by email/discord.
Email: muhanddis4ever@gmail.com
Discord username: ultimatescripted
I might use the MIT License. I havent deployed this project yet.
-
Game Development: [SeamlessError / Dihyah Adib]
-
Assets: [All assets are original and created by me, or they’re placeholder images until I make them.]
-
Phaser Community: For excellent documentation.
-
Electron & Electron-Builder: ole reliable.