Plans for Resident Evil 3

I thought I’d work first on Dino Crisis 2 because it’s the better game to me and it’s also a lot easier to work with, but let’s keep the fun for dessert. More after the jump.
From my previous tweets about RE3, it’s easy to tell it’s not my favorite in the series, nor the easier to work with (as a matter of fact, it’s a satanic mess). But why is it so hard to tackle compared to the other titles?

For starters, the way RE3 was ported to PC doesn’t have any shortcomings of bad programming practices and improper usage of C++ code with unnecessary “obfuscation” almost everywhere. The PlayStation code is still all there, mostly intact and working pretty much the same way, except for a few changes imposed by the different platform (file loading comes to my mind). The real problem with that is that CAPCOM reimplemented the entirety of the PlayStation SDK, which is entirely composed of C function calls. The issue is that inside C functions there are C++ wrappers jumping a lot around via pointless virtual tables. They could have used virtual methods only when a specific class required so (i.e. polymorphism) and they even did with previous conversions, but in this case it’s there just because it has to be — there was no need to resort to such a solution, which wasn’t optimal even at the time. This thing in particular makes researching the game’s code confusing as it gets.

Still, even if the improper “polymorphism” wasn’t there, the game has other issues, like the base PlayStation loop running in a thread while Windows does its own thing (again, unnecessary), visual glitches of all sorts, missing effects, Windows components in the option dialogs not showing up correctly, not very good controller support, etc. You know the drill with these ports.

So, let’s see what needs to be fixed with this one:

  • Wobbly polygons and warped textures – this is identical to what Dino Crisis suffers the most in the PC port. Just like in DC’s case, the game internally emulates the PlayStation GTE verbatim, meaning that it uses fixed math to generate polygons coordinates that snap in a 320×240 grid.
  • Replace all rendering code so that the game runs in 32 bits instead of 16 bits.
  • Replace the DInput 5.00 implementation of controllers and keyboards via the usual stuff also used on previous projects.
  • Integrate The Mercenaries mode into the main game, instead of as a separate executable. Strangely the whole mode is still all there intact, just unreachable.
  • Disable the broken option Windows dialog and enable instead the in-game Configuration screen.
  • Fix crashes that seldomly happen during door transitions. This is probably caused by the game running in a thread and jumping around via VSync.
  • Do the usual translation stuff, since this project is based on the SourceNext print.

See you all in a couple months, if this works out as intended.

21 opinions on “Plans for Resident Evil 3”

  1. Thanks Gemini for your work, and please do not forget to support Directx 11 and other languages ​​too …

  2. Thank you so much for your contribution!
    Do you also plan to fix the missing FMV issue, which judging from your tweets I’d say is present in your copy too? AFAIK, most, if not all, of the FMVs don’t play in the game, i.e. the scene where Jill first meets Nemesis, the part where Nemesis shoots down the chopper, and the part after Jill exits the cabin and the ground collapses, to name a few.

  3. Wow this is great news! It’s funny that even though this game is a broken mess, it’s the only game out the OG trilogy that natively works with Windows 10 without any real tinkering. Still though the wobbly textures, the lack of windowed support (it straight up crashes if I try to use a borderless windowed program while the game is windowed,) the various other crashes, some things such as various audio being lower quality even though the game had the disc space to be the best, Mercenaries mode being a different executable, and plenty of other issues makes it a total mess in so many ways. I’m glad that in due time we’re going to get a fixed conversion of this game, thank you for your hard work.

  4. not my favourite resi too. a lot of shooting not felling like a survival horror. at least they fix this with the remake

  5. Thank you SO MUCH for your awesome work!! Very excited for Dino Crisis 2. It’s way better than RE 3 IMO. You’re amazing and should be given a medal by the entire gaming community!!!!!!!!

  6. Nice! Funny how RE3 is actually my favorite out of the entire trilogy. Still don’t quite understand why would anyone not like it in any way when gameplay was much improved, especially the crafting mechanic with gunpowder and such.

    Anyway, as much as I’d love for you to work on RE3 rather than DC2, it’s totally understandable, especially the fact on how RE3’s programming is a complete mess when compared to previous ports. Can’t wait to see these two get their patches in the future!

  7. I’ve only played the UK PC port and it works flawlessly. I haven’t played the SourceNext yet but I heard that the SourceNext version was trash.

  8. The fact that you are going to work on dino crisis 2 at all….is enough to keep me grinning from ear to ear for the rest of my life. And whilst I soundly agree DC2 is the better game, and much more of a favorite of mine. RE3 is a classic in it’s own right and is still good, so RE3 being worked on, is double the good news. Thank you again Gemini.

    1. SourceNext already has some fixes that are also implemented in the restoration project (like Carlos running into nothingness after the restaurant cutscene). SHDP3 fixes any issues with low-res or incorrect backgrounds. As for videos, we already have a pack provided by Darren, which fixes pixelation and is very lightweight on the hardware. The music files could be lifted from RE3R, since they are in higher quality than what the game provide, but I would probably try to compress them with OGG to use less space and for faster loading.

      1. I can’t wait for RE3 Rebirth with SHDP3. I hope that someone can port SHDP2, to RE2 Rebirth. As always, thanks for your work.

  9. Gemini,

    Thank you so much for working on these classic PS1 games for PC. I really appreciate you fixing up the Resident Evil and Dino Crisis series, as these ports were pretty bad. People already fixed the Silent Hill series, so to see these games getting fixed is awesome. Thanks!

  10. I was waiting for this one, so thank you so much! As an idea, I want to suggest Mega Man Legends if you get bored and want to keep fixing stuff after this and Dino Crisis 2. Just a suggestion, with RE3 and the flawlesly way you do your work, I’m more than happy.

  11. hay I think there is a framerate bug
    I was checking and in game it states that its 60, but rivatuner states its 30…..
    or is that because its rendering it at that half rate thing

    1. It varies between 30 and 60. It’s generally 30 for all 3d sections, besides door animations. The rest runs at 60 fps.

  12. Why do you dislike RE3 so much, apart from the technical issues you mentioned, when you seem to like the first and the second? Just curious.

  13. I normally don’t write comments on any site but i wanted to thank you for your hard work. I can’t wait to play this game from my childhood.

Leave a Reply to Navon Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.