Steel Diver Sub Wars: Torpedo Direct Hits Crashes Citra

Issue: Steel Diver Sub Wars: Torpedo Direct Hits Crashes Citra

Greetings everyone, just joined the forums recently. Today, I tried to play Steel Diver Sub Wars for the first time, simply based on the guise that it has a “Perfect” compatibility rating. Here’s my observations in regards to the issue(s):

1 (Main Issue): Torpedoes fired by the player and if they make a direct hit on enemy units (submarines in particular), Citra will crash.
2: Player-fired torpedoes hitting other projectiles and/or environmental objects such as mines, and torpedoes fired from enemy submarines does not crash the emulator.
3. Player getting hit by any enemy projectiles (torpedoes) and/or environmental objects does not crash the emulator.
4. Homing torpedoes fired by the player does not crash the emulator when they make a direct hit on enemy units.
5. The Game Compatibility for this game should clearly be updated; it should be downgraded to “Bad” based on the issue I encountered.

I played two separate sessions of the same game. The first session appeared stable, I played Mission 1 to test player/torpedo interaction with environmental objects, before moving on to Mission 5 to test the same player/torpedo interaction though this time with enemy submarines. I first fired a homing torpedo first at the enemy boss [submarine], and it didn’t crash the game, then I stopped the emulator from there after taking screenshots.

During my next session after restarting the emulator, I tried the same scenario again, though this time I also fired regular torpedoes (aside from the homing ones) at the same enemy boss [submarine] and I surprisingly managed to get several direct hits until one of the torpedoes that made a hit finally crashed the emulator (within a minute or two of firing torpedoes).

At first, when I faced this issue for the first time, I thought the game ROM may have been corrupted when I looked through the logs, since the logs did mention about xxxxxxxx.app being “tainted” multiple times. However, even after re-dumping the game, replacing the old game ROM with the newly dumped ROM, and even re-dumping/re-installing the DLCs and updates (in case those were also corrupted), the same issue occurs.

SIDE NOTE 1 (SIMILAR POST FOUND)
It seems that another user (Original post about this issue also encountered a similar issue with the same game, though mine appears to be a tad bit less severe.

SIDE NOTE 2 (QUESTION)
I also tried dumping the game into a CXI file, though I kept the “xxxxxxxx.app” version of the same game (this version was dumped via threeSD) at the same time (see last screenshot), and tried launching the CXI version. The same issue occurs, while in the logs it seems that it ran the “xxxxxxxx.app” version of the game anyway and not the CXI version.

Is it because I have the CXI version saved in a separate game dump folder, and didn’t place it inside the “sdmc” folder and under its corresponding title folder? While on that subject, is it also safe to replace the “xxxxxxxx.app” version of the game with the CXI version in its dedicated title folder or will that cause issues?

SIDE NOTE 3 (SUGGESTION TO FORUM OR CITRA HOMEPAGE MODERATOR)
To any moderator available, please allow the ability for the Game Compatibility page on the Citra homepage to be edited by [verified] users who have tested the games and reported the game compatibility, in addition for that page to be updated on a weekly or even daily basis. Maybe even add the ability to edit the Game Compatibility page via the Community Forums. Frankly, the Game Compatibility page is already quite outdated and clearly needs to be updated, since some compatibility reports appear to be false, missing [details], or are simply out of date. In addition, the catalogue on the Game Compatibility page is missing many 3DS games that needs to have their compatibility reported. This will make things more efficient for users new to Citra or emulation in general, since they don’t have to dig through the forum to check if they have the same issues with a game already listed in the catalogue, or if one specific game (listed in the catalogue or not) they want to emulate will just work.

Maybe the outdated Game Compatibility page has been discussed already elsewhere in the forum and/or a solution might already be in the works, but I’m going to say it here just in case neither are true.

Cheers,
SandboxParadox

System Information

Diagnostic Log
citra_log.txt (51.5 KB)

In order to save a copy of the log, follow this guide:
https://community.citra-emu.org/t/how-to-upload-the-log-file/296

Woohoo! Glad to see this being brought up again.

1 Like

Ah, I remember this. Yea, issue is still there afaik. We haven’t had a dev look into it yet. As for the compatibility page, we’re currently waiting for our sister project (yuzu) to finish overhauling their compatibility system, so that we can port it. They actually have web devs available to work on it. We don’t.

1 Like

RE: Steel Diver Sub Wars Issue
Ah, gotcha. Hopefully a dev can look into this soon. I decided to do more testing with this game, this time on the Android side (grabbed the latest version from GitHub), and performance is good though only for the first mission and if I never fire any torpedoes. If a torpedo (normal or homing) is fired by the player or NPC submarines, the frame rate drops substantially (to single digit FPS). This is before and after tweaking the emulator’s graphics settings. I assumed that this is because of weaker graphics or graphics API version on mobile, as it struggles to render and/or create (new or precompiled) shaders. Fortunately, FPS returns to normal values some time after the torpedo hits the target. I wasn’t able to replicate the crash because of the FPS drop issue, but I think it will happen anyway.

What do you think are the chances that this is a graphics related issue (maybe OpenGL vs. Vulkan, or rendering [shader caches]) and not something in the game’s code or even the emulator’s code?

RE: Compatibility Page
Understood. What’s the ETA until the overhaul is complete if I don’t mind asking? Also in regards to web devs, so that means Citra and Yuzu have separate teams (of devs) and are not shared (equally) between both? I can understand if the devs are separated when it comes to the coding/troubleshooting aspect of either emulator and Yuzu currently being the more focused on project simply because of the popularity of the Switch and it having a much larger community/fanbase vs 3DS nowadays, but surely web devs should be split evenly between the two if they’re not directly assisting in coding/troubleshooting, right?

In any case, I’m sure the real solution would be to recruit more volunteers/devs, and/or donate. I wish I could help but sadly I don’t have any knowledge or skills when it comes to [web] development or coding, though I also wish that Citra will find more people who do have those skills.

With all that said, thanks for your response in regards to both topics. It’s greatly appreciated.

~SP

I cannot answer that until it is looked into. It may be either, both, or something else entirely.

No idea. It’s a big rewrite, and rather complicated. So, depending on how much feature creep gets shoveled in, it could take a month, or over a year.

All developer work is volunteer based. This means that whether a dev wants to contribute to one project, or another, is based entirely on their interest. Therefore, there are devs that work on only one project, ones that contribute to both, and ones that contribute to neither (maybe only review code). That’s true whether they help the project by developing code for the emulator side of the project, or the backend/website side of the project. yuzu and Citra are sister projects only in the sense that they were started by the same original developer (and thus share a lot of the backend infrastructure, these forums being a good example), and because yuzu started out as a fork of Citra. Which means that they share a lot of code.

The projects are only related, not completely shared. So the people who are working on the web dev on yuzu’s side of things, don’t necessarily want to contribute over at Citra. But, because both projects share a lot of code, porting things is a lot easier.

Hey please, let me ask you, how did you ghet that submarine? and all the submarines? I apreciate it. And another thing, did you know about any commutity to play online? Thanks.

Greetings. I believe the (Neptune MKII) submarine that’s seen on the screenshots was only available via the 3.0 update that was available to download for free some time after the initial release date.

What I still remember is that all non-DLC submarines prior to the update (provided that you played the premium version of the game) can be unlocked by completing singleplayer missions.

Meanwhile, there were three additional non-DLC submarines that were added in the 3.0 update (namely the Garfish Advanced, Sea Hound II, and the Neptune MKII) that required the player to play a set number of matches in Local Play mode (of which the exact number I no longer remember).

They were also available to unlock in the free version of the game (with the update applied) though you still needed the premium version to actually use all three submarines aforementioned.

Also, in regards to any online communities to play the game online alongside you, I no longer know any ever since Miiverse shut down. You can try posting here or try looking at Discord for anyone who might still be playing the game. What I do know is that Nintendo recently made the unfortunate announcement that all online services for 3DS and WiiU games will be discontinued in early April 2024. With that said, you can probably still play multiplayer mode with this game at this time, up until the slated shut down date aforementioned. If you’re able, try playing a global match in the game and see if anyone shows up.

If you have other questions about the game, let me know.

unfortunately, the SDSW servers down, it in maintence since september. I try to know about some community… thanks for your answer Sandbox.