Quasar Posted July 16, 2014 If you've watched the GitHub commit stream at all (or read my enormous changelog - yeah right :P) you probably already know about this, but I've been working on both a tool that converts a PSX DOOM CD into a .pke format archive, and support for it as a game in Eternity. In other words, playing the game using its native data, converted only to the extent necessary for loading it in a sanely constructed PC port. Dev images here: http://imgur.com/a/PrLet#0 I'll continue adding more as it takes shape (it's still fairly raw, with a lot of needed resources missing, but is entirely playable at this point). Colored lighting was actually possible on the experimental highcolor branch of EE but that approach was just an experiment and won't work in general. I'd still like to add true color to Eternity (a major project in and of itself) so that they can work but for now you'll just see the 8-bit rendering. I'm going to say the goal of this is not to emulate PSX exactly, as that'd be impossible in anything other than a fully dedicated port (something I'd like to see happen eventually and would probably participate in if it came to be a reality). It's more close to making the PSX game mission play more like PC DOOM. And I'm aware of the PSX TC's existence and I think those guys did a fantastic job. I just want to create something that can manipulate and work with the game's original data. 4 Quote Share this post Link to post
Gez Posted July 16, 2014 It's pretty neat. Confession: a long time ago, while toying with Blzut3's Doom64 branch for ZDoom, I thought about working on PSX Doom support as an intermediate step easier to reach. Lack of time/other pursuits/procrastination made this never happen, and I abandoned the idea entirely when I saw you starting work on PSX Doom support in EE. 0 Quote Share this post Link to post
Quasar Posted July 17, 2014 Gez said:It's pretty neat. Confession: a long time ago, while toying with Blzut3's Doom64 branch for ZDoom, I thought about working on PSX Doom support as an intermediate step easier to reach. Lack of time/other pursuits/procrastination made this never happen, and I abandoned the idea entirely when I saw you starting work on PSX Doom support in EE. With some extra work (mainly adding the various scripts as resources for psxwadgen to put into the zip, and a bit of code added) ZDoom could probably use it too, but since the PSX TC exists, I'd imagine it'd be pretty low priority. The fact I have to hard code anything at all is only because EE still has some shortcomings with respect to its modding capabilities (no custom HUDs, statbars, intermissions, etc.). At least this side project has helped drive forward several primary goals though. With the new sector special system in place for example, the Hexen map format now has proper sector specials. I also got Hexen MAPINFO support going as I thought this project might use it, but the ZDoom extensions to the original Hexen format proved insufficient for my needs so it's using EMAPINFO. Still, there's one more thing out of the way. In my opinion, the ideal base for a "PSX Doom EX" would in fact be Doom64 EX, and I've been trying to convince Kaiser to team up with me on it, but so far he's not interested, mainly because he feels it would have to be 100% accurate and the disassembly is such a mess, and so mired in the bizarre design of the PSX's hardware, that it would be a nearly impossible undertaking. Personally, I'd be willing to and would *rather* create a port which makes compromises in this regard, such as NOT having crazy warping textures and holes in the walls and floors due to insufficient z buffer precision, than to not have a port at all. 0 Quote Share this post Link to post
Blastfrog Posted July 29, 2014 I'm very excited for this. Eternity is my favorite advanced port because it's demo-compatible with the original game, licensed under the GPL, and takes on things that other ports don't bother with such as wall portals and now PSX support. I have a few questions: 1. Are the actors going to use their state tables and sector movers use their speeds from the PSX version? Of course, I imagine if this were done that it'd likely be scaled to 35hz by doubling the duration of most frames to 2 and switching to 3 every 6 PC Doom tics for the sake of keeping sync with the underlying PC style engine. 2. Do you intend to display the world with an 8:7 PAR and the sprites with a 6:7 PAR as opposed to both using the traditional 5:6 PAR? I know that you generally just want to play PC Doom natively running the PSX scenario, but I don't know how much aesthetic differences like the PAR concern you. 3. Regardless of using PSX or PC Doom's state table, will actor behavior (regarding code pointers) be like that of PSX Doom? That is, demon bites being handled by hitscan, various attacks using a different random damage calculation, barons and knights being able to infight, etc. 0 Quote Share this post Link to post
Quasar Posted July 29, 2014 Sodaholic said:1. Are the actors going to use their state tables and sector movers use their speeds from the PSX version? Of course, I imagine if this were done that it'd likely be scaled to 35hz by doubling the duration of most frames to 2 and switching to 3 every 6 PC Doom tics for the sake of keeping sync with the underlying PC style engine. For the most part, no. Revenants and their fireballs are slowed to half-speed via the EDFROOT.txt lump. But the difference in timing for other actors is not signficant enough on the gameplay for it to be worth the effort in my eyes. One thing that is handled for the most part is the timing of lighting effects; new thinkers and custom handling of existing ones has been added for PSX's sector types so that they appear aesthetically similar. Sodaholic said:2. Do you intend to display the world with an 8:7 PAR and the sprites with a 6:7 PAR as opposed to both using the traditional 5:6 PAR? I know that you generally just want to play PC Doom natively running the PSX scenario, but I don't know how much aesthetic differences like the PAR concern you. No. This is something that only a dedicated port could pull off properly IMO. EE displays the levels normally, so they look mostly like their PC counterparts instead of squashed like on PSX. Sodaholic said:3. Regardless of using PSX or PC Doom's state table, will actor behavior (regarding code pointers) be like that of PSX Doom? That is, demon bites being handled by hitscan, various attacks using a different random damage calculation, barons and knights being able to infight, etc. Lost Souls are made to count for kills currently. I plan on adding an action function for 1.2-style demon bites too. I may provide ability to tweak some of the internal damage values as well. The infighting thing is a problem that I have been looking for a solution to for a long time as well (it's currently still hardcoded in EE; you can't make other monsters behave this way - or NOT behave this way). All of this is or will be EDF based. 0 Quote Share this post Link to post
Blastfrog Posted July 31, 2014 How do you intend to handle 2D graphics like menu, backgrounds, status bar, HUD weapon, etc.? Is it going to be the PSX TC approach of 5:4 pixels by stretching the 256x240 stuff to exactly 4:3 (resulting in a picture somewhat between how the game looked on both PAL and NTSC), or will you use 8:7 ratio pixels while only displaying the middle 220-224 lines (depending if you want blank space on horizontal sides)? The latter would be more accurate to how the game's 2D art was actually supposed to be seen. PSX Doom was rather clearly not designed with PAL in mind, and the full 240 line area was not actually meant to be seen, but was simply there for (only vertical) overscan purposes as a "just-in-case". The blank 8 lines below the status bar strongly suggest that they designed the game for the standard 224 visible line standard many contemporary NTSC games used. 0 Quote Share this post Link to post
Quasar Posted July 31, 2014 Sodaholic said:How do you intend to handle 2D graphics like menu, backgrounds, status bar, HUD weapon, etc.? Is it going to be the PSX TC approach of 5:4 pixels by stretching the 256x240 stuff to exactly 4:3 (resulting in a picture somewhat between how the game looked on both PAL and NTSC), or will you use 8:7 ratio pixels while only displaying the middle 220-224 lines (depending if you want blank space on horizontal sides)? The latter would be more accurate to how the game's 2D art was actually supposed to be seen. PSX Doom was rather clearly not designed with PAL in mind, and the full 240 line area was not actually meant to be seen, but was simply there for (only vertical) overscan purposes as a "just-in-case". The blank 8 lines below the status bar strongly suggest that they designed the game for the standard 224 visible line standard many contemporary NTSC games used. psxwadgen does the horizontal stretching where it's needed so it's baked into the resources. For fullscreen 256x240 resources such as the DEMON screen, I've added code to EE that can scale a texture to fill the entire display surface. Since all the V_ drawing is sent to the 4:3 subscreen, this results in the expected appearance unless you're running in legacy 320x200 or 640x400 modes, which are not encouraged for use with the PSX mode for obvious reasons. I have added a shot of the Cast Of Characters to the gallery which demonstrates this. The black area below the statbar is clipped out by psxwadgen currently as the DOOM statbar code can't deal with it. 0 Quote Share this post Link to post
Blastfrog Posted July 31, 2014 PSXWADGEN stretches it and doesn't leave it up to the engine? Why? I'm not quite sure about that, to be honest. If it's for compatibility with more primitive ports, sure, but it should be optional (don't know if it already is or not). I concede that it's more aesthetically pleasing to have square pixels with minimal scaling artifacts (and absolutely none vertically) when displaying these graphics in multiples of 320x240, but it isn't necessarily accurate to how it was designed to look, and these days I doubt many people are using multiples of 320x240 given the advent of widescreen and native-res-bound LCDs. I'm likely one of the few CRT-using dinosaurs left. :P Despite my OCD obsession with screen and pixel aspect ratios (and the inconsistencies/ambiguities within), I don't think this is such a big deal since this isn't supposed to be 100% accurate and it does certainly look better to do it this way when multiples of 320x240 are targeted. 0 Quote Share this post Link to post
Da Werecat Posted July 31, 2014 PSX Doom menu background already has scaling artifacts. In general, I think they did a rather lazy job at preparing the graphics. 0 Quote Share this post Link to post
kb1 Posted August 9, 2014 Very, very cool! I see the spectres have some blank and some green - what algorithm are you using there? 0 Quote Share this post Link to post
Quasar Posted August 10, 2014 kb1 said:Very, very cool! I see the spectres have some blank and some green - what algorithm are you using there? Normal spectres are additively translucent (currently all of them are 25% in EE; some of them should be 100% additive depending on their map flags, as was discovered later, but I've not had time to change the EE code to account for those yet). The Nightmare spectres (greenish/black looking buggers) use 100% subtractive blending - background minus foreground, capping to zero on the low end. 0 Quote Share this post Link to post
VGA Posted August 19, 2014 Any progress? I've never played the psx version but when I do, I want to play it in the most elite way possible :-) 0 Quote Share this post Link to post
Quasar Posted August 19, 2014 VGA said:Any progress? I've never played the psx version but when I do, I want to play it in the most elite way possible :-) I am currently engaged with another project that's going to use most of my time for the next 2-3 months. 0 Quote Share this post Link to post
Danfun64 Posted May 13, 2015 Quasar said:I am currently engaged with another project that's going to use most of my time for the next 2-3 months. ...it's long past those 2-3 months. For those not interested in looking at hundreds of github commits one by one, can you summarize the progress made in the psx doom department? 0 Quote Share this post Link to post
Quasar Posted May 14, 2015 Danfun64 said:...it's long past those 2-3 months. For those not interested in looking at hundreds of github commits one by one, can you summarize the progress made in the psx doom department? That was followed by a month taken off and then another project I was asked to do (not Doom related). However as soon as this one is done I have a billion ideas for how to revamp EE; it's going to be large fundamental sweeping change kind of stuff. 0 Quote Share this post Link to post
Danfun64 Posted October 13, 2015 I just noticed https://github.com/team-eternity/calico-doom. Are you planning on stopping the PSX port to Eternity and instead placing it into that engine (unless you intend to merge the two when calico doom is stable)? 0 Quote Share this post Link to post
Danfun64 Posted January 27, 2018 Sorry for bump... but nothing appears to be happening with this. Out of curiosity I messed with the years old github link (https://github.com/haleyjd/psxwadgen) It wanted .edf files, which I didn't know where to find. Is this dead and/or unusable? 1 Quote Share this post Link to post
Quasar Posted January 30, 2018 Wherever you built the exe, you probably need to move the resource files so that the executable can find them. Everything is included here: https://github.com/haleyjd/psxwadgen/tree/master/res Everything I was doing with EE is presently on hold. I am a fulltime dev for Nightdive and I am in crunch on a project as we speak and writing this post is technically goofing off that I don't have time for :) 1 Quote Share this post Link to post
kb1 Posted January 30, 2018 1 hour ago, Quasar said: Wherever you built the exe, you probably need to move the resource files so that the executable can find them. Everything is included here: https://github.com/haleyjd/psxwadgen/tree/master/res Everything I was doing with EE is presently on hold. I am a fulltime dev for Nightdive and I am in crunch on a project as we speak and writing this post is technically goofing off that I don't have time for :) I can understand this, loud and clear! Best of luck with your Nightdive work. 2 Quote Share this post Link to post
Cacodemon345 Posted January 30, 2018 Nightdive project: https://www.pcgamesn.com/forsaken-ex/forsaken-ex-first-screenshots Is this what you were talking about? 0 Quote Share this post Link to post
Quasar Posted January 30, 2018 10 hours ago, Cacodemon345 said: Nightdive project: https://www.pcgamesn.com/forsaken-ex/forsaken-ex-first-screenshots Is this what you were talking about? Yes. 0 Quote Share this post Link to post
Danfun64 Posted February 3, 2018 I wonder how many people have successfully compiled a psxdoom.pke . I managed to be one of them. 0 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.