RMMV [Online] RPG Battle Royal - 0.7 Beta (New Official server up!)

peq42_

Yeet
Veteran
Joined
Feb 5, 2016
Messages
480
Reaction score
286
First Language
Portuguese(BR)
Primarily Uses
RMMV
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)​

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:

peq42_

Yeet
Veteran
Joined
Feb 5, 2016
Messages
480
Reaction score
286
First Language
Portuguese(BR)
Primarily Uses
RMMV
Took a little while BUT(t) alpha 0.2 is out! Here's what changed:

Note:
This time, I'm sure my server is working, thus I'm going to leave it online all the time i'm online(this should be from from 12:00 to 00:00 BRST). The server is hosted in Brazil, with a small "redirect" in the U.S. . It should be playable for everyone in the americas, but even if you're from another continent, feel free to try joining it and testing, as there it doesn't kick players no matter the lag, and the game is, as said before, in test stage).

-Client-

New stuff:
-New menu to change your name ingame.
-Your name shows above your head(on others' games).
-Day-night and weather system.
-Gramps' shop.
-New staff weapon(area damage).
-New gold system(Kill a player, wins a random amount of gold).
-New exit button in the top-right of the screen when you enter a server(for well... exiting it).


Changed stuff:
-Performance improved in menus and maps(Thanks do Irina's performance upgrade plugin, and a few changes I made to the game).
-Moving makes footsteps sound(Moving in water makes it louder). Players under a certain distance will hear it.
-Server list now shows ping.
-Server list won't wait 5 seconds to display servers(It will ping each one and then display, waiting a max of 5 seconds).
-Arrow has a better sprite.
-When you're in a server, pressing F2 twice will display your ping to the server.
-Changed even more stuff in YEP_eventspawned plugin(to fix problems with spawns).
-Changed a few lines in YEP_Stop.


Fixed stuff:
-Player spawn problems should no longer happen.
-Chests should no longer have sync problems when one player exits, reseting the match, then another enters starting it again.


-Server-

New stuff:
-If you're using my other project(JIT.js), there is a new command called "list" that displays every player ID and name.

Changed stuff:
-If you're using jitjs, the server should be able to handle far more people than if you use nodejs. That's thanks to NW.js 0.36.4 which brings V8 7.2 which has far faster async performance(Node.js uses V8 7.1).
-Now it only requires 2 players for a match to start.

Fixed stuff:
-There should be no more sync problems between arrows of people with lag and without lag anymore(Now the server spawns it for everyone at the same time).


-Soon ™-

For the next update, I plan on adding more RPG elements(afterall it's RPG battle royal), and implement damage formulas. I also want to make the Gramps' store move at random in the map, with a name above his head, but in a sync way across all clients. After that, I want to allow shift(which makes you move slower) to reduce or cut out all stepping sound from a certain player.

Then, I may change the controls, so moving in the map feels less robotic, but only if it doesn't break "OrangeMoveCharacterTo" plugin(or if I do manage to change it, allowing for the events that represent players to follow the same route as the player). Finally, I'll start working on an anti-cheat system.
 
Last edited:

Val

Veteran
Veteran
Joined
Oct 12, 2015
Messages
281
Reaction score
168
First Language
Français
Primarily Uses
this is really impressive I hope you will continue your progress and see if you can have the whole gameplay loop. maybe adding somr kind of ai in the game if you cant find all the players . continue your great work rpg maker will never end.
 

peq42_

Yeet
Veteran
Joined
Feb 5, 2016
Messages
480
Reaction score
286
First Language
Portuguese(BR)
Primarily Uses
RMMV
this is really impressive I hope you will continue your progress and see if you can have the whole gameplay loop. maybe adding somr kind of ai in the game if you cant find all the players . continue your great work rpg maker will never end.
Eyy that's actually a really good idea, thank you!
I think I'll add a command in the server to add bots to it in a later update. It'll probably be quite hard, but could open doors for some interesting new things
 

Val

Veteran
Veteran
Joined
Oct 12, 2015
Messages
281
Reaction score
168
First Language
Français
Primarily Uses
I was wondering is it possible with your tool of Multiplayer to just do some kind of PVP turn base battle with RPG Maker MV? Something I think that could be really cool is to make a game that at some point you have the chance to go fight the team of someone else ? Do you think it's possible? Like we can go even greater with a battle royal where everyone move around but when you touch the other guys you go into a classic side view rpg battle turn by turn. What do you think?
 

peq42_

Yeet
Veteran
Joined
Feb 5, 2016
Messages
480
Reaction score
286
First Language
Portuguese(BR)
Primarily Uses
RMMV
I was wondering is it possible with your tool of Multiplayer to just do some kind of PVP turn base battle with RPG Maker MV? Something I think that could be really cool is to make a game that at some point you have the chance to go fight the team of someone else ? Do you think it's possible? Like we can go even greater with a battle royal where everyone move around but when you touch the other guys you go into a classic side view rpg battle turn by turn. What do you think?
Well, possible it is, just not practical nor easy. Something like that would require a complex battle system where player hits NPC (with same stats as the other player) giving it some damage, then sends that info to the server, and server makes that other player take the damage(healing would also need to be sent). And could also greatly increase the match total time, making it boring for some players(for example, a group or a single player battles another, and those who want to battle them will have to wait until it finishes, quickly getting bored).

On top of that, later on when I move everything I can to the server side(positioning, moving, info about items, health, if a certain player was hit or not,etc so it is harder to "hack") it would double the difficulty.
 
  • Like
Reactions: Val

Val

Veteran
Veteran
Joined
Oct 12, 2015
Messages
281
Reaction score
168
First Language
Français
Primarily Uses
question ? is it possible for you to just make lobby where player fight each other one team againts another and then return a result of who win and you get some kind of loot table againts your rank in some kind of ladder? I'm sure some people would be interest to just fight in a rpg style of battle where you have like 5 seconds or least to take a action or if its a ATB battle system you have to react fast to defeat your opponent. What do you think ?
 

peq42_

Yeet
Veteran
Joined
Feb 5, 2016
Messages
480
Reaction score
286
First Language
Portuguese(BR)
Primarily Uses
RMMV
question ? is it possible for you to just make lobby where player fight each other one team againts another and then return a result of who win and you get some kind of loot table againts your rank in some kind of ladder? I'm sure some people would be interest to just fight in a rpg style of battle where you have like 5 seconds or least to take a action or if its a ATB battle system you have to react fast to defeat your opponent. What do you think ?
Once again, possible, but too hard and wouldn't fit the kind of game i'm making
 

potatopoofer

Veteran
Veteran
Joined
Nov 11, 2018
Messages
32
Reaction score
27
First Language
English
Primarily Uses
RMMV
The game sounds interesting!
 

definite_lee

Veteran
Veteran
Joined
Oct 23, 2015
Messages
150
Reaction score
182
First Language
English
Primarily Uses
Looks interesting. I hope you will post some video showing how everything works :)
 

HentaiPie

Villager
Member
Joined
Apr 20, 2019
Messages
21
Reaction score
11
First Language
English
Primarily Uses
RMMV
I've been looking into how to make something online and it's awesome to see you've succeeded. A great idea, and I can't wait to see how it picks up :D

as @definite_lee said, adding some more videos on how everything works would be great
 

peq42_

Yeet
Veteran
Joined
Feb 5, 2016
Messages
480
Reaction score
286
First Language
Portuguese(BR)
Primarily Uses
RMMV
Well it took some time but update 0.3 is finally here(I'll start calling it beta, until it reaches 1.0)! I'm sorry for taking so long to release it, but lately I've been really busy with things such as college and stuff.

There wasn't as many changes in this version as there were in previous ones, but the changes made were big! With this new update, servers can now have custom maps(with up to 100 events), players can talk in chat (thanks to @Nelderson and his great in-game chat system), the server list shows the amount of players there are in the server and messages sent between client and server are now encrypted(Which brings a lot more safety)!

I'll add to the topic info about how to make a map and config your server to use it(although its a really simple thing to do).


About future updates:
As said, I will try working on the max-event limitation to get rid of it, and obviously will work on fixing bugs, but besides that I don't have many other ideas. So feel free to suggest new things!

Edit:
Forgot to say that this time, I won't leave my servers on like I did before, as I'm having some problems with my PC

Edit2:
And I fixed a few small bugs that were left behind in this last update. I'm sorry for those, I haven't worked in that project for quite some time, and I forgot about some stuff I had to fix before releasing.
 
Last edited:

Biestmann

Studio Biest
Veteran
Joined
May 18, 2015
Messages
442
Reaction score
720
First Language
German
Primarily Uses
RMMV
While I will wait until the project is further along to dive in myself, I just want to say that this is among the most interesting projects to me on here. Keep up the good work!
 

douggang

Warper
Member
Joined
Jun 9, 2019
Messages
4
Reaction score
1
First Language
portuguese
Primarily Uses
RMMV
@peq42_
sorry but I'm a layman in language cd, I do not understand English very well, because I'm from Brazil and my english so bad,
where exactly I saved the file server.js ? I created a folder for Jit, I save inside her? then open the jit and put which command? thank you!!!
 

Attachments

eluukkanen

Game Dev
Veteran
Joined
Feb 16, 2016
Messages
345
Reaction score
233
First Language
Finnish
Primarily Uses
N/A
Cool to see multiplayer games for RPG Maker MV.
 

peq42_

Yeet
Veteran
Joined
Feb 5, 2016
Messages
480
Reaction score
286
First Language
Portuguese(BR)
Primarily Uses
RMMV
@peq42_
sorry but I'm a layman in language cd, I do not understand English very well, because I'm from Brazil and my english so bad,
where exactly I saved the file server.js ? I created a folder for Jit, I save inside her? then open the jit and put which command? thank you!!!
You can put the server.js file in whatever folder you desire. All you will need to do after is use CD command to go to that folder then JIT command to execute it.
For example, lets say you save it on your desktop. You then open JIT.js, type "cd desktop" and finally run "jit ./server.js". When you open JIT.js it shows your current workin directory on the left:
 

douggang

Warper
Member
Joined
Jun 9, 2019
Messages
4
Reaction score
1
First Language
portuguese
Primarily Uses
RMMV
@peq42_ thank you bro, more one question, why I not can move my character in map?
 
Last edited:

peq42_

Yeet
Veteran
Joined
Feb 5, 2016
Messages
480
Reaction score
286
First Language
Portuguese(BR)
Primarily Uses
RMMV
@peq42_ thank you bro, more one question, why I not can move my character in map?
By default, the game won't start until there's at least 2 players in the server, therefore you can't move until at least 2 people are connected, but you can work around it by making a custom map and calling the plugin command "AllowPlayerMovement".

But good thing you asked that because I didn't notice that the "begin" command wasn't really forcing the round to start(Well.. it was but it would end right after, as there would be only 1 player left alive and the server see that as the end of a match). I'll deploy a new version soon, bringing a fix to that and a few new things.
 
Last edited:

douggang

Warper
Member
Joined
Jun 9, 2019
Messages
4
Reaction score
1
First Language
portuguese
Primarily Uses
RMMV
@peq42_ bro realy realy thank you for atention... the last question,
where I add the IP ??
to share with my friends the server!!!
 

peq42_

Yeet
Veteran
Joined
Feb 5, 2016
Messages
480
Reaction score
286
First Language
Portuguese(BR)
Primarily Uses
RMMV
@peq42_ bro realy realy thank you for atention... the last question,
where I add the IP ??
to share with my friends the server!!!
You mean how to connect to a server that not listed? They can add to the favorites then connect to it through favorites. Just remember to use the correct format:
"ServerName - ws://ServerIP : ServerPort"
In case you didn't change anything in server.js, your server port should be 1000


Or you can send me your IP, port and a server name through DMs and I can add to the public list
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

So I have a lighter work schedule next week. Is that a sign to move on to MZ?
I got a new rpg idea yesterday, titled "The Hero We Summoned to Save Us is a War Criminal from our Past?!"
Work on Yanfly's MZ plug-ins is coming along nicely. Looking forward to getting them: http://www.yanfly.moe/wiki/Core_Engine_VisuStella_MZ
so uh variables can only be used for num lol? I guess I gotta fix that once MZ come out lol

Forum statistics

Threads
100,726
Messages
978,838
Members
132,352
Latest member
BM_ANDERSON
Top