The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Research & Development
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Research & Development Got a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!
Research & Development programs in this forum are subject to moderator approval before they are displayed.


Advertise here

Reply
 
Thread Tools
  #1    
Old July 18th, 2011, 01:12 AM
Emcitement's Avatar
Emcitement
 
 
Join Date: Jul 2011
Gender: Female

Advertise here
Not sure if this has been covered before. I used the search and found nothing of it.
If you think multiplayer attempts would be a waste due to linking issues then read the bottom of this post.


Anyways.
In the third generation games, upstairs in every Pokecenter is the two rooms - the wireless and normal link room, the second being like in the traditional games.

In the normal link room, you move in real time with each other. If you open two emulators and put them side by side, you literally move at the exact same pace on each. It's very smooth.

If you use a walk-through-walls code and go into the Pokecenter when you aren't linked up, you can still access that room. If you try to use the trade/ battle machine, it'll disconnect you but otherwise you can freely roam the room and talk to the NPC in there.

What I'm getting at is it's possible to have two players interact on the same map without a problem.

So what would happen if say, you modified the FRLG game much in this way:
First, you block off the exits of Viridian City. Next, you go into the Viridian Pokecenter and into the link room to the right. Inside of this room, you remove the NPC and the trade/ battle machine and basically turn it into a normal map.

Some things might not function correctly such as pokemon appearing in grass, or going through doors and whatnot.. but from my observation of how the link room functions it's just another part of the game's map.
The room isn't different than any others apart from the fact that to get there in a legit-manner requires you linking up with someone.

But ideally, you could replace the first Pokecenter's trade/ battle link room with an entire copy of the game and be able to play through with another person. As for trading with them, every Pokecenter (that's within the link room Pokecenter) could be set up so there'd be no NPC blocking the door since you're already connected and you can just walk up and access the trade/ battle machine like regularly.

You'd just never disconnect after. If you wanted to disconnect you would go back to the place the multiplayer map starts (Perhaps through the south wall of the Virdian Center's second level/ Red's houses second level).


Now before you say "OMG NOOB THIS WOULD NEVER WORK OMG".

I just want to know why this wouldn't work exactly?

I've been considering trying to get something like this to work, but chances are it isn't possible or people would have done it by now.
So I want to hear the complications as to why it wouldn't ever work before I waste my time trying to do it. xD








Note:
I've read that a lot of people have trouble connecting emulators with Pokemon therefore never bother with multiplayer content.

However, it's extremely simple to set it up.

I've never gotten the wireless to work and can't link up correctly at all on the newer versions of VBA.
I've gotten into the room on the left in the Pokecenter but when attempting to make a trade - disconnected. I've almost gotten into the room on the right but disconnected beforehand. Same with Mystery Gift.

Then I downloaded VBAL 1.72. Keep in mind, I'm not entirely sure if the version I downloaded is the same as the one offered for download on the site.

I went to the room on the right on two emulators. Talked. Saved.
What do you know?
It linked up without the tiniest flaw. I was able to get in the room, make a trade and everything. It worked fine. It even worked for rom hacks very well.

I use it regularly with a friend when we play the games together.
It's just like connecting to someone's gameboy with a link cord. :]
Reply With Quote
  #2    
Old July 18th, 2011, 12:55 PM
Jambo51's Avatar
Jambo51
Glory To Arstotzka
 
Join Date: Jun 2009
Gender: Male
Nature: Quiet
You're basically asking if we can make the ENTIRE game co-op friendly?
As far as I can tell, that would be a no... However, there's no doubting it would be f**king awesome if we could.

However, afaik, the code for normal trainer/wild battles would completely freak out. And there's certainly NO way you could battle together.

I'm also 99% certain that most "normal" actions are illegal in the trading environment, so this is probably a no starter, sadly.

Aside: Thanks for the trading info, could be VERY useful
__________________
Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!

Last edited by colcolstyles; July 18th, 2011 at 09:40 PM. Reason: No need to quote the entire first post
Reply With Quote
  #3    
Old July 19th, 2011, 06:11 AM
I Am Number 3's Avatar
I Am Number 3
< Learning to ASM Hack
 
Join Date: Jul 2011
Wouldn't the easiest way to see if that would work would be to test it on a ROM you have? I think that it wouldn't work as well as you except. I don't think that in Generation III there was 4 way battles between trainers (feel free to correct me if I'm wrong). But if it is in the game I think that if you did some serious hacking (like ASM) you could trick the game into thinking some computer trainers are human trainers and you could have the four way battle.

So yes, I think you both can walk around, but I don't think you two could battle together or interact a lot.

Last edited by I Am Number 3; July 19th, 2011 at 06:33 AM.
Reply With Quote
  #4    
Old July 19th, 2011, 09:24 AM
Cold Ivory's Avatar
Cold Ivory
 
Join Date: Mar 2011
Gender: Male
Nature: Mild
Is the location of that map data (tileset/scripts/etc...) known?
Reply With Quote
  #5    
Old July 19th, 2011, 02:13 PM
Emcitement's Avatar
Emcitement
 
 
Join Date: Jul 2011
Gender: Female
Oh no no. I wasn't actually talking about battling co-op or much interaction outside of the regular battle/ trade machines. I just meant being able to actually play the game in the same map as them and do your own thing.

However, co-op battles would be awesome.

Though, I do think something could be done with multiplayer so I might have to look into this and see what can work.
Reply With Quote
  #6    
Old July 21st, 2011, 02:33 PM
Putin's Avatar
Putin
Anspruchsvolle Narr
 
Join Date: Dec 2010
Location: Florida
Gender: Male
Nature: Brave
So... Like for the purpose of racing, or something? Or potentially for solving puzzles?

Also, every version of no$gba's been capable of doing this (linking smoothly that is) as long as I've been using it. I still don't get why there is such a bias toward using VBA as the end-user, though as an hacker I understand its utility, so I am sure there is something I am still missing here, but linking issues were technically resolved ages ago.
Reply With Quote
  #7    
Old July 22nd, 2011, 12:14 AM
Liquid Twilight's Avatar
Liquid Twilight
Super Geek
 
Join Date: Apr 2011
Location: New Bark Town
Age: 23
Gender: Male
Nature: Timid
Personally, I was thinking of attempting something like this myself but there seems to be a lot that could wrong. Sounds good though
Reply With Quote
  #8    
Old July 22nd, 2011, 06:19 AM
Emcitement's Avatar
Emcitement
 
 
Join Date: Jul 2011
Gender: Female
Quote:
Originally Posted by Putin View Post
So... Like for the purpose of racing, or something? Or potentially for solving puzzles?

Also, every version of no$gba's been capable of doing this (linking smoothly that is) as long as I've been using it. I still don't get why there is such a bias toward using VBA as the end-user, though as an hacker I understand its utility, so I am sure there is something I am still missing here, but linking issues were technically resolved ages ago.
I don't know. No huge purpose.
Just to be able to play through the game together I guess.

Quote:
Originally Posted by Liquid Twilight View Post
Personally, I was thinking of attempting something like this myself but there seems to be a lot that could wrong. Sounds good though
I agree. But you never know. I've seen people do some crazy stuff so there could be something possible. :]
Reply With Quote
  #9    
Old July 24th, 2011, 12:37 AM
DavidJCobb
RESIDENT RAAAAAAAAAAAAGEMASTER
 
Join Date: Jul 2010
Gender: Male
Nature: Lonely
I am going to say something that is going to sound completely irrelevant at first. But it's not. Just bear with me.

Halo: Combat Evolved for the Xbox was ported to the PC by a company named Gearbox. After Halo PC's release, Gearbox released Halo Custom Edition, an expansion that allowed people to create their own maps. It came with a rudimentary map editor, which was quickly hacked, forked, and extended.

Halo maps could contain scripts, NPCs, and the like -- much like FireRed maps. However, none of these things were designed to appear in multiplayer. If you tried to play a map that used them in multiplayer, they'd desync -- horribly. You'd see players drop dead for seemingly no reason, because they were killed by an Infection Form or something on the host box (but on your computer, the NPC was on the other half of the map).

HCE mappers quickly learned something: if it wasn't meant to be used in multiplayer, it probably won't sync in multiplayer. Avoid it.

The same is true here. If it wasn't meant to sync in FR/LG's multiplayer, then it probably won't. Especially if it's random. That immediately rules out wild battles, some OW movements, egg hatching... And by virtue of the latter two, it basically rules out all OW movement (probably desyncs if an egg-hatch stops one player) and collision-checking with OWs (randomly-moving OWs desync across the games, so they could block a player in one emu but not in another).

Now, granted, someone could probably alter the game engine to make everything sync. But it'd be a huge edit. It'd be a complicated edit. Something only one of the master hackers here could do -- and perhaps even difficult for them. Depending on how the current syncing works, they may have to literally rewrite the game engine.
__________________
Reply With Quote
  #10    
Old July 26th, 2011, 08:28 AM
Deokishisu's Avatar
Deokishisu
Mr. Magius
 
Join Date: Feb 2006
Location: If I'm online, it's a safe bet I'm at a computer.
Gender: Male
Nature: Relaxed
To reinforce the above point, already when linking, if you talk to the woman in the trade/battle rooms and force her to turn in your game, she won't in the others. The OWs on that map aren't synced, so the OWs on others would not be synced as well.

Though I don't see a huge problem with it, until your linked friend walks on top of an NPC that's standing there in your game but has moved away in theirs. We don't even know if warping will preserve the link, as you don't warp in the normal link rooms while linking.

It is a good idea though, I'm going to try it out I think, just to see what happens.
Reply With Quote
  #11    
Old July 26th, 2011, 09:09 AM
Team Fail's Avatar
Team Fail
The fine line between in|sanity
Community Supporter
 
Join Date: May 2009
Age: 19
Gender: Male
Nature: Brave
I think it could be a possibility, but I want to prove it. I'm going to make a quick hack in Fire Red and see if all goes well. If it does, I'll give you a patch for it and you can try it.
__________________

Pairs:
Kevin, Echidna
Follow me on Twitter! @TeamFail
Alt 1, リザードン
Miiverse
Pokémon Hackers Online
Alt 2: Jack Cayman



[04:20.39] <@GoGo> I WILL INSERT WITH PLEASURE
[04:20.45] <@GoGo> shut it Bela

[05:41.55] <Team_Fail> Blue Spider is interesting, but #MEHMasterRace
[05:42.20] <diegoisawesome> Team_Fail: Sounds like a bunch of unmotivated people that still want to try to take over the world
Reply With Quote
  #12    
Old July 26th, 2011, 09:22 AM
Deokishisu's Avatar
Deokishisu
Mr. Magius
 
Join Date: Feb 2006
Location: If I'm online, it's a safe bet I'm at a computer.
Gender: Male
Nature: Relaxed
Time to post my little experiment!

What I did was edit an otherwise clean FR Rom. I added a connection to Pallet Town from the trade center room in the Pokemon Center, then proceeded to play through both files until I could trade. Linked em up, all looked normal in the trade room (except the added connection of course). I then proceeded to walk both games up into Pallet Town.

I passed into Pallet fine in both games, and they were still linked and I could still see the individual movements of each game's player. The problem was, none of the doors worked, eventually each game's movements desynched, so one player would be in front of the player's house in their game, but somewhere else according to the linked game. The desynching happened primarily when I walked up to Route 1 on one game. Wild Battles didn't work. I eventually got to the point where it desynched enough that the movement permissions were off, giving me some invisible walls. I successfully made it back to the trade room in both games and traded. Then tried again, thinking it as a "refresh" basically. Same deal.

I don't think what you're envisioning is possible on the GBA games. Maybe when we're more versed in fourth gen hacking, you can use the Underground to create your region, allowing anyone to enter and play in it with you.
Reply With Quote
  #13    
Old July 26th, 2011, 09:55 AM
Team Fail's Avatar
Team Fail
The fine line between in|sanity
Community Supporter
 
Join Date: May 2009
Age: 19
Gender: Male
Nature: Brave
I can't seem to get it to work. I must be doing something wrong. :\
__________________

Pairs:
Kevin, Echidna
Follow me on Twitter! @TeamFail
Alt 1, リザードン
Miiverse
Pokémon Hackers Online
Alt 2: Jack Cayman



[04:20.39] <@GoGo> I WILL INSERT WITH PLEASURE
[04:20.45] <@GoGo> shut it Bela

[05:41.55] <Team_Fail> Blue Spider is interesting, but #MEHMasterRace
[05:42.20] <diegoisawesome> Team_Fail: Sounds like a bunch of unmotivated people that still want to try to take over the world
Reply With Quote
  #14    
Old August 25th, 2011, 01:38 PM
HackChu's Avatar
HackChu
I need a haircut...
Community Supporter Tier 1
 
Join Date: Jan 2007
Location: Bankrupt Amerika
Age: 21
Gender: Male
Nature: Modest
This is most likely impossible. I tried a long time ago, linked the games up and created a map with trees and NPCs. One person would talk to the npc while at the same time the other player could talk to the same person. Basically, you can't do anything at all except battle eachother and nothing else. However if you just want to walk around for no reason, than be my guest.
__________________
Join us!

My 'learning how to combine battle scripts' thread:
http://www.pokecommunity.com/showthread.php?t=183001

SoulSilver FC:1162 1864 5409
Name: Ethan

Black FC: 2666 1354 4379
Name: Ashton

White 2 FC: 1120 8065 3049
Name: Nate

3DS Friend Code: 1349-4646-2412
Name: tysonrss
Reply With Quote
  #15    
Old August 25th, 2011, 07:33 PM
NarutoActor's Avatar
NarutoActor
The rocks cry out to me
Community Supporter
 
Join Date: Jan 2009
Location: Brooklyn/Marlboro
Age: 20
Gender: Female
Nature: Bashful
Send a message via AIM to NarutoActor Send a message via Windows Live Messenger to NarutoActor
I think it would be cool if we limited the co-op. Like both players are transported to one map where they can play in a series of multilayer games. Gen 5 has synched play.
__________________
~There are those people who understand hex, F the rest
Reply With Quote
  #16    
Old August 25th, 2011, 08:45 PM
SwirlyBirds's Avatar
SwirlyBirds
apparently not quite dead
Community Supporter
 
Join Date: May 2010
Nature: Lonely
I think it would be both possible and fun to do this. I've always believed that nothing is impossible, especially in ROM Hacking. If we could use ASM to reprogram the game to be multiplayer...Man, that would be awesome. Also, if we used ASM, it wouldn't have to have anything to do with the Link Room, or even a Pokemon Center at all. I'm gonna talk to some people who know ASM, see if this is at all possible. Because, if it is, I think we should try it, fast.
__________________
this is not a signature
Reply With Quote
  #17    
Old August 26th, 2011, 09:03 AM
HackChu's Avatar
HackChu
I need a haircut...
Community Supporter Tier 1
 
Join Date: Jan 2007
Location: Bankrupt Amerika
Age: 21
Gender: Male
Nature: Modest
Quote:
Originally Posted by HackDeoxys View Post
I think it would be both possible and fun to do this. I've always believed that nothing is impossible, especially in ROM Hacking. If we could use ASM to reprogram the game to be multiplayer...Man, that would be awesome. Also, if we used ASM, it wouldn't have to have anything to do with the Link Room, or even a Pokemon Center at all. I'm gonna talk to some people who know ASM, see if this is at all possible. Because, if it is, I think we should try it, fast.
I'm not all that saavy with ASM, but even than I still think it wouldn't be possible. The game itself would need a COMPLETE overhaul, the battle system, everything.
__________________
Join us!

My 'learning how to combine battle scripts' thread:
http://www.pokecommunity.com/showthread.php?t=183001

SoulSilver FC:1162 1864 5409
Name: Ethan

Black FC: 2666 1354 4379
Name: Ashton

White 2 FC: 1120 8065 3049
Name: Nate

3DS Friend Code: 1349-4646-2412
Name: tysonrss
Reply With Quote
  #18    
Old August 26th, 2011, 07:41 PM
SwirlyBirds's Avatar
SwirlyBirds
apparently not quite dead
Community Supporter
 
Join Date: May 2010
Nature: Lonely
Quote:
Originally Posted by HackChu View Post
The game itself would need a COMPLETE overhaul, the battle system, everything.
I don't think so. At least not to start with. I though of an idea. So here's how it'd work:
You play normal most of the time. However, the ROM automatically links up with other people playing nearby. You don't join them, however, if you run into them in the field, you may battle, trade, chat, etc. The game would not have to be reprogrammed, it would merely require the ROM to check for other people playing nearby and automatically link with them. You will still find them in the same places that they are currently playing. so your chances of running into them are quite small, given that they can be anywhere in the region.

We can invent more about this later, but for now, I don't think it would be nearly as hard as others imagine.
__________________
this is not a signature
Reply With Quote
  #19    
Old August 27th, 2011, 12:58 AM
DavidJCobb
RESIDENT RAAAAAAAAAAAAGEMASTER
 
Join Date: Jul 2010
Gender: Male
Nature: Lonely
Quote:
Originally Posted by HackDeoxys View Post
I don't think so. At least not to start with. I though of an idea. So here's how it'd work:
You play normal most of the time. However, the ROM automatically links up with other people playing nearby. You don't join them, however, if you run into them in the field, you may battle, trade, chat, etc. The game would not have to be reprogrammed, it would merely require the ROM to check for other people playing nearby and automatically link with them. You will still find them in the same places that they are currently playing. so your chances of running into them are quite small, given that they can be anywhere in the region.
You're oversimplifying.

In order for the game to synchronize an action -- say, taking a step in one direction -- it must send data to all connected clients whenever that action takes place. Those clients, in turn, must be "listening" for that data and must respond to it appropriately -- say, by updating the other players' OWs on-screen -- when it is received.

This must be done for everything that is synchronized. If you need to synchronize wild battles, then the games must be coded to send, check for, and respond to data packets when they are initiated. Movement, trainer battles, random OW movements -- same thing.

Essentially, you'd literally have to hack nearly every facet of the game engine and modify them to make them sync. Failure to hack even one system -- the random movement of NPC OWs, for example -- can lead to massive desyncs in the manner I have described earlier in this thread.

And an auto-connect system like you're describing would require even more work -- constantly listening and broadcasting for additional connections, and synching several connections at a time... Having to spawn new OWs and sync new data at any moment, should a player come within range of the Wireless Adapter... All of this, as opposed to a direct one-to-one connection between two and only two players, initiated with a specific trigger (i.e. talking to an NPC to start a link) and deactivated with another specific trigger.
__________________
Reply With Quote
  #20    
Old August 27th, 2011, 06:51 AM
Full Metal's Avatar
Full Metal
C(++) Developer.
Community Supporter
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Send a message via Windows Live Messenger to Full Metal
^ And furthermore, I believe the bandwidth for the accessory port on the GBA is tiny. Maybe 4 bytes, if I remember correctly. So you'd be re-inventing P2P.
Send Header ( 2 bytes ) "Move Change" New ( relative ) XY position ( 2 bytes )
Send Header ( 2 bytes ) "BattleReq" - trainerID ( 2 bytes )
Send Header ( 2 bytes ) "Accept" - trainerID ( 2 bytes ) #global. the one with that trainerID is listening for this after a "BattleReq" or something is sent.
Send Header ( 2 bytes ) "TradeReq" - trainerID
Send Header ( 2 bytes ) "Leave" - trainerID
Send Header ( 2 bytes ) "Enter" - OW type

trainerID is just the order in which player's entered the area.
So basically, you would still need to sync the games ( like they do in the pokecenter )
Then every 1/60th of a second, check for any headers. If there are any that apply to your game, then apply them. However, I see one problem with this: You have more than 1 person. IDK How that would work. Would one message overwrite the other? [ I still have yet to do any actual research on this ]. And in general, it would just be fairly disappointing.
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #21    
Old August 27th, 2011, 07:16 AM
HackChu's Avatar
HackChu
I need a haircut...
Community Supporter Tier 1
 
Join Date: Jan 2007
Location: Bankrupt Amerika
Age: 21
Gender: Male
Nature: Modest
Quote:
Originally Posted by HackDeoxys View Post
I don't think so. At least not to start with. I though of an idea. So here's how it'd work:
You play normal most of the time. However, the ROM automatically links up with other people playing nearby. You don't join them, however, if you run into them in the field, you may battle, trade, chat, etc. The game would not have to be reprogrammed, it would merely require the ROM to check for other people playing nearby and automatically link with them. You will still find them in the same places that they are currently playing. so your chances of running into them are quite small, given that they can be anywhere in the region.

We can invent more about this later, but for now, I don't think it would be nearly as hard as others imagine.
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.
__________________
Join us!

My 'learning how to combine battle scripts' thread:
http://www.pokecommunity.com/showthread.php?t=183001

SoulSilver FC:1162 1864 5409
Name: Ethan

Black FC: 2666 1354 4379
Name: Ashton

White 2 FC: 1120 8065 3049
Name: Nate

3DS Friend Code: 1349-4646-2412
Name: tysonrss
Reply With Quote
  #22    
Old August 27th, 2011, 05:55 PM
NatureKeeper
No longer active here.
 
Join Date: Jun 2008
Location: Somewhere.
Age: 16
Gender: Male
Nature: Hasty
Send a message via Windows Live Messenger to NatureKeeper Send a message via Skype™ to NatureKeeper
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.
Reply With Quote
  #23    
Old August 27th, 2011, 08:16 PM
DavidJCobb
RESIDENT RAAAAAAAAAAAAGEMASTER
 
Join Date: Jul 2010
Gender: Male
Nature: Lonely
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.
__________________
Reply With Quote
  #24    
Old August 27th, 2011, 08:27 PM
leews24's Avatar
leews24
ha
 
Join Date: May 2011
Location: Lilycove, Hoenn
Gender: Male
Nature: Jolly
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
__________________
currently planning/predeveloping a hack

Pokemon LP Screenshot Walkthrough aint dead, cuz[EP10] IS FINALLY OUT
http://pkmlpscreenwalkthrough.weebly.com/
Reply With Quote
  #25    
Old August 27th, 2011, 08:47 PM
SwirlyBirds's Avatar
SwirlyBirds
apparently not quite dead
Community Supporter
 
Join Date: May 2010
Nature: Lonely
Quote:
Originally Posted by HackChu View Post
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.

Quote:
Originally Posted by NatureKeeper View Post
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.

Quote:
Originally Posted by DavidJCobb View Post
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?


Quote:
Originally Posted by leews24 View Post
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.
__________________
this is not a signature
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 03:24 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.