Skip to content

WCanirinka/RPG-Game

Repository files navigation

Netlify Status
Contributors Issues

JavaScript Capstone Project: Build an RPG game

AFRICAN JUNGLE screenshot

This is Microverse's final project for the Javascript section.

In this project I implemented an RPG game using Phaser 3, an open-source framework for Canvas and WebGL powered browser games.

Table of Contents

About

This project's objective was to build a platform game similar GameDev Academy.The main objective was to use the tutorial to point me in the right direction to build a platform game with different levels.

The link to the assignment can be found Here.

Link to a live-version.

Repository: https://github.com/WCanirinka/RPG-Game

The game

It is a turn-based game where you will have three characters, the game start with the first character (prospector) , you will be using him to find the enemies spolier alert!!! enemies are not visible use brute force to see them when you find the enemies you will have your two other characters Herus and ninja to help you fighting the enemies. select the character you want to use with keyboard arrows and attack the enemy with space. the game has three levels and as you progress you get stronger enemies and higher score.

0- 50 level 1
50- 200 level 2
200- ++ level 3

on the left, of the screen, you can see the LeaderBoard and when the game end if you broke your record, it will be automatically updated on the LeaderBoard

How to play

The player will have two turns before the enemies get their own. Use screenshot to select the character you want to use and the enemy you want to attack, and press screenshot to attack the selected enemy.

You can play the game online clicking here or locally following these steps:

clone the repo by typing
git clone https://github.com/WCanirinka/RPG-Game
navigate to the folder by typing
cd RPG-Game
get the Dependencies by typing
npm install
bundle the files and start the server by typing
npm start

You will have a live update of your score as you play. Enjoy the game

Design

The Game will start with your first character the prospector you will use him to find the hidden enemies when you find them you will be taken to the other screen which is the battle screen. when you are in the battle screen you will see your two heroes characters appear on the right and the enemies on the left of the screen, use the arrow keys on your keyboard to select your hero and press space to attack after you've attacked the enemies will automatically attack you, you can keep track of your remaining hp by looking at the health bar on the top left of your screen.if you won the battle you will be taken back to the main screen so that you can look for more enemies if you lost you will be taken to the game over screen.

players-characters

Prospector

use him to seek enemies in the forest

Ninja screenshot

he is your most important asset for making damage to the enemies he has 150 damage* and 80 Hp

Herus screenshot

You cant count on him bear attacks from the enemies he has 50 damage and 200 Hp

Enemies

wizarus 1 screenshot

You will see him in level one(he can take different forms) he has 80 damage and 80 Hp

wizarus 2 screenshot

You will see him in level 1 90 damage and 90 Hp

wizarus 3 screenshot

You will see him in level 2 110 damage and 100 Hp

ghostus screenshot

The most powerful all the wizarus, he joins in level 3 120 damage and 150 Hp

Master screenshot

he is the most valuable enemy that needs to be defeated since he is very strong 150 damage and 200 Hp

Scenes

TItle scene

screenshot

credit scene

screenshot

option scene

screenshot

world scene

screenshot

battle scene

screenshot

Technologies used

  • JavaScript
  • A bit of HTML and CSS for the front end
  • Phaser 3
  • Webpack
  • Eslint
  • Babel
  • Jest in the tests
  • Github
  • Netlify for the deployment
  • Leaderboard API service for the leaderboard

Learning Objectives

Transversal

  • Use linters (code standards) mast
  • Maintain professional Github repos mast
  • Deploy apps (Heroku, Netlify) mast

Soft skills

  • Strong English written communication mast
  • Ability to communicate information effectively to non-technical people mast
  • Ability to translate business requirements into software solutions mast
  • Sets high standards of performance to oneself mast
  • Shows a desire to take personal responsibility to complete tasks and solve problems mast
  • Ability to multitask and effectively manage time and prioritization mast

Technical

  • Create effective JavaScript code that solves the problem mast
  • Encapsulate JS code in modules mast
  • Use Webpack mast
  • Use EcmaScript+ mast
  • Deal with async code mast
  • Send and receive data from a back-end endpoint mast
  • Use JSON format mast
  • Use DOM (read/write data) listen to events mast
  • Test JS code mast

Overall Grade mast

contact

👤 Wilfried Canirinka

🤝 Contributing

Contributions, issues and feature requests are welcome!

Feel free to check the issues page.

Show your support

Give a ⭐️ if you like this project!

Releases

No releases published

Packages

No packages published