Jump to content

PsyDoom 1.1.1 - PSX Doom port (reverse engineered) for PC


Recommended Posts

Truly outstanding work, I had just made Duckstation play nice with PSX Doom because I was really wanting to re-live the experience but now I can do that AND not have to wrestle with that!

 

Been playing it through and it is absolutely phenomenal, runs smooth as ice, plays great and looks fantastic.

 

I'm gonna see what I can do with the map editor posted earlier in the thread later, this is honestly great! Thank you!

Share this post


Link to post
On 10/3/2022 at 1:20 AM, intacowetrust said:

PsyDoom has more or less got all the features I intended it to have at this point.

With you working out a good fix for the speedrunning issue the only thing I can honestly think of now that may be significant for some could be adjustable brightness. It is a fairly dark game so it may end up too dark on certain displays. Haven't seen it mentioned as an issue but I wouldn't be surprised to see it crop up.

Share this post


Link to post

Hey everyone, just added a small update for PsyDoom (1.0.1) to the releases page here:

https://github.com/BodbDearg/PsyDoom/releases

 

Important note

This release raises the minimum required Windows version to 8.1. Windows XP, 7 and 8.0 are no longer supported.

 

Feature changes & improvements

  • Add the ability to toggle the 'uncapped framerate' setting in-game via the 'extras' menu and via a toggle key (unbound by default).
    • This makes it easier to switch between high-fps Vulkan rendering and low-fps 'classic' rendering, all while in-game.
    • Note: the old config setting for uncapped framerate is now removed as a result of this change.
  • Demo recording: show when recording has started and ended for added clarity.
    • There are some situations like when loading a save game where demo recording is not allowed; this change helps identify those situations.
  • Demo recording: allow the game to be paused while recording instead of just quitting the game.
    • Note: pausing causes recording to end, since demos can't pause the game.
    • This change can be helpful for speed-runners to restart the level again and record the next run.
  • Simply the HUD messages emitted when loading and saving a game so that they don't clutter up the UI.
  • Deathmatch: display a frags count (you/them) if kill stats are enabled.

Bug fixes

  • GEC Master Edition: fix the wrong CD music track playing for the 'Icon Of Sin' level.
  • Vulkan renderer: fix level and performance stats not drawing in the right place if widescreen is disabled.
  • Doom MAP20 'Unholy Cathedral': fix some lines incorrectly marked as doors, and door tracks that should not move.
  • Classic renderer: fix an issue that has the rare potential to cause crashes.

Share this post


Link to post
2 hours ago, intacowetrust said:

This release raises the minimum required Windows version to 8.1. Windows XP, 7 and 8.0 are no longer supported.

I understand, nobody uses XP nowadays among gamers, but why Windows 7 is no longer supported?

Edited by Dimon12321

Share this post


Link to post

I meant to ask earlier: Did network play see any updates between 0.8.3 and 1.0.x, or is it still recommended to only play over LAN?

Share this post


Link to post
6 hours ago, Dimon12321 said:

I understand, nobody uses XP nowadays among gamers, but why Windows 7 is no longer supported?

Oftentimes, this is less "Dev no longer supports it" and more "compiler no longer supports it."

 

To be fair, Win7 has been EoL for nearly 3 years now. You REALLY shouldn't be using it as your daily OS anymore. Just a matter of time until a security hole is found that won't be fixed.

Edited by Dark Pulse

Share this post


Link to post
1 hour ago, Lollie said:

I meant to ask earlier: Did network play see any updates between 0.8.3 and 1.0.x, or is it still recommended to only play over LAN?

I play it over the internet with my nephew all the time. He's on WiFi and I'm on a hardwired connection. There are hitches once in a while, but it's perfectly fine. Last time I checked, I think our ping time averaged around 20ms. We haven't had any lost connections that I can think of. 

Share this post


Link to post
2 hours ago, intacowetrust said:

Important note

This release raises the minimum required Windows version to 8.1. Windows XP, 7... are no longer supported.


Me, how still uses Win 7: 
image.png.a666854af7575dfc345d747a3c68357f.png

Edited by Herr Dethnout

Share this post


Link to post
20 minutes ago, Dimon12321 said:

I understand, nobody uses XP nowadays among gamers, but why Windows 7 is no longer supported?

 

Just now, Dark Pulse said:

Oftentimes, this is less "Dev no longer supports it" and more "compiler no longer supports it."

 

To be fair, Win7 has been EoL for nearly 3 years now. You REALLY shouldn't be using it as your daily OS anymore. Just a matter of time until a security hole is found that won't be fixed.



Just a quick update to say that is possible to play the game on Win 7. Sometimes, games that aren't supported on older OS can still be played although with limitations (Like KEX's Quake that is playable on Win7 but without networking afaik)
image.png.88491aca51ff5c710133e06a75176a63.png

Share this post


Link to post
8 hours ago, fenderc01 said:

I play it over the internet with my nephew all the time. He's on WiFi and I'm on a hardwired connection. There are hitches once in a while, but it's perfectly fine. Last time I checked, I think our ping time averaged around 20ms. We haven't had any lost connections that I can think of. 

Decent enough for high-speed/low-ping connections then, that's something! I'm guessing that the way it works, hitches result in freeze-and-wait delays while the lagging player syncs up.

 

A friend and I have had Doom on our "co-op games to play" list for a while, and he's never tried PSX Doom, but we're international - USA vs AUS. ~170ms ping probably wouldn't cut it for PsyDoom lol, not without some sort of sync tech at least.

 

edit: After a little localhost testing with Clumsy to simulate high-ping... definitely not lol. Drops on 20ms aren't too bad, but drops on anything higher make it pretty unplayable. Even without drops, 80+ starts feeling pretty chunky. This was exactly what I was expecting though, I'm sure it'd take some extensive work to make netplay feel smoother at higher pings. Frankly it's still cool that netplay works.

Edited by Lollie

Share this post


Link to post

Many thanks @intacowetrust - 1.01 is a small but very nice update being able to change frame rate and renderer on the fly - feels even more like a remaster now in the same vein as the leaked Goldeneye Xbox 360 port and the Halo Master Chief Collection - being able to switch between updated/original graphics in-game.

 

15 hours ago, fenderc01 said:

I play it over the internet with my nephew all the time. He's on WiFi and I'm on a hardwired connection. There are hitches once

in a while, but it's perfectly fine. Last time I checked, I think our ping time averaged around 20ms. We haven't had any lost connections that I can think of. 

 

That sounds fun - used to play PSX multiplayer with the playstation link cable back in the day a bit, but a complete novice when it comes to PC multiplayer Doom.

Could you explain exactly how to set it all up for PsyDoom? (Both local multiplayer over same connection and non local multiplayer)

Edited by francis247uk

Share this post


Link to post

Decided to update, and with that occasion, update my conversion of 1on1.wad as well.

However I have an issue. What is W:LDC LOAD ERROR! BAD SND IDX!

This issue wasn't present before.

Share this post


Link to post
7 hours ago, francis247uk said:

Many thanks @intacowetrust - 1.01 is a small but very nice update being able to change frame rate and renderer on the fly - feels even more like a remaster now in the same vein as the leaked Goldeneye Xbox 360 port and the Halo Master Chief Collection - being able to switch between updated/original graphics in-game.

 

 

That sounds fun - used to play PSX multiplayer with the playstation link cable back in the day a bit, but a complete novice when it comes to PC multiplayer Doom.

Could you explain exactly how to set it all up for PsyDoom? (Both local multiplayer over same connection and non local multiplayer)

PsyDoom Multiplayer Tutorial this is the old version psydoom 0.6.1 

 

Share this post


Link to post

For some reason it gets stuck at the first loading screen, what could be the issue? Tried disabling and enabling Vulkan and used both Doom and Final Doom .cue files.

Also tried both AppImage and my own compiled copy.
Still, awesome project and thanks for the great work.

Share this post


Link to post
On 10/8/2022 at 2:26 AM, Dimon12321 said:

I understand, nobody uses XP nowadays among gamers, but why Windows 7 is no longer supported?

 

On 10/8/2022 at 9:21 AM, Dark Pulse said:

Oftentimes, this is less "Dev no longer supports it" and more "compiler no longer supports it."

 

This is precisely what happened. Something changed/updated with the MSVC compiler (I use VS 2019) and I could no longer build the game using the legacy 'Windows XP' SDK. It wasn't something that I could just fix either; the MSVC compiler was spitting out errors when including some of the core Windows headers. I had warned about this previously and now the day of reckoning has finally arrived:

 

"XP support is hanging on by a thread; as soon as it becomes no longer possible to target XP in modern Visual Studio then support will be dropped completely."

 

I also noticed that some components of PsyDoom (e.g ASIO networking) needed Windows 8.1 minimum so that's another reason for me to drop support for older versions.

 

On 10/8/2022 at 12:14 PM, Herr Dethnout said:

Just a quick update to say that is possible to play the game on Win 7. Sometimes, games that aren't supported on older OS can still be played although with limitations (Like KEX's Quake that is playable on Win7 but without networking afaik)

 

Glad to hear you can still use the latest update. I would have expected issues considering I raised some of the target OS versions. Some stuff like networking might still have problems (as mentioned above) but it's good to hear you can still run the game at least.

 

On 10/8/2022 at 8:29 AM, Lollie said:

I meant to ask earlier: Did network play see any updates between 0.8.3 and 1.0.x, or is it still recommended to only play over LAN?

 

No updates to network play other than a couple of bug fixes for issues pointed out by @fenderc01. As I explained in this ticket I decided to de-prioritize network play in favor of finishing up the rest of the features: https://github.com/BodbDearg/PsyDoom/issues/58#issuecomment-1271228418
 

On 10/8/2022 at 10:11 AM, fenderc01 said:

I play it over the internet with my nephew all the time. He's on WiFi and I'm on a hardwired connection. There are hitches once in a while, but it's perfectly fine. Last time I checked, I think our ping time averaged around 20ms. We haven't had any lost connections that I can think of. 

 

Yep this is about the level of ping you'd need to be hitting in order for MP to be playable. If there is too much of a delay then the game will stall waiting for packets from the other player.

 

On 10/9/2022 at 4:52 AM, VL2M STUDIO said:

Decided to update, and with that occasion, update my conversion of 1on1.wad as well.

However I have an issue. What is W:LDC LOAD ERROR! BAD SND IDX!

This issue wasn't present before.

 

The game is complaining that the LCD file contains data for sounds that haven't been defined in the game's WMD (Williams module) file. Include the WMD file provided here with your map to fix the warning:

https://github.com/BodbDearg/PsyDoom/tree/master/extras/psydoom_mapping

 

23 hours ago, gabbagaps said:

For some reason it gets stuck at the first loading screen, what could be the issue? Tried disabling and enabling Vulkan and used both Doom and Final Doom .cue files. Also tried both AppImage and my own compiled copy.

 

That's strange - haven't heard of this before. One thing you could try, check the 'Use fast loading' option in under the 'Game' settings tab in the launcher. Let me know if this works for you, I have my suspicions about what this problem could be.

Share this post


Link to post
10 hours ago, intacowetrust said:

Glad to hear you can still use the latest update. I would have expected issues considering I raised some of the target OS versions. Some stuff like networking might still have problems (as mentioned above) but it's good to hear you can still run the game at least.


Yup, like KEX Quake, at least for single-player is more than enough for me heh.

Quick question: I will possible for you to release the audio tools as a .exe rather than compiling? I'm like a fish out of the water with this all cmake stuff and I want to make custom tracks for my future psydoom maps :S Ignore this, I found the compiled audio tools on the older releases :P

Edited by Herr Dethnout

Share this post


Link to post
1 hour ago, intacowetrust said:

That's strange - haven't heard of this before. One thing you could try, check the 'Use fast loading' option in under the 'Game' settings tab in the launcher. Let me know if this works for you, I have my suspicions about what this problem could be.

Does not fix unfortunately.

Share this post


Link to post
13 hours ago, intacowetrust said:

No updates to network play other than a couple of bug fixes for issues pointed out by @fenderc01. As I explained in this ticket I decided to de-prioritize network play in favor of finishing up the rest of the features: https://github.com/BodbDearg/PsyDoom/issues/58#issuecomment-1271228418

Completely fair. After realizing how PSX Doom's link mode functions, I figured it'd probably take a lot of rewriting core game functionality and some fancy game-state syncing to get a smoother netplay experience online. Unless you're extremely dedicated to netplay, the time and effort spent developing it would be a net-loss.

Share this post


Link to post
On 10/10/2022 at 12:48 PM, gabbagaps said:

Does not fix unfortunately.

 

Sorry to hear that, but thanks for checking it out anyway.

 

Hmm... not entirely sure what it could be in that case. I suspected it might have been code (also present in the original game) that waits for some menu sounds like the pistol and barrel explosion to finish playing before proceeding. I thought perhaps that could have been fouling up, resulting in an infinite wait. If you've enabled 'fast loading' however then the 'sound end' wait is bypassed entirely, which more or less rules that theory out.

 

Since you're compiling your own build, have you tried doing a debug build (pass -DCMAKE_BUILD_TYPE=Debug to cmake) and seeing if anything interesting is emitted to the terminal after you run? Also are you familiar with using GDB? If so then perhaps you could debug and see where it's getting stuck after the freeze happens.

 

5 hours ago, fenderc01 said:

I updated the wiki for PsyDoom on DoomWiki.org. I'm posting a link to it here in case anyone else sees this and wants to add to it or make changes. 

 

https://doomwiki.org/w/index.php?title=PsyDoom

 

Nice one - thanks for doing that!

Share this post


Link to post
13 hours ago, intacowetrust said:

Sorry to hear that, but thanks for checking it out anyway.

 

Hmm... not entirely sure what it could be in that case. I suspected it might have been code (also present in the original game) that waits for some menu sounds like the pistol and barrel explosion to finish playing before proceeding. I thought perhaps that could have been fouling up, resulting in an infinite wait. If you've enabled 'fast loading' however then the 'sound end' wait is bypassed entirely, which more or less rules that theory out.

 

Since you're compiling your own build, have you tried doing a debug build (pass -DCMAKE_BUILD_TYPE=Debug to cmake) and seeing if anything interesting is emitted to the terminal after you run? Also are you familiar with using GDB? If so then perhaps you could debug and see where it's getting stuck after the freeze happens.

I tried compiling a debug version a few days ago to see if extra messages popup but none do.
I'm unfamiliar with gdb but tried to run the executable in it just in case:

(gdb) run
Starting program: /home/gabriel/git/PsyDoom/build/game/PsyDoom
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
XOpenIM() failed
[Inferior 1 (process 13653) exited normally]

XOpenIM() appears even with the normal executable, it seems to be locale related so it shouldn't have anything to do with it.

Nevermind! Just as I way typing this, I thought about your comment about sound and tried running it with PulseAudio running, just in case. It works now. I usually run a JACK server at all times that routes alsa output to itself, so programs tend to work as most of them support alsa. So I guess its a sound server related error that doesn't seem to be outputted or handled? Sorry I'm not very familiar with software development.

I am very happy I'm finally able to play and try it!

Share this post


Link to post

Does the PsyDoom launcher support multiple pwads as mods? Example: I want to load a user map together with a mod that changes the Super Shotgun. Apparently the launcher only allows me to select one user directory for mods, though. Can I place several mods in the same folder or how does it work (if it does at all)?

Edited by NightFright

Share this post


Link to post
6 hours ago, NightFright said:

Does the PsyDoom launcher support multiple pwads as mods? Example: I want to load a user map together with a mod that changes the Super Shotgun. Apparently the launcher only allows me to select one user directory for mods, though. Can I place several mods in the same folder or how does it work (if it does at all)?

I mentioned this a few pages back. Due to how it's set up you would have to manually merge it with an extension wad in the mod directory for it to work with the launcher. The alternative,which is what I do is to use a command line withe the -file command for individual wads. Command lines override the launcher so you have to set your cue and -datadir for the mod when using them. It's a bit cumbersome but works.

Share this post


Link to post

Maybe they can still add a command line to the launcher or something, as a compromise solution.

In general however, it looks like the author is pretty much done with this port, considering how feature requests on Github are handled (IIRC he even said so recently). 

Edited by NightFright

Share this post


Link to post

That was my suggestion as the -warp and -file commands aren't available with the launcher. I don't think that will happen with how it's set up though. Perhaps a "create shortcut" option within the launcher that generates one with all the directories and such may be possible. With that command lines could be easily added to the generated shortcut but I don't know how possible that would be.

Share this post


Link to post

I noticed that there's no way to choose which display to use to play the game in Fullscreen, which means that I'm forced to play with my main display. Perhaps a quick patch could be added to add that option? I know the following isn't really on topic with PsyDoom, but they're kinda in the same family so for simplicity's sake I'll say it here but will a launcher and the wide range of display options (or options in general) be coming to Phoenix Doom sometime as well? These two Source Ports have to be my favourite ports of all time and I play them frequently, it's just the minor hiccups that are only in the way of it truly becoming the best of the best.

 

Honestly, now that I think about it, I wouldn't mind this becoming a part of Libretro/RetroArch since there's already PrBoom on there, Console Source Ports would be great to have on there as well especially if I can get to use the great NTSC filters as well. Hahaha

Share this post


Link to post
On 10/12/2022 at 12:33 PM, gabbagaps said:

I tried compiling a debug version a few days ago to see if extra messages popup but none do.
I'm unfamiliar with gdb but tried to run the executable in it just in case:


(gdb) run
Starting program: /home/gabriel/git/PsyDoom/build/game/PsyDoom
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
XOpenIM() failed
[Inferior 1 (process 13653) exited normally]

XOpenIM() appears even with the normal executable, it seems to be locale related so it shouldn't have anything to do with it.

Nevermind! Just as I way typing this, I thought about your comment about sound and tried running it with PulseAudio running, just in case. It works now. I usually run a JACK server at all times that routes alsa output to itself, so programs tend to work as most of them support alsa. So I guess its a sound server related error that doesn't seem to be outputted or handled? Sorry I'm not very familiar with software development.

I am very happy I'm finally able to play and try it!

 

Thanks for figuring that out, this is invaluable information! I'll investigate more to see if I can reproduce on my end and maybe find a fix or workaround.

 

On 10/14/2022 at 2:10 PM, Greenknight9000 said:

I noticed that there's no way to choose which display to use to play the game in Fullscreen, which means that I'm forced to play with my main display. Perhaps a quick patch could be added to add that option?

 

Fair point, perhaps PsyDoom could also try and detect which display it was launched from so that it goes into FS using that monitor. Might not be possible if starting via the command line but probably doable if starting via the launcher.

 

On 10/14/2022 at 2:10 PM, Greenknight9000 said:

I know the following isn't really on topic with PsyDoom, but they're kinda in the same family so for simplicity's sake I'll say it here but will a launcher and the wide range of display options (or options in general) be coming to Phoenix Doom sometime as well? These two Source Ports have to be my favourite ports of all time and I play them frequently, it's just the minor hiccups that are only in the way of it truly becoming the best of the best.

 

Right now I'm taking a bit of a break from Doom and spending time on some other personal projects, since PsyDoom has largely achieved what I was originally aiming for. There'll probably be a few more smaller PsyDoom updates depending on what bugs etc. pop up and also what Master Edition releases need to be supported. I don't have any plans to revisit Phoenix Doom at this time however.

Share this post


Link to post

I was wondering:
Is it indended that there is no way to carry over your guns to the next episode? I've played through PSXDoom and most of Final Doom by now and whenever an episode ended, I was sent back to the menu and had to start a new game for the next one. Wasn't it supposed to be a smooth transition between episodes without losing your inventory?

Share this post


Link to post
1 hour ago, NightFright said:

I was wondering:
Is it indended that there is no way to carry over your guns to the next episode? I've played through PSXDoom and most of Final Doom by now and whenever an episode ended, I was sent back to the menu and had to start a new game for the next one. Wasn't it supposed to be a smooth transition between episodes without losing your inventory?

 

It was the same way on the PlayStation version, but you can go to passwords and you can continue on with your weapons and ammo from there.

Share this post


Link to post
15 minutes ago, fenderc01 said:

 

It was the same way on the PlayStation version, but you can go to passwords and you can continue on with your weapons and ammo from there.

What he said. But I feel like this takes away the difficulty starting with all your weapons from the previous episode(s). I always start fresh after beating an episode because I treat them Doom 1 style.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...