Jump to content

CatacombGL - source port for the Catacomb 3D games


Arno

Recommended Posts

Thanks for your offer to check the mouse 4/5 fix. I've attached a dev build to this post which hopefully fixes it. The SDL2 library refers to those buttons as "X1" and "X2", so those are the names that should appear.

 

You're probably right that the mouse DPI has a big impact on the mouse speed. I'm unsure how to compensate for that, because the SDL2 library just gives me the pixel coordinates of the mouse cursor to track. In the documentation they've added the rationale that theoretically ten mouses could be attached to Windows, all simultaneously moving a single cursor.

In this dev build I have at least harmonized the mouse speed with and without VSync, and I also got rid of the sudden 180 flips. If the mouse moves too fast or too slow then hopefully either the mouse sensitivity setting in the game or the mouse DPI setting can compensate for that.

 

About the automatic firing, I can imagine that the frequent clicking in the game could pose a health problem for some people, which could prevent them from enjoying the game. I wouldn't be surprised if some would be willing to sacrifice gameplay elements in favor of better ergonomics.

CatacombGL-bin-0-4-0-x64-mouseX1X2.zip

Share this post


Link to post

I just tried it out, and that's pretty impressive that you got it done so quickly. I think you've got the issues fixed. I'm able to map to, and use, mouse 4 and 5 now, and they do appear as X1 and X2 in the control options menu. And I think you've fixed the sensitivity issues as well, I'm able to use all five mouse DPI settings and it seems to adjust accordingly. I can play quite comfortably with my default 1200 DPI setting and 160 in-game mouse sensitivity. In fact it feels really smooth, far better than using the 400 DPI setting like I was doing. I didn't notice any 180 flipping either, but I only played for a few minutes to test it out.

 

Turning off VSYNC however still creates quite a bit of stutter in mouse movement. It responds to DPI changes now, so at 400 DPI it's barely at a crawl like it was before on all DPI setting, and at 2000 DPI it turns quite a bit faster, but it's still stuttering. I'm wondering if that's more due to the fact that the game is running at 3000 FPS with VSYNC off. And again, there's really no reason to turn it off, framerates above 60 in a game like this doesn't matter.

 

And I agree about the auto-fire, it could be really difficult, especially if you have arthritis. Thankfully I don't have that, yet, but it could help others. Maybe it would be possible to put it in as an option. I just assumed you wanted to make this as faithful a recreation as possible, but I can see how it would be useful.

 

Once again, I'm impressed by the quick turnaround. I'll keep playing it and let you know if I find any issues with the dev build, but I think you got it. And thanks for doing that, it's nice to be able to use my index finger for fire, middle finger for zapper, and thumb for xterminator. 

 

Edit about VSYNC: It's behaving a little odd. When I first tested this build with VSYNC off, it was really janky and slow, and running at near 3000 FPS. So I wanted to check the CPU usage, so I put it in Windowed mode and brought up the task manager. As soon as I switched from fullscreen to windowed, the mouse movement was pretty much smooth, similar to what it is with VSYNC on, but with a little bit of stutter here and there. Put it in borderless, still fine, back into fullscreen, still fine. So I don't know what's going on there, it seems to be working fine with VSYNC off now; I'm not sure why it was still janky when I first tried it.

 

However VSYNC should probably be left on. Going back to checking the CPU usage, my total CPU usage was 9% with VSYNC on, as soon as it was turned off, it instantly jumped to 24-25%. The game itself goes from 2% CPU usage to 18%. So, turning it off results in about a 15 to 16% CPU usage increase with no discernible advantage. Might not be a terrible idea to just remove the option to turn off VSYNC.

Edited by Jello

Share this post


Link to post
On 1/6/2020 at 4:03 PM, Arno said:

@Master O: Rapid (automatic) fire is a nice suggestion. Although it could be considered as cheating, I think some people will appreciate it as an option when facing the red demons in the final levels of Catacomb 3D. I will add it to the todo list.

 

@Jello: thanks a lot for the kind words and constructive feedback!

The behavior of the trees is perhaps not so sophisticated as it seems. After they've spotted you, they will wait a specified amount of time before they come to life. Each individual tree has its own specific wait time, which is encoded in the adjacent tile south of the tree object. The serpent statues and hanging skeletons work in a similar fashion.

 

The mouse sensitivity is indeed not working as it should. Someone else reported via Twitter that his mouse was way too fast with vsync enabled. So this is definitly something that I will fix on short term. In hindsight, I suspect that this is also the issue that @DoomN00b was experiencing in June, but at that time I could not link it to vsync yet.

 

I had the intention of supporting the mouse 4 and mouse 5 buttons, but unfortunately I never tested this, since I only have 3-button mouses available. I just looked at the code and spotted a mistake. Hopefully the fix will be effective.

 

Thanks again for the feedback; I really appreciate it!

 

 

@Arno Normally I wouldn't suggest something like rapid fire, but with this game, pressing the button rapidly over and over again can tire out one's finger.

Share this post


Link to post
3 hours ago, Master O said:

 

@Arno Normally I wouldn't suggest something like rapid fire, but with this game, pressing the button rapidly over and over again can tire out one's finger.

I do kind of have to agree with you there. I finished the rest of Armageddon after my last post, and my finger was kind of stiff. I'm used to playing the game by clicking over and over, but there is a lot of clicking. That's why I suggested to make it an option if possible. This port is a great way to get new people playing the game; no reason to discourage them because of the constant clicking. But if it's an option, people who want to use it can, people who don't want to use it don't have to. More options is always a good thing.

 

@Arno : Just to let you know, I didn't have any issues with the mouse when I went through the rest of Armageddon. So I think you fixed it! 

 

 

Share this post


Link to post

I'm all for auto-fire if it's a toggled option. My hands get sore on a regular basis these days, but I still like to use manual fire in games that were originally designed around it when my hands allow.

Share this post


Link to post

It looks like there is definitly a demand for an auto-fire option. I will make it happen.

 

@Jello: thanks for your test efforts. Good to hear that both the two additional mouse buttons and the mouse sensitivity work fine now.

 

About VSync: I cannot explain the initial yanky behavior, but other than that your description pretty much matches how VSync should work. VSync synchronizes the refresh rate of the graphics card with the refresh rate of the monitor. This has two advantages: every individual frame is displayed on the monitor, so no resources are wasted on unused frames, plus it prevents "tearing", which means no incomplete frames get shown on the monitor. For these reasons, most players would prefer to have vsync on.

Running with VSync off basically means that the game is instructed to produce as many frames as possible. This requires more CPU and GPU resources. The main purpose of this is benchmarking. I use it a lot myself, to verify that the game performs as expected.

 

Your assumption that I wanted to make this as faithful a recreation as possible is not entirely correct. I do like the art and level design of the games. My main goal is to preserve that design, while using the higher screen resolution and improved controls to make the gameplay experience a bit smoother. The introduction of the OpenGL renderer and new movement code meant that a lot of authentic glitches and bugs from the original games are gone. I have no intention in recreating them, because in my opinion it would only distract the attention from the art and level design. I realise that this is very subjective. Others might prefer a more authentic experience. And at the other side of the spectrum there might be people who prefer 3D models and highres textures. But the current state of the source port pretty much represents how I would like to play the games.

Share this post


Link to post

Thanks for spreading the word, @Master O!

 

I've just released version 0.4.1. This includes the mouse movement and X1/X2 fixes, as well as an auto-fire option. I've tried out a few fire rates before settling on four projectiles per second. That is fast enough to prevent a single demon from hurting the player. But it is also not too fast, to prevent the player from effortlessly obliterating all attacking monsters.

Thank you all for making this release possible!

Share this post


Link to post

Great update Arno. I think the auto fire is well implemented. Especially because you can still tap the button and have extremely rapid fire. When it was first suggested I was concerned that it would be one or the other. But having having it toggled where either you simply can't have auto-fire, or where you can have it but still fire as fast as you can click is great. It's like having my cake and eating it too.

 

I've only tested it out for about an hour, and I've found it's really useful for searching for destructible walls. Shooting walls in Catacombs looking for new paths and secrets always seemed more satisfying than the wall-humping in Wolfenstein; but it does take a toll on the finger, and that's probably where most complaints come from. Some of the walls that are destructible aren't clearly defined, so you end up shooting at every wall. This helps alleviate that.

 

However, I still click away when in combat. I think the fire speed is just about right. As you said, you can kill single monsters with it very easily, especially on novice. And if someone is relying on the auto-fire, it would probably encourage them to use the special attacks in later levels. It seems slightly faster than Doom's pistol, but it's pretty comparable. I think it's probably the best compromise that can be made, and it turned out well.

 

Oh, and thanks for crediting me in the update notes. Makes me feel all warm and fuzzy.

 

As for your post from Wednesday, I agree that it's better to update it to make it playable. I always thought you were going for a faithful recreation, but it's better to just make it playable and enjoyable. Remove bugs as necessary, and just make it more accessible in general. I can't imagine how bad a jCatacombs with 3D models would look. Not to say I wouldn't like to see a new game in the series, but that's probably not likely. I think Amid Evil is probably the closest we'll get to that.

 

Again though, thanks for working on this. It's fun to play these old games again, and help you with new updates. Great to see someone take constructive feedback and put it in action so quickly.

Share this post


Link to post

I would like to report some issues with current version of Catacomb 3-D (0.4.1):

  • Magick missiles are offset to the left instead of being centered.
  • Music plays while entering a new area, rather than stopping to resume after loading is complete.
  • Still no fade-in animation when entering a level.
  • Selecting buttons make a sound, which it doesn't in the original.
  • Using doors to open keys triggers a sign saying "You use a (colour) key", which it doesn't in the original.

 

Lastly, I would like to request a Linux port for release sometime later.

 

Other than that, this is a great source port!

Edited by Dinoaur

Share this post


Link to post

@Jello: thanks again for the feedback; good to know that the auto-fire works well for you.

 

A new game in the Catacomb series would be interesting to see. I know that there are some developments happening in the
Catacomb series. In 2017 the series and their intellectual property were acquired by this guy. He published an official website and is behind the scenes working on improving and extending the games. I'm sure we'll hear more from him in the future.

 

I love constructive feedback! It's simply not feasible for me to detect every bug and opportunity all by myself, so I'm quite happy with the support that is shown here. Plus, it's a great excuse to have some fun discussions on old games.

 

@Dinoaur: thanks a lot, that's a great first post with some good findings! I will make sure the reported issues get fixed.


Until now I've intentionally postponed the implementation of the pixelated fade-in animation. It does not impact gameplay and I suspect that it will take some effort to get the effect properly translated to OpenGL. But now that all four games are in a playable state, soon the time will come for such features to get some attention.

Support for Linux is on my own wishlist as well. At this moment I have zero experience with Linux, but I'm interested in learning the basics. Those are really long term plans, though. On the short term there are still bugs to fix and small features and improvements to add.

Share this post


Link to post
  • 2 weeks later...

@ArnoSaw you made an entry on regular Catacombs on the Wiki, and i added your GL work on it.

 

To celebrate the work, it is in a write up at Realm 667, to be released soon. How soon? Well, somewhere in this month ;)

Share this post


Link to post
4 hours ago, Redneckerz said:

@ArnoSaw you made an entry on regular Catacombs on the Wiki, and i added your GL work on it.

 

To celebrate the work, it is in a write up at Realm 667, to be released soon. How soon? Well, somewhere in this month ;)

 

(With apologies to the movie Spaceballs):

 

"I want you to catacomb every inch of this desert."

 

"We're catacombing every inch of the desert, sir!"

Edited by Master O

Share this post


Link to post

@Blake00: You're welcome!

 

@Redneckerz: I saw the Wolfenstein 3D entry on the doomwiki. I like how it presents the game as a stepping stone towards the Doom engine games. I wanted to give Catacomb 3D the same wiki treatment. Thanks for adding the CatacombGL info.

I'm looking forward to the Realm 667 coverage!

 

@Master O: Nice, I'm actually a big fan of that movie. :)

Share this post


Link to post
2 hours ago, Arno said:

@Blake00: You're welcome!

 

@Redneckerz: I saw the Wolfenstein 3D entry on the doomwiki. I like how it presents the game as a stepping stone towards the Doom engine games. I wanted to give Catacomb 3D the same wiki treatment. Thanks for adding the CatacombGL info.

I'm looking forward to the Realm 667 coverage!

 

@Master O: Nice, I'm actually a big fan of that movie. :)

It should be up in a few days :)

Share this post


Link to post
  • 2 weeks later...
6 hours ago, taufan99 said:

Has the Realm667 coverage been out yet?

Look for the February 12 entry that starts with "Ancient History", scroll a little bit down below.

Share this post


Link to post

I've just released version 0.4.2.

This release fixes all the issues that were reported by @Dinoaur. Well, except for Linux support. But I did manage to replicate the fizzle fade effect with OpenGL.

I also had to fix the aspect ratio of the 3D view. Now it should be in line with how the game was displayed on original 4:3 monitors.

 

@Redneckerz: I saw the news post on Realm667 last week. Nice, thank you!

Share this post


Link to post

Hey Arno, really awesome work so far! I'm loving every bit of this, I think it's a wonderful idea. I thankfully haven't ran into any issues with playing so far, and I love how you're enhancing the games, rather than trying to strive for 1:1 accuracy with the engine. I'm finally playing through the Catacomb games after all these years. The modern control scheme options and renderer make it so much more playable to me.

 

Quick question, after you get past the beta (which I know will certainly take a while), have you ever considered porting Hovertank 3D? I know it's incredibly simple and primitive, and not many people would care to have it. But I think it would be cool to just have some minor improvements to make the experience that much nicer. I know it's beyond the scope of this project right now, but it's the only early FPS that early id made that hasn't been touched basically since it's release. Just thought I'd mention it. I totally understand if you don't have an interest in it, and I also know how long it can take to finish a project like this.

 

Anyway, keep up the good work! It's awesome to see someone with an interest in the early id catalog go back and enhance these games.

Edited by Gamezguy71
Grammatical changes.

Share this post


Link to post

@Dinoaur: great, thanks for the confirmation!

 

@Gamezguy71: thanks for all the kind words, and welcome to Doomworld! I very much appreciate all the support and feedback that I've received so far from various gamers, as it helped shape the source port in ways that I could not have done all by myself.

 

About Hovertank 3D: the short answer is that I have considered to port it, but there are no concrete plans yet.
I agree, the potential is there. It would fill a gap when Hovertank 3D gets added. The graphics are indeed primitive, but I do like the EGA artwork from Adrian Carmack. Plus, there are two mods available for the game (Demon hunter and Robot Redemption). On the downside, the Hovertank 3D files are not easily available on sites like GOG or Steam, but only on abandonware sites. I know who owns the IP, but I haven't asked him yet about his plans.
So yeah, Hovertank 3D is definitly an interesting idea. But currently the focus is still very much on version 1.0.

Edited by Arno

Share this post


Link to post

@Arno I have found some more bugs (or differences from DOS) in version 0.4.2 of CatacombGL, which all relate to Catacomb 3-D only:

  • Melee enemies attack even if they are too far away to hit you, whereas in DOS, they attack only when they are very close.
  • The fizzle fade effect doesn't activate at the title screen, which it does in DOS.
  • The wizard's hand keeps bopping as he shoots magick missiles, whereas in DOS, it stays in place for as long as missiles are fired, then lowers.
  • Upon pressing enter at the title screen, you are sent directly to the main menu, whereas in DOS, a prompt appears, saying "LOADING CONTROL PANEL", sending you to the main menu afterwards.
Edited by Dinoaur

Share this post


Link to post

@Dinoaur Thanks again for the thorough Quality Assurance!

The melee enemies attacking randomly from a distance is another case where I've put a feature from the Adventure series accidently into Catacomb 3D. Oops!

I will have these bugs fixed in the next release.

 

Share this post


Link to post
  • 1 month later...

I've just released version 0.4.3.

This should fix the issues that were reported by @Dinoaur. The "Loading Control Panel" was a nice suggestion. On today's hardware the control panel loads instantly, but just to make it look more like the original, I added a fake progress bar with a short animation.

 

@InDOOMnesia: I hope this release is playable on your laptop. It can run on OpenGL 2.x hardware. I've tested this on an NVIDIA GeForce 7600 GS from 2006. I got around 500 frames/sec @ 1280x1024 with that graphics card. Theoretically, your laptop is roughly ten times slower. Hopefully in practice that will still bring a playable frame rate.

Share this post


Link to post

@Master O, yes, OpenGL 2.x is the minimum required.

The renderer itself is all written in OpenGL 1.x, so *maybe* it runs on OpenGL 1.x hardware. But I don't have such hardware myself, so I cannot test or support that properly. Furthermore, most OpenGL 1.x hardware is from the Windows XP era, and I don't want to encourage gamers to stick to Windows XP.

 

Share this post


Link to post

Great update, @Arno! It fixes everyting I listed.

Here's a few things that would be nice for a future version:

  • Alt-button strafe function like in DOS.
  • A low-res mode similar to the old 320x200 resolution of the DOS originals, with widescreen support.
  • Maybe the reimplementation of the old fart sounds from sliding on walls?

 

Edited by Dinoaur

Share this post


Link to post

Thanks for the great feedback, @Dinoaur, I really appreciate it!

 

The alt-button strafe and the old fart sound shouldn't be too hard to implement. Simulating the low resolution of the original could be a neat feature, but for now goes beyond the initial goal of making the games more accessible. That reminds me that Github can keep track of feature suggestions. I should probably start using that to get an overview of all the possibilities after version 1.0.

So if other ideas popup, just let me know!

Share this post


Link to post

@Arno  Speaking of ideas, on https://github.com/ArnoAnsems/CatacombGL

you mentioned the following limitations in readme.md:

 

Quote

Current limitations as of version 0.4.3:


No support for game controllers.

No backwards compatibility with saved games from the original DOS game.

No "demo" functionality (preview slideshow of Catacomb Armageddon and Apocalypse in shareware version).

 

 

Those are probably the next issues to address.  You also previously mentioned the addition of a console menu as well.

 

Edited by Master O

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...