This is a JavaScript capstone project from Microverse curriculum. It is a real time RPG. It is built based on next features:
- The player can control the main character on the map;
- The main goal is to kill monsters using that character;
- By killing monsters main character gains experience;
- Based on experience main char level is increasing using next formula:
Math.round(((Math.sqrt(25 + 10 * experience) - 5) / 10))
; - Main char has states like: attack, hp, experience, attack radius which can change if the main char is increasing the level;
- Monsters on the map are moving randomly and randomly time;
- Each monster has its own states like: hp, attack, experience for killing, attack radius;
- Monsters are powerful so player has to control the distance between himslef and monsters;
- Monsters attacks the player if he is not far;
- The experience of the player is stored in an API;
- There is a leaderboard where players can compete gaining experience from killing monsters;
- The game can be finished in 3 ways: main char death, killing all monsters, restart etc.
P.S. I want to mention that the battle system was fully implemented by me.
Use next keys for playing:
- W - move main character up
- S - move main character down
- D - move main character right
- A - move main character left
- SPACE - hold for main character attack
- Phaser 3
- JavaScript
- Webpack
- Jest
- API for storing scores
- Open the terminal in the directory where you want to install the app;
- Run command
git clone git@github.com:iliebabcenco/littletale-rpg.git
which will clone the project; - Switch to the main directory of project using cd;
- Run
npm install webpack webpack-cli --save-dev
in your computer terminal to install Webpack (you will need Node.js installed on your machine); - Open index.html file in your browser using a code editor like VSCode;
- Use it.
Desktop version |
---|
The game is deployed on Netlify also on GitHubPages.
👤 Ilie Babcenco
Contributions, issues, and feature requests are welcome!
If you want to contribute, you can clone this project or fork it.
If you found an issue, feel free to check the issues page.
Give a ⭐️ if you like this project!