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

OptiDoom, my Doom port for 3DO.

Recommended Posts

Wow nice, even though I don't have the means to try this out. It's just nice to see when consoles get the Doom port they truely deserve. Would love to see an improved Sega Saturn Port as well. :p

Share this post


Link to post

Minor proofreading:

Quote

basically in rare occasions sprites dissapear and reappear when the particles are spawned

Should be disappear, with one s and two p.

 

I don't have a 3DO so that's about all the feedback I can give, but that's an interesting project nonetheless.

Share this post


Link to post
On 12/11/2018 at 12:35 AM, taufan99 said:

Looks nice! Though I sorta find the process to run the port complicated.

 

I might consider releasing the ISO at some point (although not sure I can announce new releases at forums if it's full ISO and sounds like promoting piracy). I was conflicted when I took the decision because I thought it was more correct to release the way it's now, while at the same time reduces the exposure while few might suggest me "but the 3DO Doom is Abandonware". Also, one good thing with letting users learn how to extract CD contents, they can mod few stuff (just sound/music at the time, I think of trying a test with replacing with PSX sound effects, they are just AIFF) and that gives me idea to promote modding (allow people to throw into the CD new folders for mods, which I will try to read and load those resources instead of the original). The rest are in a big REZ file, but I wouldn't want users to have to extract that file (I have some tools to extract and write back REZ file, someone gave me from the 3DO community, maybe gotten from Rebecca, but it's too messy to work with these tools right now).

Share this post


Link to post
23 minutes ago, Optimus said:

 

I might consider releasing the ISO at some point (although not sure I can announce new releases at forums if it's full ISO and sounds like promoting piracy). I was conflicted when I took the decision because I thought it was more correct to release the way it's now, while at the same time reduces the exposure while few might suggest me "but the 3DO Doom is Abandonware".

You could release some sort of IPS or XDelta patch against the original ISO instead. This way a user still needs to have a copy of the game that they've ripped, while protecting you legally since you're not actually releasing a modded ISO - just a pattern of bytes to be patched against a good ripped copy of the game in certain places.

 

Still won't exactly prevent piracy, but it's about the cleanest way to do it.

Share this post


Link to post
1 hour ago, Dark Pulse said:

You could release some sort of IPS or XDelta patch against the original ISO instead. This way a user still needs to have a copy of the game that they've ripped, while protecting you legally since you're not actually releasing a modded ISO - just a pattern of bytes to be patched against a good ripped copy of the game in certain places.

 

Still won't exactly prevent piracy, but it's about the cleanest way to do it.


Indeed that seems to be what the rom hacking community has made a consensus on. Works great for Super Metroid and Goldeneye hacks.

Share this post


Link to post

Yes. The only downside is that it would have to be against a known, good dump - checksum to dump against and all, otherwise, the bytes won't match up and stuff could get messy.

 

Either that or you just make multiple patches for multiple dumps.

Share this post


Link to post

Thanks, I didn't know about these tools, I will propose them if they are used frequently by the ROM hacking communities, I am wondering how well they compress the differences, making a compare between produced ISO and original has too much differences. I thought at some point to hack some code to do it myself, replace the byte differences, but maybe that's not so easy if there are too many differences are better methods and tools to already do that.

Share this post


Link to post
1 hour ago, Optimus said:

Thanks, I didn't know about these tools, I will propose them if they are used frequently by the ROM hacking communities, I am wondering how well they compress the differences, making a compare between produced ISO and original has too much differences. I thought at some point to hack some code to do it myself, replace the byte differences, but maybe that's not so easy if there are too many differences are better methods and tools to already do that.

Depends on the way the patcher patches stuff, but generally speaking patchers work by taking two files - an original to refer against, and the modified file, and it then creates a file that is just the differences between the two. This file is then what is distributed to the end user, and they, in turn, apply the patch file to a copy of the original file - and thus, your patch is distributed without you needing to provide a hacked ISO or whatever.

 

How big it is depends on both the extent of your changes and the original size of the media. Since we're talking a CD, theoretically the biggest a patch could be would be several hundred MB. In practice, though, much of the 3DO version's content is presumably untouched (like the music, for example), and anything that's identical in both files will thus be skipped outright.

 

From there a compression tool (like RAR or 7Zip) can probably squeeze a little more space down.

 

As a loose guess, I'd say you'd be looking at maybe 50-100 MB before some further compression via RAR or 7Zip, but without both a copy of 3DO Doom and a copy of your modified ISO, I couldn't say for sure. At a bare minimum I'd need to know dump sizes for the two versions, and even then, it's just a guess.

Share this post


Link to post
5 hours ago, Dark Pulse said:

Yes. The only downside is that it would have to be against a known, good dump - checksum to dump against and all, otherwise, the bytes won't match up and stuff could get messy.

 

Either that or you just make multiple patches for multiple dumps.

Finding goods dumps is insanely easy nowadays, especially with sites  like archive.org hosting most of the ReDump series. But still, up to you!

Share this post


Link to post
4 hours ago, DuCT said:

Finding goods dumps is insanely easy nowadays [...]

Based on that, a BIN/CUE dump of 3DO Doom is about 230 Megabytes, with the BIN having the following hashes:

  • CRC32: c238cd13
  • MD5: 58bd8257d9c1a759923195439245e01e
  • SHA1: e46733bb1401671ed76ca64894cd55b2098a57fa

I then followed through his steps, generated the OptiDoom ISO using it, and played it in an emulator to be fairly sure it worked properly.

 

I then used XDeltaUI to generate a XDelta patch.

 

End result? OptiDoomPatchBIN.xdelta, 2.57 MB. Not quite as small as his zip that contained the programs for how to do it, but much less guesswork for an end-user.

 

All the user has to do to "install" it is to take the 3DO Doom BIN, fire up XDeltaUI, tell it where the patch is, give it the source BIN to apply it to, and tell it where to spit the output to. Voila, no more end-user having to mess with tools or commandlines or batchfiles - just apply the XDelta patch, save the output as OptiDoom.iso, and you're all set!

 

Mind you, for this to work, the BIN must match those hashes exactly. Anything else - like a BIN converted to an ISO, or some other exotic rip format - won't work, you'd need to generate the new patch against that.

 

So I did that as well, converting the BIN to an ISO via WinBin2ISO, which spit out an ISO with the following hashes:

  • CRC32: 25e57d18
  • MD5: b4d6c959aa53b6e5a8bb4d02791f4761
  • SHA1: 63f622760ef6bd0f4bc8ad230d6866e55614f248

A patch against that BIN converted to ISO is even smaller - 2.20 MB. Like with the BIN version above, as long as your ISO matches those hashes, use the ISO version of the patch, and you're all set.

 

Of course, it's also only good against the USA versions, as that's what that place has. According to The Cutting Room Floor, there IS a Japanese release of 3DO Doom, against which a patch created off the US version would be useless unless the Japanese version of 3DO Doom was 100% identical (to the byte) to the US version. Without a dump of that, we can't be sure.

OptiDoomPatchBIN.7z

OptiDoomPatchISO.7z

Edited by Dark Pulse : Might as well attach them.

Share this post


Link to post

Wow, thanks!

 

I'll upload these on my site soon enough.

 

Thankfully there are not many dumps of Doom 3DO out there, at most places it's only a USA version as BIN, but also a redump ISO at another place. I couldn't even find the Japanese version.

Share this post


Link to post
16 minutes ago, -TDRR- said:

Is it easy to make maps for this? 3DO Doom 2 sounds nice.

 

Another 3DO coder was working on this, at least trying to port extra code, monsters, resources from Doom 2.

https://www.youtube.com/user/VersusVeEs/videos

He got into some trouble because of memory problems.

 

Some of them are half finished, there is a video with Doom 2 MAP01 but most textures missing (I think convert Doom 2 maps to Doom 1 maps and then trying to retexture by only using the equivalent texture resources from Doom 3DO would kinda work too). Not sure if everything from the new resources can fit in limited 3DO memory for a Doom 2 remake (and later maps would be more horendous to the speed. I am more focused on improving Doom 1 for now)

Share this post


Link to post
34 minutes ago, Optimus said:

Some of them are half finished, there is a video with Doom 2 MAP01 but most textures missing (I think convert Doom 2 maps to Doom 1 maps and then trying to retexture by only using the equivalent texture resources from Doom 3DO would kinda work too). Not sure if everything from the new resources can fit in limited 3DO memory for a Doom 2 remake (and later maps would be more horendous to the speed. I am more focused on improving Doom 1 for now)

It doesn't have to be 100% like Doom 2 of course, but like 32x Doom 2 or Jaguar Doom 2 would be nice too. May get around to doing MAP01 to MAP07 some time.

EDIT: Like this

 

Share this post


Link to post
8 hours ago, Optimus said:

Wow, thanks!

 

I'll upload these on my site soon enough.

 

Thankfully there are not many dumps of Doom 3DO out there, at most places it's only a USA version as BIN, but also a redump ISO at another place. I couldn't even find the Japanese version.

As long as that ISO matches the hashes that I said above, the ISO version patch I attached in my post will work.

 

I use a little program called HashCalc to check hashes on stuff.

 

The Japanese version is an unknown unless someone finds it and dumps it though. So you will either have to make sure the end-user checks their files, or if you want to get a little more fancy (or integrate this all into some program you run), you'll want to code it to check the hashes and refuse to patch anything that doesn't match them up.

Share this post


Link to post
1 hour ago, -TDRR- said:

It doesn't have to be 100% like Doom 2 of course, but like 32x Doom 2 or Jaguar Doom 2 would be nice too. May get around to doing MAP01 to MAP07 some time.

 

 

Yes, some of the earlier maps could easily be redone, even the later maps could be split in half if necessary.

I am surprised to see there is interest in making maps on 32x Doom and how much smoother the 32x version moves (unless I am looking at overclocked emulator, but even in the original system I remember it was smoother and more playable).

Share this post


Link to post
Posted (edited)

Second version is out!

 

http://bugothecat.net/releases/3DO/optidoom/optidoom_main.html

 

Mostly fiddled with the rendering engine, very small improvements still, it's an uphill battle that is very slow to improve but interesting at least.

 

Have a new wall render replacing the wall columns with quad polygons using the CEL engine (the original would still use the CEL engine but every quad polygon would be an individual column with 1 pixel width) trying to only subdivide a wall segment where the texture repeats/tiles at X and Y. Sometimes the frame rate is the same as the original, sometimes I might win 1 or 2 fps, few times it's 3-5 or more fps but only when framerate is already about 15, so the very slow single digit fps cases are still a pain. New rendering modes for full unshaded flat and gimmicky wireframe rendering (you can also see the overdrawing on the original 3DO engine, I realized it does render the walls back to front and there is a fair amount of overdrawing sometimes, while if I am not mistaken on PC doom was front to back with zero overdrawing). There is a mod for PSX sounds too. And improved blood particles.

 

I haven't made xdelta patches this time yet (maybe I will soon). But the process with the 3DO tools is quite different and much easier. I found some alternative command line tools and all one needs is to throw the commercial ISO as doom.iso in a folder and run the batch file, if things are correct then optidoom.iso will come out. I even did something similar on the github project for anyone who wants to try (but they would also need the ARM SDT and 3DO SDK which I will make a tutorial in the future how to setup for 3DO dev), previous not providing the data files at all on the project, but now they can throw the CD iso and it will be extracted, so that the whole port can be build back after compiling and encrypting back to iso with the new executable and additional files.

 

 

 

Share this post


Link to post
On 8/8/2019 at 8:55 PM, LadyVader1138 said:

Has anyone sent this to "Burger" Becky herself yet?

 

I have been only briefly talking with Becky through youtube back when I was working with the first version, haven't talked through email or other means. Maybe I should find her email and send her a link, but maybe she knows.

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

×