Create your RPG or MMORPG in your browser
RPGJS allows you to create a game with TypeScript, designed for the browser and optimized for real-time multiplayer! MIT License. Free. Opensource
npx degit rpgjs/starter my-rpg-game
cd my-rpg-game
npm install # NodeJS v14 only
npm run dev # and go to localhost:3000
Map Creation
Use the power of the Tiled Map Editor software to create maps
Multi-Tileset
Put in as many tilesets as you like
Mutli-Layer
Create several layers, group them together
Create animated tiles
Put animated water tiles for example, and give life to the maps
Use worlds
Group the maps with worlds, the player will be able to switch from one map to another
Shapes
Put shapes on the map. When the person enters or leaves the training, put actions!
Event
Place events on the map (as a non-player character)

Text and Image
Put text or image in one place on the map
WebGL Rendering
RPGJS uses Pixi.js. Rendering uses WebGL for better performance
GamePlay
Complete framework to create your gameplay!
Many commands for actions
Display a dialogue, move a character, display an animation, change the gold, set one or more appearances, etc.

Scenario
Make sure that an event is shared or not with all players. For example, a monster will be visible to everyone but you can create a chest that can be opened by each player to establish a scenario in the game
Animation
Display animations on the map or player
Music
Add sound effects and background music to set the mood
Vision area
Create visions, and trigger actions!

Save point
Save the position and parameters of the character, and save them in the database of your choice (FileSystem, Memory, SQL, NoSQL, etc.)
Create GUI
Put in menus, windows, etc.
Using VueJS for user interfaces
VueJS allows to create rich interfaces with a component-oriented structure. Create your menus with VueJS or use existing modules to display pre-built menus.
Prebuilt GUI
dialog box, main menu, shop menu, etc.

Create GUI over the map
For example, create a HUD

Emotion Bubble
Display a bubble with an emotion

Chat GUI
Talking with other players

Title Screen
In MMORPG, put a window to encourage the user to log in to their account

Notification GUI
Display notifications (e.g., to indicate rewards earned, or goals unlocked)
GUI attached to a sprite
This is very useful to make more advanced interactions on a sprite. For example, display a tooltip or additional interactive displays.
Performance
Each line has been designed to optimise CPU and RAM
Low Bandwidth
packet size is reduced with msg-pack to ensure minimum bandwidth
Client-Side Prediction
In order to have a fluidity, the player positions are first realized on the client side. With the reconciliation server technique, the positions are checked and corrected if there is a difference between the client and the server
Collision search algorithm
When moving, collision searches are not performed on the entire map, but only in certain areas in order to reduce the CPU load
Cached map (optimized!)
Maps are stored in memory for faster loading. For large maps, optimizations have been made to take only a few MB of memory
Horizontal scaling
With Kubernetes and Agones, make horizontal scaling to have thousands of players on your game!
API
Thought for the RPG
Code with Typescript
Put a control in your code. You know which properties are usable and take advantage of decorators to create classes with a sugar-syntax

Unlimited creativity
Modify sprites, server, etc.

Items API
Add or remove items from the player's inventory
States & Elements API
Apply states (poison, paralysis, etc.) to the player or elements (fire, ice, etc.)
Parameters API (hp, sp, etc.)
Change, just with a property, the player's HP, SP, Level, etc.
Effects API
Put effects like "He can't use skills anymore" or "He has a super defense", which will influence the damage of the fight
Classes API
Put a class like Warrior, Fighter, etc. This will apply states or skill learning according to the level automatically
Skills API
Make people learn or forget skills
Gold API
Changing the game currency
Damage calculation
Damage calculations for a combat system have already been introduced, but you can customize them!
Accessibility
Play on multiple platforms!
Works on smartphone
The game adapts to the screen and the player can play on a smartphone

Playable with a gamepad
Use a gamepad to play

Create a PWA
Install the game on a smartphone so that the player can play offline (for an RPG)
Ready for production
Build and deploy!
Unit Tests
Write your unit tests (with Jest) to make your game stable
With same code: MMORPG or RPG
Don't learn two different styles. Write a code and render it, either offline for an RPG or online for an MMORPG.

Put on a server quickly!
After the build, put the files on a server and run with NodeJS. For an RPG, read the Javascript directly in the browser