hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.1k stars 2.16k forks source link

Danball Senki W multiplayer connection problem #15226

Open SFZeroEXE opened 2 years ago

SFZeroEXE commented 2 years ago

What happens?

I tried to play online with my friend and we did connect successfully and joined the same room but we don't see each other and we appear to be hosting separately also my friend tried connecting the game locally on his PC and it worked for him But I tried the same thing (locally) Using 2 phones but it didn't work so I don't know how to get it working

What should happen?

We should be able to see each other in the battle lobby

What are you using?

What hardware / device and operating system?

Snapdragon 865 Android 11

What graphics card (GPU) or mobile phone model?

Xiaomi Poco X3 Pro

What PPSSPP version (standalone/official), and did it work before?

Actually the multiplayer in W didn't work except for a minor number of users but Danball Senki Boost works just fine, multiplayer and single player

Which game or games?

NPJH50618

Checklist

anr2me commented 2 years ago

~Btw do you have the v2.02 update of the game? May be your friend (and these small number of users) have a newer version of the game~ Nevermind, you clarify that you're using v2.02 on the other issue. But what about your friend? Are you guys using the same version?

And since the game doesn't boot on the latest PPSSPP version (based on the other issue), i assume you're using PPSSPP v1.11.2 for multiplayer, right?

Hmm.. it's hard to tell whether the multiplayer got fixed on the latest version or not without testing it on the latest version (there was an issue of socket error inconsistency between Android and Windows that got fixed recently)

SFZeroEXE commented 2 years ago

~Btw do you have the v2.02 update of the game? May be your friend (and these small number of users) have a newer version of the game~ Nevermind, you clarify that you're using v2.02 on the other issue. But what about your friend? Are you guys using the same version?

And since the game doesn't boot on the latest PPSSPP version (based on the other issue), i assume you're using PPSSPP v1.11.2 for multiplayer, right?

Hmm.. it's hard to tell whether the multiplayer got fixed on the latest version or not without testing it on the latest version (there was an issue of socket error inconsistency between Android and Windows that got fixed recently)

We both were using 1.12.3 the latest version on windows and the same version of the game cuz it's the last version of the game and I tested the game locally too on 1.11.2 on Android using every version of the game W, W v2 , W v2.02 but still not connecting to the same room

ghost commented 2 years ago

It's weird because most developers just reuse the same netcode for their future games in the series. There are some exceptions here and there I guess.

anr2me commented 2 years ago

We both were using 1.12.3 the latest version on windows and the same version of the game cuz it's the last version of the game and I tested the game locally too on 1.11.2 on Android using every version of the game W, W v2 , W v2.02 but still not connecting to the same room

Did you tested it on Android using 1.12.3 too? because 1.11.2 might still have some bug on the multiplayer. Please test it on Android using the latest dev build from here https://buildbot.orphis.net/ppsspp/index.php?m=fulllist

SFZeroEXE commented 2 years ago

We both were using 1.12.3 the latest version on windows and the same version of the game cuz it's the last version of the game and I tested the game locally too on 1.11.2 on Android using every version of the game W, W v2 , W v2.02 but still not connecting to the same room

Did you tested it on Android using 1.12.3 too? because 1.11.2 might still have some bug on the multiplayer. Please test it on Android using the latest dev build from here https://buildbot.orphis.net/ppsspp/index.php?m=fulllist

The game doesn't even boot on 1.12.3

anr2me commented 2 years ago

So it doesn't boot on Android but boot on Windows? That's strange

I guess you'll need to test it again after the boot issue got fixed later, because the multiplayer issue might already been fixed if it works on Windows LAN.

Might also be latency issue, the game might not be able to handle higher latency than a LAN (for some reason pinging my Android 11 phone gets a higher ping than my internet ping using laptop LOL as i remembered the ping was better before i updated my phone to Android 11) You can try increasing the Minimum Timeout setting to 300+ and see whether it makes a difference or not.

SFZeroEXE commented 2 years ago

So it doesn't boot on Android but boot on Windows? That's strange

I guess you'll need to test it again after the boot issue got fixed later, because the multiplayer issue might already been fixed if it works on Windows LAN.

Might also be latency issue, the game might not be able to handle higher latency than a LAN (for some reason pinging my Android 11 phone gets a higher ping than my internet ping using laptop LOL as i remembered the ping was better before i updated my phone to Android 11) You can try increasing the Minimum Timeout setting to 300+ and see whether it makes a difference or not.

I'll try that , the game boots on 1.12.3 windows but doesn't connect but on 1.12.3 android it doesn't even boot

anr2me commented 2 years ago

Btw could you provide your savedata saved from v2.02, and also guide me how to play adhoc multiplayer? because i have no idea which menu should i choose other than the online multiplayer through PSN.

SFZeroEXE commented 2 years ago

Btw could you provide your savedata saved from v2.02, and also guide me how to play adhoc multiplayer? because i have no idea which menu should i choose other than the online multiplayer through PSN.

I can't attach files now because I'm on my phone rn I'll send you the save file once I get home as for the multiplayer option in the game it's the second option on Metamo menu then select the first option after that , you'll see the multiplayer rooms screen

SFZeroEXE commented 2 years ago

NPJH50618DATA0001.zip

SFZeroEXE commented 2 years ago

here's the savedata

anr2me commented 2 years ago

The 2nd menu is this one right? image

But inside it, i can't choose any of these 2 menu, pressing X doesn't do anything image

Btw @hrydgard why am i seeing the logs being flooded with Vulkan's Notice on v1.12.3-480-ga9dcf482c ? (i set the G3D channel to Warn) image

SFZeroEXE commented 2 years ago

The 2nd menu is this one right? image

But inside it, i can't choose any of these 2 menu, pressing X doesn't do anything image

Btw @hrydgard why am i seeing the logs being flooded with Vulkan's Notice on v1.12.3-480-ga9dcf482c ? (i set the G3D channel to Warn) image

No not that one

SFZeroEXE commented 2 years ago

Screenshot_2021-12-19-06-10-46-324_org ppsspp ppsspp Screenshot_2021-12-19-06-10-52-348_org ppsspp ppsspp Screenshot_2021-12-19-06-11-03-340_org ppsspp ppsspp

SFZeroEXE commented 2 years ago

That's the multiplayer menu in the 2nd screenshot

anr2me commented 2 years ago

Ah i need to load the save data first, i thought it was near the menu for online multiplayer from the start menu LOL

Btw, which version of PPSSPP did you use? i'm using v1.12.3-480-ga9dcf482c but my background looked like a mess image But the background issue only occurred when the first time i talked to that MeTaMo robot, the 2nd attempt seems to be fine.

SFZeroEXE commented 2 years ago

Ah i need to load the save data first, i thought it was near the menu for online multiplayer from the start menu LOL

Btw, which version of PPSSPP did you use? i'm using v1.12.3-480-ga9dcf482c but my background looked like a mess image But the background issue only occurred when the first time i talked to that MeTaMo robot, the 2nd attempt seems to be fine.

This happens in every version but it doesn't affect the game at all so no big deal right? And I'm using the same version version

hrydgard commented 2 years ago

@ANR2ME Sorry about the log flood, just a left behind define. unknown just fixed it.

anr2me commented 2 years ago

After testing this game on localhost a few times, using clumsy to simulate "bad connection", this game seems to have a really nice netcode! O.o

This game can handle a latency of 300ms with 25% of lost/dropped packets without getting disconnected, it doesn't even affects the gameplay too much (full speed 30/30 FPS, with some action delays due to high latency, and some jumpy/glitchy movements due to packet loss)

To be able to handle such a bad network condition, this game have a really good netcode from my perspective. Btw, this game doesn't use AdhocMatching, just a regular Adhoc like MH games, so we can exclude issues that were related to AdhocMatching.

PS: I only tested the first menu on adhoc multiplayer menu, so it's 1vs1, not sure about it's stability with more players involved tho (if this game support more than 2 players that is) Tested with v1.12.3-482-g3a61119e7

ghost commented 2 years ago

Seems to be an Android to PC issue or an Android to Android issue again maybe. Because he said it didnt work Android to Android. I didnt have some luck connecting PC to Android. I thought it was some ping limit thing because I didnt see the other player. The previous game played really nice so I thought I should give it a go.

anr2me commented 2 years ago

Seems to be an Android to PC issue or an Android to Android issue again maybe. Because he said it didnt work Android to Android. I didnt have some luck connecting PC to Android. I thought it was some ping limit thing because I didnt see the other player. The previous game played really nice so I thought I should give it a go.

I've tried Android vs PC (Windows) both as host and joined one (connected using tethering), and they're working properly, but apparently my phone aren't good enough for this game, i can only get about 20-26 FPS on both single and multiplayer :(

Btw when you said "PC to Android", were you using Linux or Windows?

Edit: i was able to get full speed too on my phone by enabling Fast Memory

anr2me commented 2 years ago

Okay, i was able to borrow another phone (Infinix Hot 10 Play 4/64 Android 10), and tested Android vs Android (mine is Realme C12, similar spec to the borrowed phone, but i've updated it to Android 11) on LAN.

Tested both as host and joined but found no issue, 1vs1 worked flawlessly (both phones connected to the same router/AP)

PS: Tested with v1.12.3-484-g2c38a14ad

PPS: The settings i changed from default was: System settings:

Networking settings:

Graphics settings: (Optional)

SFZeroEXE commented 2 years ago

Hm I haven't tested the multiplayer on the latest version yet ,I'll give it a shot and report back

SFZeroEXE commented 2 years ago

Screenshot_2021-12-20-10-25-40-278_org ppsspp ppsspp Still not showing up on the same room

SFZeroEXE commented 2 years ago

Okay, i was able to borrow another phone (Infinix Hot 10 Play 4/64 Android 10), and tested Android vs Android (mine is Realme C12, similar spec to the borrowed phone, but i've updated it to Android 11) on LAN.

Tested both as host and joined but found no issue, 1vs1 worked flawlessly (both phones connected to the same router/AP)

PS: Tested with v1.12.3-484-g2c38a14ad

PPS: The settings i changed from default was: System settings:

  • I/O timing method: Simulate UMD delays
  • Force real clock sync: Checked
  • PSP model: PSP-2000/3000

Networking settings:

  • Enabled networking/WLAN: Checked
  • Enable built-in PRO adhoc server: Checked
  • Change PRO adhoc server IP address: choose one of the IP of the player with built-in adhoc server enabled

Graphics settings:

  • Hardware tessellation: Checked
  • Show FPS counter: Both

My 2 phones are android 11 oppo and Xiaomi What's the network offset you used while testing?

anr2me commented 2 years ago

Have you tried using the same settings i use? leave the rest as default (default port offset is 10000)

Also, make sure all players using the same PRO adhoc server IP address in order to meet each other, and it must not be "localhost" and must not be public adhoc server like socom/sushicat if you're using the same internet connection.

PS: For testing purpose please reset the settings to default and only change the setting to match my setting, and make sure all players do this.

If it still didn't work, try changing the Port Offset to 5000 or 40000 or even 60000 (i heard some games only worked with high port offset numbers for some players, depends on their device too i guess)

SFZeroEXE commented 2 years ago

I'll try that

SFZeroEXE commented 2 years ago

Screenshot_2021-12-24-20-04-45-553_org ppsspp ppsspp Okay guys I got working by switching the PSP model from 2000/3000 to 1000 it works but the host gets laggy gameplay while the other player plays normally (offline) also will test it online using the same settings

SFZeroEXE commented 2 years ago

Have you tried using the same settings i use? leave the rest as default (default port offset is 10000)

Also, make sure all players using the same PRO adhoc server IP address in order to meet each other, and it must not be "localhost" and must not be public adhoc server like socom/sushicat if you're using the same internet connection.

PS: For testing purpose please reset the settings to default and only change the setting to match my setting, and make sure all players do this.

If it still didn't work, try changing the Port Offset to 5000 or 40000 or even 60000 (i heard some games only worked with high port offset numbers for some players, depends on their device too i guess)

Sorry I was busy the past few days

anr2me commented 2 years ago

Screenshot_2021-12-24-20-04-45-553_org ppsspp ppsspp Okay guys I got working by switching the PSP model from 2000/3000 to 1000 it works but the host gets laggy gameplay while the other player plays normally (offline) also will test it online using the same settings

all players using PSP-1000 or mixed model? may be the game use a different clock on different model that's why it affects the performance.

PS: As i remembered DBZ TT can't see each other when each player use different PSP model, that game seems to use different clock on different model too, but during multiplayer the game will detects different model and offer the player to adjust the clock.

SFZeroEXE commented 2 years ago

Screenshot_2021-12-24-20-04-45-553_org ppsspp ppsspp Okay guys I got working by switching the PSP model from 2000/3000 to 1000 it works but the host gets laggy gameplay while the other player plays normally (offline) also will test it online using the same settings

all players using PSP-1000 or mixed model? may be the game use a different clock on different model that's why it affects the performance.

PS: As i remembered DBZ TT can't see each other when each player use different PSP model, that game seems to use different clock on different model too, but during multiplayer the game will detects different model and offer the player to adjust the clock.

All players use the same model

anr2me commented 2 years ago

Btw have you enabled Fast Memory? it should improve the performance, especially on mobile.

SFZeroEXE commented 2 years ago

Will try it

ghost commented 2 years ago

Screenshot_2021-12-24-20-04-45-553_org ppsspp ppsspp Okay guys I got working by switching the PSP model from 2000/3000 to 1000 it works but the host gets laggy gameplay while the other player plays normally (offline) also will test it online using the same settings

all players using PSP-1000 or mixed model? may be the game use a different clock on different model that's why it affects the performance.

PS: As i remembered DBZ TT can't see each other when each player use different PSP model, that game seems to use different clock on different model too, but during multiplayer the game will detects different model and offer the player to adjust the clock.

I always found this weird because with CFW you can overclock a PSP-1000 to work with 333 mhz... And technically from a certain firmware version Sony just made the 333 mhz clock being applicable for all models and games as well. BTW I thought the PSP model setting on PPSSPP was a cosmetic setting but I guess not.

anr2me commented 2 years ago

Overclock = user-defined clock, while most games use auto/default clock and may adjust the clock during certain scene/area of the game.

If you use PSP-1000 model on DBZ Team Tag, you will see something like this when you launch the game image

If you use PSP-2000/3000, when you enter Multiplayer menu, you will see something like this image And, if you answered "No" here, you won't be able to see rooms created by PSP-1000 model.

That means the game can detects the model, if it were just cosmetic i'm sure the PSP Model option would already been removed long ago from System settings LOL

SFZeroEXE commented 2 years ago

It's true ,some games doesn't even boot without changing the model

ghost commented 2 years ago

That cant be lol all games should boot on all models unless it's an homebrew made specifically for the 2000-3000 etc. I think that changing the clock manually on PPSSPP to something like 333 mhz on both the devices could also help.

SFZeroEXE commented 2 years ago

Will give it a shot

unknownbrackets commented 2 years ago

Just a note: the PSP runs all games at 222 Mhz by default, regardless of model (1000/2000/3000/N1000/etc.) At some point early on in firmware releases, they introduced the ability to control the CPU clock speed from within the game. All models can run at 333 Mhz.

Newer models (2000+) have better battery life, so a game developer might see less downsides to cranking up the battery usage by going to 333 Mhz. It also has a UMD cache, so a game developer might be less worried they'll just waste all that extra power waiting for data to load from disc.

I've also read something to the effect that using 333 Mhz will "fry" your wifi 802.11b, which definitely isn't true. But maybe the wifi didn't work properly on the PSP-1000 or something when the CPU was at full clock. I'm skeptical.

PPSSPP's setting is largely "cosmetic" in that it just changes what it tells the game. It doesn't really affect emulation. But games make decisions based on that because of the above. I don't know why the game says that, unless we're accidentally making it think the user is on older firmware that can't control the clock speed...

-[Unknown]

ghost commented 2 years ago

Just a note: the PSP runs all games at 222 Mhz by default, regardless of model (1000/2000/3000/N1000/etc.) At some point early on in firmware releases, they introduced the ability to control the CPU clock speed from within the game. All models can run at 333 Mhz.

Newer models (2000+) have better battery life, so a game developer might see less downsides to cranking up the battery usage by going to 333 Mhz. It also has a UMD cache, so a game developer might be less worried they'll just waste all that extra power waiting for data to load from disc.

I've also read something to the effect that using 333 Mhz will "fry" your wifi 802.11b, which definitely isn't true. But maybe the wifi didn't work properly on the PSP-1000 or something when the CPU was at full clock. I'm skeptical.

PPSSPP's setting is largely "cosmetic" in that it just changes what it tells the game. It doesn't really affect emulation. But games make decisions based on that because of the above. I don't know why the game says that, unless we're accidentally making it think the user is on older firmware that can't control the clock speed...

-[Unknown]

It says it even if you are on firmware 6.61 actually (on a PSP Go at least which I heard is similar to 1000 in some ways). Could also be that the developers hit a game bug on PSP-1000 while its on 333 mhz or something as well so they did that to remedy the issue instead of fixing the bug.

SFZeroEXE commented 2 years ago

Ok we managed connect to each other and played together and it was because we didn't where was the joining option and we got it working on both PSP 1000 and PSP 2000/3000 , that aside the game worked online and all without crashes BUT thing is the host gets frame drop to 20 fps while the emulator shows it's 100% , we tried the 333 mhz but no luck

anr2me commented 2 years ago

I was also getting about 20-26 FPS during my test with Fast Memory disabled, enabling Fast Memory on all players made it runs full speed 30 FPS, but this was tested on LAN (Android vs Android), not sure about over the internet, and both devices were using the same SoC (Helio G35 2.3Ghz CPU with PowerVR GE8320 GPU), both clocks were left untouched (Auto).

But in my case the FPS was also 20-ish on single player (as soon i loaded the savedata and entered the 3D world) with Fast Memory disabled.

SFZeroEXE commented 2 years ago

Will try again using those settings and report back

SFZeroEXE commented 2 years ago

We tested it again with fast memory enabled but still the host get 20 fps gameplay

anr2me commented 2 years ago

Hmm.. that's strange.. because the FPS wasn't affected by the latency during simulated "bad connection", but it was tested on a PC which is normally have a higher performance than mobile.

Were you able to get 30 FPS on single player? Have you tried a different Graphics backend? Is this only happened when you played over the internet/VPN or also happened on LAN?

And if you switches who host and who join, does the other player (the new host) will also suffers this FPS issue?

ghost commented 2 years ago

Did a comparison: With a PC player played over the internet - you gonna get 30 fps match for both players. With an Android player using Android 11 - got 30 fps on both sides Same settings same everything over the socom.cc server. PC player can be either LInux or a Windows one won't matter. I think its something on SFZeroEXE phone that causes it for some reason but it only casues it for other players and not him.

anr2me commented 2 years ago

Yeah, i also felt it was some of the settings the host might use that causing it unable to get full speed, they should've used default settings with minimal changes first, to find out whether the FPS issue were caused by some settings or not tho, and then tweaks it further little-by-little to get better "visual" experience.

Or may be one of the device isn't as "strong" as the other device, thus unable to keep up processing all incoming packets from the faster device...

ghost commented 2 years ago

Because he said that the emulator showed 20 fps as 100 percent speed I think it most likely the 2nd thing or something else.

SFZeroEXE commented 2 years ago

Yeah, i also felt it was some of the settings the host might use that causing it unable to get full speed, they should've used default settings with minimal changes first, to find out whether the FPS issue were caused by some settings or not tho, and then tweaks it further little-by-little to get better "visual" experience.

Or may be one of the device isn't as "strong" as the other device, thus unable to keep up processing all incoming packets from the faster device...

Well I'm using default settings

SFZeroEXE commented 2 years ago

Tried the same thing with android 8 too , same results