• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best places on the 'net to talk Pokémon and more! Community members will not see the bottom screen advertisements.
  • Want to share your adventures playing Pokémon?
    Check out our new Travel Journals forum for sharing playthroughs of ROM Hacks, Fan Games, and other Pokémon content!
  • IMPORTANT: Following a takedown request, the following hacks have been delisted from PokéCommunity:

    • Pokémon Glazed
    • Pokémon: Giratina Strikes Back
    • Pokémon Flora Sky
    • Pokémon Stranded
    The downloads and discussion threads for these hacks will no longer be accessible, and staff will be unable to return questions regarding accessing this content.

[Discussion] Multiplayer features in Essentials

xalien95

Developer of Pokémon Omicron
76
Posts
13
Years
I have a (big) suggestion for Essentials.

Why not implement online features in Pokémon Essentials?
I mean online trades, online battles and online multiplayer things (like the entralink in BW, in which is it possibile to see each player on maps).
That would be something you can switch on or off, so if you would use something online (eg: the chat system, which change the screen height) you will find a setting in the script section "Settings" that allows this. Otherwise nothing, you will have the actual Pokémon Essentials.

Maruno, have you ever though about this?
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
I have a (big) suggestion for Essentials.

Why not implement online features in Pokémon Essentials?
I mean online trades, online battles and online multiplayer things (like the entralink in BW, in which is it possibile to see each player on maps).
That would be something you can switch on or off, so if you would use something online (eg: the chat system, which change the screen height) you will find a setting in the script section "Settings" that allows this. Otherwise nothing, you will have the actual Pokémon Essentials.

Maruno, have you ever though about this?
Of course I've thought about all that. If you figure out where to even begin coding it, let me know.
 

Ben.

Orange I s l a n d s~
623
Posts
14
Years
Alexandre made something of the sort, haven't really looked into it. Link. It'll be outdated and all but it's a start.
 

xalien95

Developer of Pokémon Omicron
76
Posts
13
Years
Alexandre made something of the sort, haven't really looked into it. Link. It'll be outdated and all but it's a start.
That was the first thing I though to do an online based Pokémon Essentials.
But I don't want a separate project like Pokémon Essentials: Online, online features should be joined to the "official" starter kit.
I'll try to do something, like Alexandre did.. but I'm not sure alone I'll be able to do all. XD
 

Ben.

Orange I s l a n d s~
623
Posts
14
Years
I don't actually think it should be added because it'll create a lot size that wont be needed if people don't want their games to have online play.
 

venom12

Pokemon Crystal Rain Relased
476
Posts
17
Years
  • Age 33
  • Seen Dec 28, 2023
I think there would be needed only online trades and battles, no chat or entra link.
 

Luka S.J.

Jealous Croatian
1,270
Posts
15
Years
It's a very big "suggestion". I think the main issue here is "how do we make the games communicate on separate machines". This can be divided into other problems where people either don't want to have their machine as a dedicated server (or can't have them), or don't own an online server, or don't want to buy a dedicated server. I've actually considered this multiple times, and I have an idea on how to do such things (theoretically). I tested out various scripts I wrote, which allowed for the transfer of data, but these things require your own host. There are free ones out there though.

Ok, now onto my ideas:
1. The early skeletal designs involved the use of online FTP folders. This way the game could upload and download certain files. My files were always in .rxdata format, as those were very easy to read and write to. Problem with that is, it's slow, and not very efficient in real-time situations (like the battle system). My workaround for that was, in creating a downloading method which worked in the background. This way I was able to continue and update scenes, while also constantly fetching new online files. I did it by indexing files with trainer IDs, and constantly deleting, uploading and downloading files. In the end, that proved not to be very efficient, as two separate machines wouldn't access the same files if they are constantly replacing them with what's on their machine. So that pretty much makes my initial idea obsolete.

2. However, unlike Pokemon Essentials: Online, which uses NetPlay and a custom made server application which is run on the machine alongside the game, I think the best option we have now is using SQL databases. This doesn't require the creator of the game to have their machine on 24/7 to be able to provide online services. All we need to make these online systems is a way of sharing information. SQL does that...efficiently. Any alteration made on a local machine, gets made immediately to the main online database, so we wouldn't need to worry about the info not syncing. Berka made an SQL module, but I don't really understand it much. I know the basic principles of SQL, how to handle and lay out data, but calling and manipulating it from Essentials still gives me trouble. But I think if there is a way to do it, it will be through the use of SQL databases.

Once we have a way of communicating within the games, implementing that in already existing system should not be a problem. I don't think I'd have any problem with that in particular.

Finally, my argument to why it shouldn't be done for Essentials is the ignorance of the general community here. Something like setting up and managing your databases and servers for your Pokemon game, can get quite complicated here. And with the general majority of the members here, who can't even read simple error messages from Essentials, I would think it would be more of a hassle than anything else. I mean, people after people, come again and again with the same old crap because they couldn't be bothered to read the Wiki, or read the error message, or research it a little. How disrespectful is it to those who make those resources available, and put effort into articulating the information correctly, if it is going to be disregarded anyway. There are just too many users of this particular engine who do not want to inform and educate themselves on the basic principles of making a game with it.

I don't actually think it should be added because it'll create a lot size that wont be needed if people don't want their games to have online play.

Ben, it wouldn't create a noticeable change in size, as these would only be code additions. The data itself is handled through the online servers, which can be done using a web host.
 
Last edited:

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
Alexandre made something of the sort, haven't really looked into it. Link. It'll be outdated and all but it's a start.
Alexandre's project only includes being able to see other players walking around. This is a feature I'm definitely not interested in adding to Essentials, even if it was fully working.

If anything of this nature was going to be added, it would be battling and trading. The easier option would be the trading, I think, since the battle scripts would need to be dramatically overhauled in order to allow battles against other people; online trading is simply a new feature. These two things likely would be added into Essentials, if they worked.

However, I'm not going to make them. I'm not interested in making them, and I wouldn't know how to anyway. Someone else can have a go.

There is a lower-tier option, which was discussed in another thread a short time ago, which is to make a Trainer House feature which lets you put other people's teams in a folder and battle them (with the AI controlling them). It's pseudo-multiplayer, since you battle against other players, even if it's just their teams.


I think there would be needed only online trades and battles, no chat or entra link.
Need? Nothing is needed. Essentials has survived so far without any multiplayer options at all.


Finally, my argument to why it shouldn't be done for Essentials is the ignorance of the general community here. Something like setting up and managing your databases and servers for your Pokemon game, can get quite complicated here. And with the general majority of the members here, who can't even read simple error messages from Essentials, I would think it would be more of a hassle than anything else. I mean, people after people, come again and again with the same old crap because they couldn't be bothered to read the Wiki, or read the error message, or research it a little. How disrespectful is it to those who make those resources available, and put effort into articulating the information correctly, if it is going to be disregarded anyway. There are just too many users of this particular engine who do not want to inform and educate themselves on the basic principles of making a game with it.
All true.
 

Luka S.J.

Jealous Croatian
1,270
Posts
15
Years
However, I'm not going to make them. I'm not interested in making them, and I wouldn't know how to anyway. Someone else can have a go.

There is a lower-tier option, which was discussed in another thread a short time ago, which is to make a Trainer House feature which lets you put other people's teams in a folder and battle them (with the AI controlling them). It's pseudo-multiplayer, since you battle against other players, even if it's just their teams.

Trainer Houses are easy to make though. The entire $Trainer variable can easily be exported through .rxdata files and the pbLoadTrainer function can be adjusted to interpret that data accordingly. I've actually already made that :I

In regards to the other real-time online stuff: it has captured my interest. I've already started looking into it, and I'll probably continue to do so. It would be nice to have somebody here to bounce ideas off. I'm not willing to make an online functionality add-on all by myself, and give it away, though. I'm just keeping an open mind for now.
 

venom12

Pokemon Crystal Rain Relased
476
Posts
17
Years
  • Age 33
  • Seen Dec 28, 2023
Need? Nothing is needed. Essentials has survived so far without any multiplayer options at all.

OH i didnt write it properly. If someone would like to make those features only those two would be needed.
 

Luka S.J.

Jealous Croatian
1,270
Posts
15
Years
If someone would like to make those features only those two would be needed.

That's true though. The "Essential" online features would be Trading and Battling. Things like the Union Hall, or even a GTS would just be additional items. Though, in all fairness, if you've done the other ones, the things such as chatting, Entralink and so forth would just be derivatives on the same principle of communication in Essentials games. In short: if you've done the one, it would be straight forward to do the other.
 
17
Posts
11
Years
  • Seen Nov 16, 2015
If you want an online pokemon essentials game,
why don't you just use RMX-OS system?
 

Luka S.J.

Jealous Croatian
1,270
Posts
15
Years
If you want an online pokemon essentials game,
why don't you just? use RMX-OS system?

You can't just download RMX-OS and go "poof...done". RMX-OS would need to be edited to be compatible with Essentials, so that it can be interpreted in various different scripts, for various different purposes. That also requires work, and it isn't that easy. Also, like I mentioned before, if you use something like that (a server-client communication), your machine would have to be the server. Meaning that other players can only connect to your online services when you're online (not very ideal). I've already looked into RMX-OS, and there are still debates to which option is the best.
 

the__end

Pixel Artist
141
Posts
13
Years
  • Seen Jun 9, 2016
There is a lower-tier option, which was discussed in another thread a short time ago, which is to make a Trainer House feature which lets you put other people's teams in a folder and battle them (with the AI controlling them). It's pseudo-multiplayer, since you battle against other players, even if it's just their teams.

I think this would be more then enough for a fan-game so vote for this one. :D
IMO anything more complicated isn't worth doing and pokemon games doesn't need advanced online features to be awesome.
 
1
Posts
11
Years
  • Seen Apr 15, 2013
You can't just download RMX-OS and go "poof...done". RMX-OS would need to be edited to be compatible with Essentials, so that it can be interpreted in various different scripts, for various different purposes. That also requires work, and it isn't that easy. Also, like I mentioned before, if you use something like that (a server-client communication), your machine would have to be the server. Meaning that other players can only connect to your online services when you're online (not very ideal). I've already looked into RMX-OS, and there are still debates to which option is the best.
With all due respect, this uses RMX-OS. It can be done.

Edit: Should also mention, it uses Essentials 11.
 

carmaniac

Where the pickle surprise at?
670
Posts
14
Years
With all due respect, this uses RMX-OS. It can be done.

Edit: Should also mention, it uses Essentials 11.

You do realise he's on about just putting RMX-OS straight into essentials without any modifying scripts. He does know about the kit.
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
What they're saying, basically, is: "why?"

Why would you include RMX-OS in a Pokémon game? What could it possibly add to the game and/or experience?

MMO features (namely, seeing other people walking around in the world) are, in my opinion, completely pointless. Pokémon isn't an MMO, and those fangames which want to be can figure it out for themselves.
 

IceGod64

In the Lost & Found bin!
624
Posts
15
Years
Personally, if I were to implement it in my game (and I am interested, but humbly admit I have no idea how to do something that complex), I would simply code the ability to trade/battle over a local network connection, and save the online support for those smart enough to learn how to use Hamachi or something like. It would easily be far simpler to code than fully online support, and it would provide an online solution to though with some know-how. I don't think there's really much necessity for a full-fledged online system when a simply 2-Player would do just fine, no server or anything.

Edit: And also, no stupid MMO stuff, that's quite unnecessary.
 
Last edited:

FL

Pokémon Island Creator
2,430
Posts
13
Years
  • Seen Mar 15, 2024
I agree with these online features, but why don't use sockets connection for battles/trades? The most basic way of communication! I made a multiplayer game using sockets connection years ago. I believe that trades are easy to do, battles probably needs to rewrite good part of code to works like multiplayer. If you have a server, a GTS may be easy too (only a big pokémon SQL table with their variable with atributes), isn't hard, but take time to do the graphic interfaces.

The main problem is the lack of support of Essentials project. Besides Maruno and rares exceptions, nobody helps, aside for bug reports.

At current time, a MMO is out of plans. We need theses basics features first.
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
If you have a server, a GTS may be easy too (only a big pokémon SQL table with their variable with atributes), isn't hard, but take time to do the graphic interfaces.
If you had a MySQL database, and you had somewhere to upload it to, you could easily use it for online battles as well as a GTS. Well, you could use it to store information about the battle in progress, is what I meant. Overhauling the battle scripts to get/use/write that information is a whole other nightmare.


At current time, a MMO is out of plans. We need theses basics features first.
There's that "need" again...
 
Back
Top