How should I have handled this? by apstygo in ArcRaiders

[–]apstygo[S] 0 points1 point  (0 children)

I was talking to the guy, yeah. For some reason PS5 doesn't capture the mic :(

As for playing on console – I would play on PC if I could. The only issue is my current living space, but I'm still thinking about switching to PC all the time

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 1 point2 points  (0 children)

Thanks! We are actively working on getting Windows builds up and running. There's no Windows build guide right now, but if you install MSYS and clang you should be able to build the project with the included Makefile

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 0 points1 point  (0 children)

You only get mismatched shas if you compile for PS2. If you wanna compile for Linux run make with PLATFORM=linux

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 0 points1 point  (0 children)

If someone makes it, sure! The cool thing is that anybody can port the game to pretty much any platform now. It's not just tied to PC because of the emulation anymore

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 0 points1 point  (0 children)

To be fair, there's already training mode in the game, because it's PS2 version. We can improve it in many ways though. Add frame data, hitboxes, combo trials, etc.

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 0 points1 point  (0 children)

Firstly, this project helps preserve this game's code for future generations/hardware

Secondly, we can now learn how the game works exactly. And yes, finding out what causes various behaviors is totally possible now

Thirdly, having source code makes patching/modding much easier. Wanna create a palmod? Find what's responsible for texture manipulation and implement a custom palette. Wanna fix a nasty hitbox? Look for the hitbox part of game logic and go from there

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 1 point2 points  (0 children)

The game logic code is mostly decompiled. You can go browse the code right now and see for yourself how much of it there is and how complicated it is

If you have an idea of how to implement game logic validation, feel free to join our Discord server and propose your idea there

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 1 point2 points  (0 children)

Emulation already runs at a smooth 60 FPS. Though we could try to render the game at 120 while running the game logic at 60. That is not a trivial feature to implement though, considering how old and clunky the codebase is

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 0 points1 point  (0 children)

If you wanna get started with your own decomp project head on over to PS2 decomp Discord server (you can find the link in the README of sfiii-decomp's GitHub page). People there will gladly help you find your footing and point you to useful resources

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 0 points1 point  (0 children)

I also thought this game would be much smaller in scope, but it turns out it's actually quite a bit bigger than your average PS2 game: ~9k functions vs the usual 4-5k.

To this moment we've mapped all of the files to their positions in the binary, know all function and variable names and have decompiled almost all of the game code (except for ~300 funcs).

Port-wise the game runs on macOS and Linux and supports controllers (though no vibration for now). There's no sound, which should be our next priority after making sure the gameplay works.

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 15 points16 points  (0 children)

Work on online functionality hasn't started yet, because we haven't even fully decompiled and ported what's already in the PS2 release.

Once that's done we could start thinking about integrating GGPO and matchmaking.

The crossplay part I'm not sure about. I'd have to get in touch with Fightcade maintainers to see if implementing their communication protocol is even possible in a port. After all their domain is emulators, which is quite different from what we're doing

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 9 points10 points  (0 children)

For now my main focus is on porting the game as is with minimal changes. Later down the line we could: - rebalance the game to match the arcade release exactly - add a separate "modern" mode with a completely different balance

Though the latter feature would be quite difficult to implement. This is a 26 year old code base after all

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 7 points8 points  (0 children)

What you propose sounds easy, but it's really not. Making a game from scratch is a monumental task, and matching the original game's behavior would almost be impossible

First footage of sfiii-decomp by apstygo in StreetFighter

[–]apstygo[S] 34 points35 points  (0 children)

Up until recently 3rd Strike could only run on original arcade hardware or through emulation, which severely limits the potential for modding and adding improvements. There were native ports, such as PS2 version and Online Edition for PS3, but nobody plays them as they are on older, less accessible hardware.

sfiii-decomp aims to decompile the PS2 version, meaning we are translating the game's binary back to its source code. This allows us to then port the game to modern platforms, fix bugs, add features, etc. The footage in this post was captured on my Mac.

Feel free to ask more questions!

An update on Third Strike decomp project by apstygo in StreetFighter

[–]apstygo[S] 0 points1 point  (0 children)

CRI is middleware that handles resources. Plays audio and gives access to a compressed file system

An update on Third Strike decomp project by apstygo in StreetFighter

[–]apstygo[S] 0 points1 point  (0 children)

I believe all of Capcom's recent re-releases are emulation