Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Erick194

The Doom 64 Source Code Released! (Reverse Engineering)

Recommended Posts

3 minutes ago, OpenRift said:

The thing is, NBlood wasn't NEARLY as good as it is now compared to when Fresh Supply came out (it is now though, and it's honestly the definitive way to play Blood on modern machines). The problem with Fresh Supply was that Atari didn't give them enough time because they're just cheap assholes.

Yeah, they even took down the older version to force you to buy theirs.  Real douche move.

Share this post


Link to post
1 minute ago, Gibbon said:

Yeah, they even took down the older version to force you to buy theirs.  Real douche move.

Actually, assuming you're talking about One Unit Whole Blood (the DOS version of Blood), it actually comes with Fresh Supply as a bonus (at least on GOG, I don't have it on Steam so I can't say).

Share this post


Link to post
4 minutes ago, OpenRift said:

Actually, assuming you're talking about One Unit Whole Blood (the DOS version of Blood), it actually comes with Fresh Supply as a bonus (at least on GOG, I don't have it on Steam so I can't say).

It does, but it was a lot cheaper on its own.

Share this post


Link to post
15 minutes ago, Gibbon said:

It does, but it was a lot cheaper on its own.

Good thing GOG's got DRM-free offline installers ;)

 

Also I can't really imagine it was much cheaper, because usually the best boomer shooters go for like $10 anyway.

Share this post


Link to post
3 minutes ago, OpenRift said:

Good thing GOG's got DRM-free offline installers ;)

 

Also I can't really imagine it was much cheaper, because usually the best boomer shooters go for like $10 anyway.

Boomer shooter :) I was 8 playing those

Share this post


Link to post
30 minutes ago, OpenRift said:

Atari didn't give them enough time because they're just cheap assholes.

every incarnation of atari is absolute garbage not only that but they have a long story of short deadlines and abusing their employes

 

the atari jaguar was supposed to release with a fighting game but while it did release it released unfinished why? atari wasnt paying the developer so he said "i have the full version and i will only give it to you if you pay me" and you can already know what they decided to do

 

atari always screw up no matter who is running the show they are always a terrible company

Share this post


Link to post

Vote with your wallet.  Just buy old boxed copies on eBay rather than give your money to these clowns.

 

But I think this is getting derailed :)

Share this post


Link to post
2 minutes ago, Gibbon said:

Vote with your wallet.  Just buy old boxed copies on eBay rather than give your money to these clowns.

 

But I think this is getting derailed :)

agreed we should stop talking about this before the thread gets locked

Share this post


Link to post

@Gibbon

 

I regret agreeing with you now because it seems like your intentions for the source code released by Erik194 are not entirely altruistic.  As a sourceport author yourself, are you really going to tell me that you wouldn’t like to be compensated for your work?  People have been trying to reverse-engineer and port Blood for two decades.  It wasn’t until M210 got involved with BloodCM in 2008 that things really started moving forward.  And even then, it took another 10 years or so for us to receive a port comparable to the Nightdive remaster.  Don’t get wrong, I love all of the community efforts made to preserve Blood, but I simply don’t understand the hate for Fresh Supply.  Nightdive is one the few companies dedicated to keeping old games alive, and they are seemingly the only ones that give a shit about the FPS genre.  Fresh Supply was also a chance to convince Atari to continue the franchise, and I don’t think anyone here would turn down a chance to play Blood III.

 

As a game developer, I realize you have to have somewhat of a thick skin, but that doesn’t make posts like yours any less disheartening to read.  (Hell, I don’t even work in the industry any more, and you’ve got me worked up.)  We are fortunate in that some members of the Nightdive team have ties to this community.  We are privy to information that often does not get shared elsewhere.  Let’s try to support our own and not scare them away, no?  (Not that @Edward850 really strikes me as someone who’s afraid of confrontation anyway. :p)

Share this post


Link to post
9 minutes ago, KainXavier said:

@Gibbon

 

I regret agreeing with you now because it seems like your intentions for the source code released by Erik194 are not entirely altruistic.  As a sourceport author yourself, are you really going to tell me that you wouldn’t like to be compensated for your work?  People have been trying to reverse-engineer and port Blood for two decades.  It wasn’t until M210 got involved with BloodCM in 2008 that things really started moving forward.  And even then, it took another 10 years or so for us to receive a port comparable to the Nightdive remaster.  Don’t get wrong, I love all of the community efforts made to preserve Blood, but I simply don’t understand the hate for Fresh Supply.  Nightdive is one the few companies dedicated to keeping old games alive, and they are seemingly the only ones that give a shit about the FPS genre.  Fresh Supply was also a chance to convince Atari to continue the franchise, and I don’t think anyone here would turn down a chance to play Blood III.

 

As a game developer, I realize you have to have somewhat of a thick skin, but that doesn’t make posts like yours any less disheartening to read.  (Hell, I don’t even work in the industry any more, and you’ve got me worked up.)  We are fortunate in that some members of the Nightdive team have ties to this community.  We are privy to information that often does not get shared elsewhere.  Let’s try to support our own and not scare them away, no?  (Not that @Edward850 really strikes me as someone who’s afraid of confrontation anyway. :p)

I do it because it is not only a hobby but a passion.  I get paid enough from my normal job, what I do, I do purely because I love doing it.

 

I also left the games industry, keeping old games alive is important but they won't keep living if the source is locked away.  Would Doom be in the same place if all we had was the DOS executables and some reverse engineered ports?  Maybe, maybe not.  Don't get me wrong, I like what they've done, but I'll always dislike anti-consumer practices.

Share this post


Link to post

Okay, but going back on-topic, I think a significant benefit of having a fan-made source port would be that you could have the ability to implement more convenient command line arguments, allowing more potential for modding in 64's vanilla format. For example, one issue that @Immorpher was telling me about was that the only way to add new textures for a WAD in the remaster would be to either have them. So having a merging capability (like Chocolate Doom's -merge or Crispy Doom's merging via -file) would be nice to have.

Share this post


Link to post
5 hours ago, Gibbon said:

Too many layers.  They should have just ported it to a newer source port than slapping yet another layer on top for Zenimax's horrible integration.  It definitely cuts performance somewhat.

It absolutely doesn't. BNet is just a simple https response system that says "hey I'm playing this game", then updates news. It barely does anything over the lifetime of the game, and I guarantee you it wouldn't change performance at all if it wasn't there.

It was literally just a port to newer source. There's nothing special going on.

5 hours ago, omalefico32x said:

doom 64 is great but bloated

 

i also dislike how much heavier their rereleases are some even requiring modern hardware to run well with is something that i dont think should be happening with old games (with some exceptions of course like the quake port with used advanced features)

Doom64 was only one of maybe two titles tops that was running 1440P@60 FPS on the Xbox One S. I had version nuts.wad playable on the Switch's lowly 1Ghz ARM CPU, while the base game pushed 60FPS effortlessly at 1080P.

Heck we still had an OpenGL 3.2 renderer in it. The game ran on damn near anything far and beyond what it had any right to run on. Bloated it most certainly wasn't.

Edited by Edward850

Share this post


Link to post
40 minutes ago, Edward850 said:

It absolutely doesn't. BNet is just a simple https response system that says "hey I'm playing this game", then updates news. It barely does anything over the lifetime of the game, and I guarantee you it wouldn't change performance at all if it wasn't there.

It was literally just a port to newer source. There's nothing special going on.

Doom64 was only one of maybe two titles tops that was running 1440P@60 FPS on the Xbox One S. I had version nuts.wad playable on the Switch's lowly 1Ghz ARM CPU, while the base game pushed 60FPS effortlessly at 1080P.

Heck we still had an OpenGL 3.2 renderer in it. The game ran on damn near anything far and beyond what it had any right to run on. Bloated it most certainly wasn't.

i didnt play it on consoles so i cant comment on it but overall seens like you guys are doing a good job on the console side of the ports

 

but what i was talking about is the performace on pc even with the opengl 3.2 it is still way more demanding then it should be

 

this video is not the perfect comparison and im not claiming it to be but i still think it shows how much worse the remaster runs compared to ex

 

even on my machine with AA turned off it still makes my pc fan run really loud and i know im running it on legacy hardware but i still dont see much of a reason for it to run so much worse its a n64 game after all

 

of course the remaster is way better when compared to ex it is more accurate, the texture filtering is also accurate to the n64 version with from the interviews  seens like it was a pain to make, it has the extra lost levels and overall it looks better... but i still dont see any reason why it needs to be so demanding when compared to ex

 

(maybe there really is a good reason on why that is im not a programer after all nor am i claming to be one but all i can think about is that the kex engine itself is the reason for the performace)

Share this post


Link to post
38 minutes ago, omalefico32x said:

this video is not the perfect comparison and im not claiming it to be but i still think it shows how much worse the remaster runs compared to ex

That video is hardly a good comparison, and is frankly going way too slow for that hardware. For one they are running OpenGL on modern hardware, you absolutely shouldn't be, instead you should be using DirectX11 or Vulkan.

This seems odd because you'd think that because OpenGL is older, it should run faster now, right? No. OpenGL nowadays is mostly emulated by the drivers into a modern graphics pipeline, which means the more advanced feature set you use, the slower it gets. Because of our use of modern shaders and texture mapping in OpenGL3.2, the simulated pipeline has to do a lot more work. Additionally they are also running the N64 3-point filter as well, which for comparison takes up a 3rd of the Xbox's GPU time, it's not a native filter. It's fast enough, but it's not that fast and the shader still has to do a lot of work. EX did not have anything like that feature (it's not like bilinear filtering at all!) so the comparison is irrelevant.

 

36 minutes ago, omalefico32x said:

even on my machine with AA turned off it still makes my pc fan run really loud and i know im running it on legacy hardware but i still dont see much of a reason for it to run so much worse its a n64 game after all

As explained before, the real cost per frame is the N64 3-point texture filter, try turning that odd, but if that doesn't do it the problem may not be performance but rather that your laptop is not properly configured to run games at all. A game doesn't work like other programs on Windows, it's not like Word or your web browser. We busy loop the CPU between frames rather than calling standard sleep operations because the CPU scheduler may not give us time back within the expected period, so to keep the frames consistently we just loop and check the time constantly.

 

Also make sure you have vsync on and/or make sure the FPS is capped at 60. Turning that off can make the GPU and CPU go absolutely crazy trying to pump out frames you can never actually see, it would basically be telling them to work as hard as possible for no reason.

Edited by Edward850

Share this post


Link to post
1 minute ago, Edward850 said:

That video is hardly a good comparison, and is frankly going way too slow for that hardware. For one they are running OpenGL on modern hardware, you absolutely shouldn't be, instead you should be using DirectX11 or Vulkan.

This seems odd because you'd think that because OpenGL is older, it should run faster now, right? No. OpenGL nowadays is mostly emulated into a modern graphics pipeline, which means the more advanced feature set you use, the slower it gets. Because of our use of modern shaders and texture mapping in OpenGL3.2, the simulated pipeline has to do a lot more work. Additionally they are also running the N64 3-point filter as well, which takes up a 3rd of the Xbox's GPU time, it's not a native filter. It's fast enough, but it's not that fast and the shader still has to do a lot of work. EX did not have anything like that feature (it's not like bilinear filtering at all!) so the comparison is irrelevant.

i know about modern technology running faster it makes sense after all and i will admit that the reason why im not using vulkan is because my machine does not have support for it

 

and about the filter like i said i still think that the work you guys did on it is amazing considering the limitations of how it was implemented i have seen the interviews and all how it had to be done manually and all of that stuff

 

i cant comment on the console versions because i dont own any of them

 

my point with this isnt to say that the remaster should run 1:1 with the ex port my point is that theres a massive performace impact when compared to it

 

in the end of the day this is still a n64 game just ported to pc and while i know its impossible to make it run as well as the source ports i still think it could have been a lot faster then it is

 

but you know what? i dont even care about high frame rates i like to play with the interpolation turned off because of input delay on 60hz monitors (not saying this is a issue with the port this is just how doom works in general) i just want to play the game without my pc making so much noise and without it slowing everything down when i alt tab out of it

Share this post


Link to post
6 minutes ago, omalefico32x said:

my point with this isnt to say that the remaster should run 1:1 with the ex port my point is that theres a massive performace impact when compared to it

But as I explained, you aren't comparing 1:1 features. I'm not sure how else to explain this but you cannot compare performance at all with that N64 filter on, as that does not exist in EX at any capacity. That's not a free feature as costs a large chunk of GPU time.

 

You cannot compare the N64 filter to bilinear filtering, they are simply not the same thing!

Share this post


Link to post
Just now, Edward850 said:

But as I explained, you aren't comparing 1:1 features. I'm not sure how else to point this but you cannot compare performance at all with that N64 filter on, as that does no exist in EX at any capacity.

i understood your point about this and like i said that video is not a perfect comparison in any way i just intended it as a way to ilustrate what i was saying not as a definitive performace comparison to it

 

26 minutes ago, Edward850 said:

As explained before, the real cost per frame is the N64 3-point texture filter, try turning that odd, but if that doesn't do it the problem may not be performance but rather that your laptop is not properly configured to run games at all. A game doesn't work like other programs on Windows, it's not like Word or your web browser. We busy loop the CPU between frames rather than calling standard sleep operations because the CPU scheduler may not give us time back within the expected period, so to keep the frames consistently we just loop and check the time constantly.

 

Also make sure you have vsync on and/or make sure the FPS is capped at 60. Turning that off can make the GPU and CPU go absolutely crazy trying to pump out frames you can never actually see, it would basically be telling them to work as hard as possible for no reason.

im not saying it should run like word lol my point is in comparison to other games for what is a port of a n64 game i think it could run a lot better then it does

 

my computer isnt made to play games im fully aware of this fact and im not claiming otherwise nor am i saying that im having framedrops in the game in fact i can run it with a stable 60 fps or even higher then the video i showed like i said i prefer to run it with the frames capped without interpolation with vsync enabled because i want to avoid the high gpu and cpu usage when you turn them off

 

doom 64 in the end of the day is pretty low spec when compared to games coming releasing now but my point is not to compare the performace to modern games but to other ports of old games since in the end of the day doom 64 is an older title even if the pc version isnt

 

my best experience with a nightdive port is still system shock. it looks better, plays better and it doesnt demand much from computers even older ones 

Share this post


Link to post
7 minutes ago, omalefico32x said:

im not saying it should run like word lol my point is in comparison to other games for what is a port of a n64 game i think it could run a lot better then it does

Well it can't. I going to put this very bluntly: You don't seem to understand what's going on, and the complexity of what you're attempting to suggest. The N64 texture filter is something that can only be done as a shader, even in older hardware (if they even supported shaders) as it only existed inside the N64's GPU instruction set previously. You can't get it for free, there is no way to get it for free. You either have to turn it off or deal with the performance hit, there's simply no other solution. It didn't exist in EX, and cannot exist in EX with its existing renderer.

 

If you were to implement it in EX, you would have an identical performance hit. You problem is 100% self inflicted. Turn off the texture filter!

 

7 minutes ago, omalefico32x said:

my best experience with a nightdive port is still system shock. it looks better, plays better and it doesnt demand much from computers even older ones 


Because you aren't trying to use a N64 three point texture filter in it on your weak GPU. Aguiohgh

Share this post


Link to post
2 minutes ago, Edward850 said:

Well it can't. I going to put this very bluntly: You don't seem to understand what's going on, and the complexity of what you're attempting to suggest. The N64 texture filter is something that can only be done as a shader, even in older hardware (if they even supported shaders) as it only existed inside the N64's GPU instruction set previously. You can't get it for free, there is no way to get it for free. You either have to turn it off or deal with the performance hit, there's simply no other solution. It didn't exist in EX, and cannot exist in EX with its existing renderer.

 

If you to implement it in EX, you would have an identical performance hit.

like i said many times i fully understand the complexity of the technology behind the port and i know it isnt as easy to implement something like this i saw the interviews i saw kaiser talking about how this was done the complexity of it but even with it turned off i still see a big performace impact when compared to EX

 

its clear to me that we wont get anywhere with this conversation so i will stop here before the thread gets locked but i still think that the remaster is bloated and could have been optimized better

Share this post


Link to post
4 minutes ago, omalefico32x said:

i still think that the remaster is bloated and could have been optimized better

Well it isn't and it's not going to go any faster, we squeezed all the blood we possibly can from that stone. See earlier comment about us being the only other title on the Xbox One S to be 1440P @ 60FPS. I'm not sure what your problems are if allegedly turning the graphical enhancements off don't change your supposed problem, but they aren't simple things that can be addressed simply by pressing the magical "optimize" button, or likely don't have anything to do with supposed optimisation at all.

Share this post


Link to post
1 minute ago, Edward850 said:

Well it isn't and it's not going to go any faster, we squeezed all the blood we possibly can from that stone. See earlier comment about us being the only other title on the Xbox One S to be 1440P @ 60FPS.

i dont own a console and i cant really comment on it all i know is that a console run games different then how a pc does for various reasons so i dont think its fair to say the console runs well when my point was about the pc version

 

its not unheard to see a game run really well on consoles but garbage on the pc hell death loop released a while ago and lots of reviewers were talking about performace being worse on pc even on the most powerfull machines out there

 

even in the past this would happen like how the original port of dmc 3 was infamous for low performace on pc even though it runs great on the ps2

 

this happened on both sides too there are also lots of games who run ok on pc but garbage on consoles

 

all of this just to say that i have no problems on how doom 64 runs on consoles it runs great the fps is stable and it looks great too

Share this post


Link to post
7 minutes ago, omalefico32x said:

i dont own a console and i cant really comment on it all i know is that a console run games different then how a pc does for various reasons so i dont think its fair to say the console runs well when my point was about the pc version

You are thinking of the Xbox360 and PS3, consoles no longer have a "secret sauce", they are just x86-64 boxes now with ordinary GPUs. Meanwhile the Switch is a Nvidia Tegra X1 and ARM64, it's not really any different to your cellphone (just with a better cooling design). And especially not Doom64, we don't even touch the Xbox's ESRAM. Actually if anything the lack of using ESRAM means we aren't even using the maximum theocratical performance of the Xbox given how slow the DRAM is, we are using the Xbox the slow way. (A hypothetical concept, I'm not sure if Doom64 could make any use of ESRAM, it doesn't really do anything that would make sense for that kind of work flow.)

 

Like seriously, I can brute force Doom64 to 60FPS out of a software rendered implementation of Vulkan, which is insane. 

 

Apparently not even GZDoom was managing that (that's not a complaint on GZDoom, CPU rendering a hardware pipeline is insanity tier). There is literally nothing more to do here.

Share this post


Link to post
1 minute ago, Edward850 said:

You are thinking of the Xbox360 and PS3, consoles no longer have a "secret source", they are just x86-64 boxes now with ordinary GPUs. And especially not Doom64, we don't even touch the Xbox's ESRAM. Actually if anything the lack of using ESRAM means we aren't even using the maximum theocratical performance of the Xbox, we are using the Xbox the slow way. (A hypothetical concept, I'm not sure if Doom64 could make any use of ESRAM, it doesn't really do anything that would make sense for that kind of work flow.)

 

Like seriously, I can brute force Doom64 to 60FPS out of a software rendered implementation of Vulkan, which is insane. 

 

Apparently not even GZDoom was managing that (that's not a complaint on GZDoom, CPU rendering a hardware pipeline is insanity tier). There is literally nothing more to do here.

yet the system is tightly designed to run games compared to the pc with is designed to pretty much everything

 

i know the archtechture isnt radically different anymore like it was on the ps3/360 days but there is still a difference even if a small one after all consoles are still dedicated gaming machines with all their hardware and software being designed for it in one way or another

 

like i said i dont think we will reach a consensus on this and i see no point for this to keep going

 

on a side note i have to agree software rendering vulkan at 60 fps is really impressive

Share this post


Link to post
2 hours ago, omalefico32x said:

like i said i dont think we will reach a consensus on this and i see no point for this to keep going


A consensus isn't helpful if one party is actually in the wrong. Regardless, if you ever say "I will stop here" then you really should.

Share this post


Link to post
8 hours ago, Gibbon said:

I do it because it is not only a hobby but a passion.  I get paid enough from my normal job, what I do, I do purely because I love doing it.

 

I also left the games industry, keeping old games alive is important but they won't keep living if the source is locked away.  Would Doom be in the same place if all we had was the DOS executables and some reverse engineered ports?  Maybe, maybe not.  Don't get me wrong, I like what they've done, but I'll always dislike anti-consumer practices.

There’s nothing wrong with doing what you love, but there’s nothing wrong with wanting to make a living off of it either.  That’s all I was getting at.

 

And you’re not wrong about the importance of a source code release.  I very much doubt we’d all be enjoying DOOM 64 right now were it not for DOOM going open source.  (Not to mention how pro open-source the emulation scene is.)

 

I hate anti-consumer practices too but I felt like you were just trying to disparage Nightdive’s work.  Yeah, it sucks that not all of Fresh Supply’s issues were resolved, but I still think it’s worth the asking price.  You can always load the game’s files in your source port of choice afterward.  And yes, the inability to purchase One Unit, Whole Blood by itself on GoG is shitty and anti-consumer.  But you can counter that by purchasing the Fresh Supply bundle only when it’s on sale.  You’ll get the original game, the remaster, and you’ll support Nightdive.  It’s true that you’ll also support Atari, though.

 

As for the Bethesda.net sign-in, I find it annoying but not anti-consumer.  It’s optional and signing up means you can download add-ons and mods for your game as well as unlock some cosmetic items in at least one other.  That said, Bethesda’s cookie policy is totally anti-consumer because it defaults to enabling the sale of your personal information.  The menu also obfuscates the “accept my changes” button.

 

Lastly, some of my ire also came from the fact that I see a lot of discussion about playing DOOM 64 in this forum but rarely does it involve supporting the official release.  There’s also usually some kind of pretense to dance around that fact.  Which hey, I get it, there are free (albeit legally dubious) ways to play the game.  I’m not going to fault you if want to try before you buy or even if you really want to play the game and simply don’t have the money to spare.  You do you.  But please, just be honest about your intentions.

 

Rant over and to get back on topic, I would love to play DOOM 64 co-op some day.

 

Share this post


Link to post

I'd love to play it on my chromebook from the android store..  why Doom and Doom 2 are there but not Doom64 is just weird.

Share this post


Link to post

The DOOM and DOOM II ports use Unity so that may be why.  Are there any KEX engine games on mobile?

 

Also, I didn’t mean that sarcastically.  I genuinely don’t know.

Edited by KainXavier : Clarification

Share this post


Link to post
3 hours ago, Gibbon said:

I'd love to play it on my chromebook from the android store..  why Doom and Doom 2 are there but not Doom64 is just weird.

 

2 hours ago, KainXavier said:

The DOOM and DOOM II ports use Unity so that may be why.  Are there any KEX engine games on mobile?

 

Also, I didn’t mean that sarcastically.  I genuinely don’t know.

Pretty much why. Unity has a mobile target (and is in fact exactly why they used it), Kex doesn't. It's a rather complicated system for us to port to given how hostile the development environment is to native C++ and Vulkan rendering being relatively unfinished. iOS is worse using a different rendering API again and is for whatever reason impossible to develop for if you aren't using MacOS, making it basically untouchable for us.

Share this post


Link to post
1 minute ago, Edward850 said:

 

Pretty much why. Unity has a mobile target (and is in fact exactly why they used it), Kex doesn't. It's a rather complicated system for us to port to given how hostile the development environment is to native C++ and Vulkan rendering being relatively unfinished. iOS is worse using a different rendering API again and is for whatever reason impossible to develop for if you aren't using MacOS, making it basically untouchable for us.

I can relate.  I tried porting my source ports to The NDK and it is just completely hostile.  But thanks for the insight, keep it up.

Share this post


Link to post

@Gibbon If you want options, Doom64 is available on Stadia (stop laughing) and Xcloud (if you have a compatible gamepad, such as an xbox one or PS4 controller), which do work on Chromebook browsers, at least from what I'm reading.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×