• 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 fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Development: Multiplayer possibility?

Flowerchild

fleeting assembly
8,709
Posts
13
Years
Thing is...who would you even find near by? I'm sure that us people on this forum are really the only ones who still play these games being that they're a bit old and outdated.
Well, you have a point about that. I dunno.

8|

Nothing is impossible. You just need to know HOW-TO-DO-IT. If the multiplayer system can be repointed AND hex edited, that would be possible. The game already has data for 2v2 battles, and multiplayer movement, they can be edited to fit the requirements. However, all other things need to be synced, which would probably piss everyone off before finishing. It is brutal to do, but is possible.

TL;DR : Base Hex Editing.
And probably not worth it, though.

So here, off the top of my head, is a few things that would need to be synchronized for multiplayer to run stably outside of the Union Room.

Wild/Trainer battles and their effect on the overworld
If Player A gets into a battle in tall grass (or with a Trainer), code will need to exist to alert Player B, so that attempts to talk to A fail appropriately ("DAVID is in a battle!"). Player B can still move around while A is battling, so when A finishes, he'll need to resync everything.

Problems can arise if B starts their own battle while A's is already in progress -- particularly if A finishes before B. In that case, A will need to resynchronize with B even though B is mid-battle.

So there are two approaches. Synchronization of overworld data can be made possible in the middle of a battle; only one player can be allowed into a battle at a time; or some sort of "cooperative Double Battle" mechanic can be coded, such that if one player enters a battle, the other is dragged in.

NPC OWs: movements and interactions
Movement of NPC OWs will have to be synched. This may mean a modification of the part of the game engine that handles OW behaviors ("Look around", "No Movement", etc.).

If Player A talks to an OW, and Player B attempts to talk either to A or to that OW, then a message will need to be shown for Player B ("They appear to be busy right now." or some equivalent). This is without taking the OW script itself into account...

If a player talks to an OW, the effects of that script -- applymovement, etc. -- must be synched. Running the exact same script for both players would not make sense, however (Player A talks to someone, and Player B suddenly gets asked if they want to buy an Egg by some random guy on the other side of the city). Some commands would also produce obvious issues with synchronization (warp, for example -- especially if it warps to a specific X/Y coordinate).

The solution would be to make some script commands sync, but not others. Things like weather can and must sync, whereas things like preparemsg can't. The effect is that of the two players, only the one that triggers the script runs the script -- and the commands themselves trigger synchronization of any relevant data. This could also have the beneficial effect of allowing both players to run scripts independently of each other but with synchronization, although if the scripts are contradictory (i.e. both changing the weather to different values) some issues could arise. That would be the kind of contradiction that the scripter could be trusted to avoid, I think.

Hidden items (as Signpost scripts)
If Player A picks up an item, should Player B still have access to that item on their overworld? Or should it vanish from both worlds, thereby granting a reward only to the first player to claim it?

If the latter, then code will need to track and sync all flags related to hidden items. The relevant flags -- and only the relevant flags, lest something that should not sync end up synching -- would need to be synchronized when their states change. This would produce problems when the two players connect: which set of flags should be propagated to both games?

Visible items (as Poke Ball OWs)
The same issue, but with the added problem that if the items' states are not synched, then a tile may end up being walkable to one player but not to the other.

...

I'll stop now before I give myself a headache. This idea may as well be impossible. The number of things that would need to be synchronized, managed, and carefully tracked is massive.
Well yeah, you're right about that. I guess it'd not be worth it to make, at all. Especially given HackChu's point (that there'll probably be no one close enough to talk to anyways). So...are we just gonna abandon this?


I'm not much of a rom hacker,
but wouldnt it be somewhat different if we modify the emulator(vba)
Mod the gba rom engine itself to connect not to a seperate emulator,
But a seperate server?
I mean, Gamboys can do it with a bit of a mod,
Why not the emulator?

Come to think of it, we'd might end up reconstructing the gba, instead of modding
I don't really understand what you mean here.
 

leews24

ha
105
Posts
12
Years
I think he's suggesting that we find a way to create some sort of dedicated server for PKMN Advance multiplayer. Which is not how it works at all...
I know that, since I think I've described this wrong.
By "server" I meant more a of a bridge between two emulators, or just build it on to the vba. sorry, my english ain't the best.

Anyway if that makes no sense, forget what I said.
 
275
Posts
13
Years
  • Seen Oct 9, 2019
I know that, since I think I've described this wrong.
By "server" I meant more a of a bridge between two emulators, or just build it on to the vba. sorry, my english ain't the best.

Anyway if that makes no sense, forget what I said.
That actually does sort of make sense. But unfortunately, it would be even more difficult. It would require asynchronous networking (or it would be insanely laggy), and I'm pretty sure that the existing functionality is synchronous.
 

U.Flame

Maker of Short Games
1,326
Posts
15
Years
Why haven't I seen this thread before? I tried the exact idea of making hacks co-op friendly. Obviously it didn't go well and many things weren't functional at all. If there is any possibility, some major hacking is required. But I settled for replacing the simple link rooms with one huge area filled with activities, adventure, and multiplayer-friendly events. Progress wasn't too bad but I gave up for a while due to lack of proper testing and help.

If anyone is interested, I can try to release another team thread for it. (The last one had ZERO replies the whole month.)

VBA has a thing where it can connect to IP addresses for linking, pretty much making games wi-fi compatible right? I can see how that can be expanded to make a server. I don't know the first thing about making that sort of thing but I hope people who do can try it.
 

HackChu

I need a haircut...
674
Posts
17
Years
Why haven't I seen this thread before? I tried the exact idea of making hacks co-op friendly. Obviously it didn't go well and many things weren't functional at all. If there is any possibility, some major hacking is required. But I settled for replacing the simple link rooms with one huge area filled with activities, adventure, and multiplayer-friendly events. Progress wasn't too bad but I gave up for a while due to lack of proper testing and help.

If anyone is interested, I can try to release another team thread for it. (The last one had ZERO replies the whole month.)

VBA has a thing where it can connect to IP addresses, pretty much making games wi-fi compatible right? I can see how that can be expanded to make a server. I don't know the first thing about making that sort of thing but I hope people who do can try it.
It doesn't really matter. As David said, there is just too much needed to make things work correctly. He's said it pretty darn well a few posts back. ASM hacking is must when it comes to the rom, and probably a emulator itself.
 

U.Flame

Maker of Short Games
1,326
Posts
15
Years
True, but I still made a semi-stable area with compatible activities. Not as good as I wanted it but it's a start.
 

Shiny Quagsire

I'm Still Alive, Elsewhere
697
Posts
14
Years
I really don't think this would work. I am 100% sure it'd be easier to make a game to be exactly like pokemon, with Multiplayer abilities, than to hack one into fire red.
 

U.Flame

Maker of Short Games
1,326
Posts
15
Years
The inevitable? I can clean up what I have now and release it. It's already better than the 3rd gen's normal multiplayer rooms. (It's in Ruby by the way. But I think I can do FireRed.)
 
79
Posts
13
Years
  • Seen Aug 27, 2014
If somebody can get me a tutorial or two on how to program extensions or plug ins for vba/n$gba for c++ i can start up a project to create a plug in that makes the users computer speak with another users computer in order to create a connection.



What he said. Listen to him. Quit resisting the inevitable. >:C

you would be extremely wrong because im working on programming a pokemon game in c++ and the engine (most difficult part of the game) takes calculus and such just to do the graphic rendering which is very basic for a game programmer.
 
Last edited:
Back
Top