RPG Battle Royal
Synopsis:
This is basically what the title says: a battle royal game made using the basics of a RPG game. Built using websockets, to make the communications between server and client, it has good connectivity, performance, stability, etc. In it, everyone can make servers, each able to host up to 100 players at a time(A single machine can host multiple servers, see more bellow) and join whatever server they want, be it in the server list or not(You can buid your own server list through the favorites menu). As a beta, the gameplay and overall design of map, players, items,etc is still simple, but will improve as feedback be given.
Images:
Download:
https://peq42.itch.io/rpg-battle-royal
(Off for now, reworking)
(Off for now, reworking)
Creating a server:
Currently the only way to host a server is through this small program I made:
https://www.dropbox.com/s/0dmjpbgcztuywkn/server.zip?dl=0
Later on I'll make a node.js version so it will run anywhere that node.js does.
Admin commands(in game, through chat):
"/begin" - starts the match
"/close" - closes all connections
"/kick <id>" - kicks a player of a certain ID (Feature still in development)
"/ban <id>"
"/closeserver <pass>"
"/openserver"
"/help" - shows a list of commands
A single machine can host multiple servers, as long as each one has its own port(see the server.js file, in the line with a comment "port the server is listening to" which port is that server listening to). By default, the server will listen to the port 1000, but if you wish to run one or more servers besides that, you can change this number and run the file again.
To add your server to the server list, send me a message anywhere(since for now, the game has no official website/blog/forum) with your server IP:ThePort and I will add it.
Making a custom Map to your server:
To make a custom map and add it to your server, all you'll need to have is RPG Maker MV(you may use the demo version, should work the as well).
First, open RM MV and create a new project. MV should make a map automatically, which we will use as our custom map. Edit it as much as you want, adding whatever events, custom tilesets, sounds, etc to it(just remember, your server can only have one map). Once done, open your project folder, select all files and folders and zip them together as "map.zip" then copy it.
Now open JIT.js' folder and paste your map.zip file inside it. Open the server.js file, locate the line "else if(str==="map?"){", comment the line following that one "connection.send("default") " and uncomment the few lines that come after it. Those lines make sure that your server will read the custom map file and upload it to each client when they connect.
And thats basically it! If you're using node.js, or wish to save your map.zip file in another folder, you might need to change the line "data = fs.readFileSync("./map.zip");" to specify which folder you saved said file.
Remember also to NOT change the map's file name, as the client expects a Map001.json file.
Joining a server:
To join a server it is quite simple. Start the game, click "Servers", wait a few seconds for the game to check which servers from the server list are working and then finally click the server you want to enter.
If you want to enter a server not listed, click "add favorites", type a server(see format example bellow) and then "ok". After it, go to "favorites" menu and select the server.
Template example:
Name - ws://IP : PORT
Once in the server, you won't be able to move until the match starts.
Controls:
Keyboard:
Left click - Uses current selected item
1 - Selects your weapon
2 - Selects your potion
3 - Selects your build tool
G - Drops currently selected item.
WASD - Move the character/Menu.
E - Interacts with chests and menus.
Y - Opens chat.
Enter - Sends message in chat and closes chat.
Esc - Closes chat.
Gamepad/controllers:
A - Ok/select/interact
B - Cancel
X - Run
Y - Open Menu
LB + A = Drop Weapon
LB + Y = Drop Shield
LB + B = Drop Potion
RB + A = Shoot
RB + Y = Equip Shield
RB + B = Consume Potion
D-Pad = Move the character.
(It is better to avoid using mouse for now, as it is not optimized for the type of game it is)
External code credits:
HUDELL - OrangeMoveCharacterTo
HUDELL - Mapscreenshot
Mog - Footsteps
Biud436 - RS_InputDialog
HIME - CommonEventQueue
Yanfly - YEP_EventSpawner(modified)
Yanfly - YEP_ItemCore
Yanfly - YEP_PictureCommonEvents
Yanfly - YEP_StopMapMovement
Yanfly - YEP_OptionsCore(modified)
Yanfly - YEP_FpsSynchOption
Yanfly - YEP_AnimateTilesOption
Yanfly - KeyboardConfig(modified)
Yanfly - GamepadConfig
Yami - Skip Title
Nelderson - MV Online (Chat plugin, modified)
Chaucer - Game Scene Stabilizer
Irina - PerformanceUpgrade
Later on there may be a website for it, with registration and stuff, thus allowing for a ban(and other kinds of) system(s) in the servers.
Last edited:

