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

Freelook/Jumping in Doom Games

Recommended Posts

Hello there, Doomworld.

A couple of days ago I was playing Hell to Pay and Hacx, and I was trying to figure out if freelook and/or jumping is "allowed". I found this:

-Jumping is allowed in Hexen and Strife, but not in Heretic or Doom.
-Freelook is allowed in Heretic, Hexen and Strife, but not in Doom.

Now, I know that Perdition's Gate was like vanilla Doom - it didn't allow freelook nor jumping; but I don't know about Hell to Pay. It seems like a more "advanced" mod (even if some of us don't really like it), but I have no reason to think it allows any of those two features. About Hacx, I found a thread in the ZDoom forums (I think it was a thread about Hacx v2.0 or something like that) where it was implied that the original Hacx (v1.2) didn't allow jumping, but it says nothing about freelook.

Anyone has info on this?

Thanks in advance, and good day.

Share this post


Link to post

The original Doom, Chex Quest and Heretic didn't support jumping, thus anything made for those games wasn't designed with jumping in mind (i.e Hacx, Hell to Pay etc).

The original Doom and Chex Quest didn't support freelook, so anything made for them wasn't designed with such in mind (i.e again Hacx, Hell to Pay etc).

Many Doom source ports added freelook to Doom and Chex Quest and added jumping to Doom, Chex Quest and Heretic; thus mods specifically made for such source ports might require them (one would have to check the readme I suppose).

Also bear in mind that there is no uniformity between jumping in various source ports; in some ports, one can jump notably higher or quicker repeatedly, than other ports.

Hacx 1.2 is simply a version of original Hacx setup to run without requiring Doom, thus it remains designed without jumping or freelook in mind.

Hacx 2.0 is a fan mod and thus it may well require these features when it is done (it will be up to it's creators).

Share this post


Link to post
Zed said:

Now, I know that Perdition's Gate was like vanilla Doom - it didn't allow freelook nor jumping; but I don't know about Hell to Pay. It seems like a more "advanced" mod (even if some of us don't really like it), but I have no reason to think it allows any of those two features.


I don't understand your question. Hell2Pay and Perdition's Gate are both vanilla mods. They didn't have the ability to allow jumping or freelook, because the Doom code just didn't have that feature. At best you might say that some later mods made since the dawn of source ports might be designed with the knowledge that some players might be using ports with those features. But for old, vanilla mods - nope.

As for Doom itself, the key factor for me is the Icon of Sin - the entire challenge of Doom II's final boss originates from the fact that it is impossible to aim downwards.

Share this post


Link to post

You're right, let me try again.

I know that both Perdition's Gate and Hell to Pay are made for vanilla Doom, but I always thought in HTP as a more "advanced" add-on (e.g., those rockets taking off in MAP01), so I assumed it could maybe have implemented at least freelook. Besides, it came out after Heretic, which already made use of it. The fact that there's so little info about it added to my confusion, and the same could be said about Hacx, I think. The only relevant info I could find was the ZDoom forum's thread I mentioned earlier, where it was implied that Hacx 1.2 didn't feature jumping, but I couldn't find absolutely anything about freelook.

So, to resume:

Doom, Hacx, HTP, Chex: no freelook, no jumping
Heretic: freelook, no jumping
Hexen, Strife: freelook & jumping

Is that correct?

Share this post


Link to post

Yes, that's correct.

There is no code for jumping in doom2.exe, which Hell to Pay used, and there is no way to add it just by loading a WAD file. All "advanced" stuff in HTP maps is just a clever use of vanilla triggers/etc, like these rockets are just middle textures moving up together with the invisible ceiling IIRC. (I hope this explanation doesn't ruin the effect for you :-)

Share this post


Link to post

Last night, I played HexenDD, the 1st level I used jump(since it's allowed)to reach the room that needs a key to activate the switch that opens the gate to the next level...yep i skipped the whole level.

Share this post


Link to post

Jumping in Doom just feels like cheating to me, especially when you can do things like jumping to exit doors instead of raising bridges, etcetera.

I especially hate when it's used in gameplay videos - there's a Nuts.WAD video on YouTube where the person just hops on the heads of the monsters, making the level (especially the Cyber room) eons easier.

Share this post


Link to post
Zed said:

You're right, let me try again.

I know that both Perdition's Gate and Hell to Pay are made for vanilla Doom, but I always thought in HTP as a more "advanced" add-on (e.g., those rockets taking off in MAP01), so I assumed it could maybe have implemented at least freelook.

Besides, it came out after Heretic, which already made use of it. The fact that there's so little info about it added to my confusion, and the same could be said about Hacx, I think. The only relevant info I could find was the ZDoom forum's thread I mentioned earlier, where it was implied that Hacx 1.2 didn't feature jumping, but I couldn't find absolutely anything about freelook.

You seem to be really confused about this, so I'll explain from first principles. Apologies if any of the following seems at all condescending - I just want to explain carefully so that you properly understand.

When programmers write a game engine, they do it by editing source code. This is a bunch of text files in a syntax that's sort of like a mathematical notation. You can see Doom's released source code here for example. We use a special program called a compiler to translate these source files into programs that the computer can understand - under DOS or Windows these have .exe extensions. But going the other way (from a compiled program back to source code) is incredibly difficult. Modifying a compiled .exe is pretty much (though not completely) impossible.

When Doom was first released, all we had were the .exe files containing the compiled code. And that code didn't support jumping or mouselook. It had features that let fans make their own mods (the -file command line parameter) but the DOS .exes were very restrictive. As a single example, it was impossible to put replacement sprites in WAD files. The levels you could make were also limited because there were some quite restrictive limits in the engine.

In order to add something like jumping or the ability to look up and down, you'd need to modify the behavior of Doom itself - it's not like making a new level or changing a texture. You'd need the source code so that a programmer could make the change and compile a new .exe. Doom's spinoffs - Heretic, Hexen and Strife - added features like these because they were made by companies who licensed the Doom engine for their games. They had the source code and were free to make any changes they wanted. And even though Heretic "had the code" to look up/down, you can't just "transplant" that into Doom. Doesn't work that way.

By contrast, mods like Hell2Pay and Perdition's Gate were made by fans who didn't have the source code. In fact, the Doom license explicitly says that you're not supposed to sell mods, but they did anyway. Personally I don't think they did anything wrong or illegal by doing so, but the point is that what changes they were able to make were much more limited than the changes that, for example, Raven made when they made Hexen. In 1997 id released the source code and now we have a vast assortment of different source ports that add all kinds of features that, back then, would have been impossible to add.

There's one notable exception to the "can't modify compiled .exes" rule I mentioned above: Dehacked. People figured out that the Doom .exes contained tables of data that control things like monster behavior and the in-game weapons. Changing these is pretty easy because they're just tables of data rather than actual code. Dehacked allowed modders to bend the rules somewhat and make some pretty impressive works using only the DOS engine (Batman Doom is a good example). But even then there are still limits.

Share this post


Link to post
Memfis said:

All "advanced" stuff in HTP maps is just a clever use of vanilla triggers/etc, like these rockets are just middle textures moving up together with the invisible ceiling IIRC. (I hope this explanation doesn't ruin the effect for you :-)


Oh, OK. I suspected it was something like that, but I wasn't sure. But anyway, it looks pretty cool.

fraggle said:

You seem to be really confused about this, so I'll explain from first principles. Apologies if any of the following seems at all condescending - I just want to explain carefully so that you properly understand.


Yeah, looking at your explanation, it seems I was understanding it all upside down. I think I get it now.

Thanks everyone for your answers, it was certainly more than what I expected.

Share this post


Link to post
fraggle said:

... Modifying a compiled .exe is pretty much (though not completely) impossible ...

My only objection. Not only is it possible, it's quite removed from "impossible". It does however require good knowledge of the executable file format. In order for us to reprogram portions of the press release EXE without having to constantly get around the problem of relocations, for example, xttl figured out the format of the relocation table in the linear executable header, and how to add or remove entries from it. It's also of course possible to modify the image's page table to give yourself more room for new code when you need it.

One thing I won't pretend that it is, is fun. :P

Share this post


Link to post
Quasar said:

press release EXE

Has anything come of that project? Where could I find the beta recreation of E1M1 that was intended for it? And did you find any interesting differences, besides what's already commonly known and that it already had the sound library in there? Like if any of the boss levels had their special behavior yet (tag 666 floors lowering, infinite sound propagation, etc), if the Spider and Cyber demons had any code yet, any ending text (pretty sure it wasn't in there yet), or anything else that involves the full game beyond the small sample of content that the press was granted.

Share this post


Link to post

I think I recall a that a very hackish way of "jumping" on command in vanilla Doom exists: through DEHACKED, the player is practically self-attacked by an archvile's attack, the only way to gain upwards vertical momentum in Doom. The problem was that doing so hurt yourself, and the effect wasn't very controllable. Can't remember where I first saw this, though.

Share this post


Link to post
Maes said:

I think I recall a that a very hackish way of "jumping" on command in vanilla Doom exists: through DEHACKED


Ah yes, I remember that mod. It was some sort of realistic mod that had several advanced dehacked based hacks.

But unfortunately, I can't remember the name now.

Share this post


Link to post
Quasar said:

My only objection. Not only is it possible, it's quite removed from "impossible". It does however require good knowledge of the executable file format.

That's why I said it's not entirely impossible. Realistically such things are only plausible because we now have good tools and we've had years to reverse engineer the original .exes. Having the source code helps a lot too.

I was trying to give a lay explanation that would make sense to a non-programmer. When the source code is available, changing the game's behavior becomes several orders of magnitude easier.

Share this post


Link to post
Doominator2 said:

kinda of off topic but what was the first shooter to have free look?


The Hidden Below is the oldest FPS I am aware of, to feature looking up and down.

The Hidden Below (PC): August 1994
Marathon (Mac): December 21 1994
Heretic (PC): December 23 1994


Whether Descent 'counts' (i.e whether it can be considered an 'fps') is open to debate.

According to Wikipedia, Descent Shareware came out in December 1994, with the full version coming out a few months later. But that might a poorly worded reference specifically about the U.S release.

Share this post


Link to post
Vermil said:

The Hidden Below (PC): August 1994
Marathon (Mac): December 21 1994
Heretic (PC): December 23 1994

It's also worth mentioning that System Shock initially came out in September of '94. While didn't have "mouse look" in the modern day sense, it was probably the first game to let you do anything from looking up and down, jumping, crouching, crawling, leaning, and even performing a Call of Duty-esque "climb" on valid textures and geometry.

Share this post


Link to post

Actually, Ultima Underworld allowed you to look up & down in 1992 already, as did pretty much all 3D games with polygon or wiremesh engines until that day.

Doom's (and Wolf3D's) inability to freelook "properly" is largely due to the fact that their engine does not use texture-mapped polygons at all, and so the possibility of applying any proper geometric transforms goes out of the window. You are not rotating a mesh of 3D polygons when you "freelook" in Heretic or ZDoom, you're merely distorting and panning the view window.

Share this post


Link to post
Sodaholic said:

Has anything come of that project? Where could I find the beta recreation of E1M1 that was intended for it? And did you find any interesting differences, besides what's already commonly known and that it already had the sound library in there? Like if any of the boss levels had their special behavior yet (tag 666 floors lowering, infinite sound propagation, etc), if the Spider and Cyber demons had any code yet, any ending text (pretty sure it wasn't in there yet), or anything else that involves the full game beyond the small sample of content that the press was granted.

Stalled out unfortunately. I haven't been able to get in contact with xttl for a long time.

The press release engine is massively different. Here are a few of the differences:

  • mobj_t had not yet crystallized as a single type. Instead there are multiple different structures, each with their own T_* thinker routine, which serve as different types of actors, very similar to Wolf3D. A thing can be a static (like a clip), a monster, or a projectile.
  • Floors are not drawn using visplanes. A similar but different system is used which generates various intermediate primitives which no longer exist by the v0.99 release EXE.
  • 2S line drawing is not finished. The code literally looks like Carmack was stopped in the middle of working on it in order for the PR exe to be compiled. The drawsegs system is going in but none of the sorting and some of the clipping doesn't work. Amazingly, as late as the "Visit to id Software" video, which post-dated the press release beta, there were still visible glitches in this algorithm that Carmack had not fixed yet.
  • There is massive use of floating point math throughout the engine, which is mentioned in the README with the PR beta, and *claims* it will all be removed by release time. However, parts of it were still present as late as v1.1.
  • Like v1.1, player movement physics are completely different.
  • Sound and music are present and were only disabled in the PR exe because they were in a state that would have given reviewers a bad impression. For example, player sounds are played by the status bar, and not an actual player object. Monster sounds do not update once played; they stay at the volume and panning they initially activated with.
  • Screen sizes are implemented and mostly work, except for the largest size - a typo in Carmack's code causes a segv if you go fullscreen (xttl and I were able to fix this by hacking the opcodes).
  • There's no intermission of any sort yet. No finales or level texts. Dave Taylor must have been coding like an absolute mad man.
  • Most linedef types are not finalized, and the ones that exist are massively buggy, as can be observed even in just the three included levels. Many haven't even been started on yet and are no-ops.
  • Only skills 1-3 exist. Setting skill 0 doesn't work as it does in the final EXE; instead you spawn at (0,0) stuck into the floor, and the game crashes if you try to move.
  • The entire menu system from the 0.5 beta is still present; most of it was just disabled for the PR release by changing the pointers in the main menu to point to a temp menu designed just for it.
  • Some of the code is still present for drawing the earlier beta's 3D title screen. It was a full perspective projected polygon renderer, limited to drawing a single plane.
I am not aware of whether or not the Cyber or Spider had been coded yet. I can't remember if their functions were listed in the debug data (yes, the PR beta EXE has a full watcom debugging symbol table in it, making it SO easy to reverse!)

Share this post


Link to post
Vermil said:

Whether Descent 'counts' (i.e whether it can be considered an 'fps') is open to debate.


First Person Shooter.

Well, let's see... you fly your ship in the first person... and you shoot enemy robots.

Not much to debate about.

Share this post


Link to post
Quasar said:

Stalled out unfortunately. I haven't been able to get in contact with xttl for a long time.

Damn, that sucks. I could try my own version, but the poor video quality of the Visit to id Software footage makes it difficult to make out the details of the pre-computer room at the horseshoe bend. What left is there to be done? I'm willing to help map for it.

Quasar said:

Like v1.1, player movement physics are completely different.

Huh, didn't know that. How did it differ from later versions? Also, is my assumption that 0.5 moves the player half of final speed and 0.4 a quarter at 70 tics (thus making it like 0.5 but tighter) correct?

I wonder if they ever intended for players to jump down early on. I know that players had more monster-like collision in the alpha, and that the player would get stuck at dropoffs. The level design was generally flatter too, especially since the project was still in "Wolfenstein mode" at that point.

The early maps made some dropoffs impassible, but I can only speculate why. I think this could be a workaround for an earlier build that allowed you to freely climb any dropoff (the 0.4 readme mentions this) that the "new" blocking dropoffs feature accounted for automatically.

If they did intend from the beginning to allow you to fall, I wonder if id would have chosen a rate of gravity proportional to the slower player speed (think of MAP02). Perhaps they didn't even consider jumping gaps and it didn't matter how fast you fell since it was a one way ticket with no vertically branching path in the less creative spaces.

Quasar said:

I am not aware of whether or not the Cyber or Spider had been coded yet. I can't remember if their functions were listed in the debug data (yes, the PR beta EXE has a full watcom debugging symbol table in it, making it SO easy to reverse!)

A table of their states would be interesting. Is it just me, or are the monster death animations playing back with different state durations? I wonder if there are any hidden gems in the earlier executables.

Share this post


Link to post
Giomancer said:

Well, let's see... you fly your ship in the first person... and you shoot enemy robots.


This would put a lot of older military aircraft/vehicle simulators in the FPS category, as well, as well as many driving games. The difference is that in a vehicle, well, you're not technically "in first person", in the grunt's clothes, so to speak, but in a driver's/operator's/commander's seat of sorts.

Strangely, the concept of the player actually being in a human being's/soldier's clothes and directly operating weapons/tools/hands was not as widely adopted until the 90s, and there are far less examples of such "first person" games (if you also add the requirement of using a 3D engine, and not e.g. Dungeon Master-like visuals).

Share this post


Link to post

Descent always felt more like a shooter than like a simulator to me. Too arcade, too focused on shooting, maneuvering, and navigating instead of driving, and I'm pretty sure you could strafe left/right/up/down.

What's the difference between maneuvering and driving? In a shooter you just move. In a simulator you need to manage your movements, accelerating and decelerating, dealing with inertia, switching gears (for cars), engaging afterburners (for planes), etc. In Doom or Descent, you may plan the trajectory you'll follow across a segment of level, but in a simulator you have an additional degree of derivation as you have to plan how you will manage to adhere to the trajectory you have planned.

The type of controller used doesn't really factor. Descent was a shooter played with a joystick. Inversely, a game like Frontier: Elite II was a simulator played with keyboard and mouse.

Share this post


Link to post

Wasn't one of Descent's main weaknesses (or appeal, for some) that the 6-degree freedom it offered was too much "simulator-like" and complicated for most players?

Doom essentially only has three degrees of freedom (you can only move in a 2D xy plane and pivot around the xy plane, while movement in the z axis is severely restricted, and pitching/rolling is impossible. Of course Doomguy doesn't have gears (though he has two distinct speed settings), and his physics are still a matter of debate ;-)

Certainly, commands even in Descent are simplified compared to a real simulator, assuming that you can even define a "simulator" of an inexistent future vehicle, where many functions would be computerized to the point of being nearly "point where you want to go" anyway...

Share this post


Link to post
Maes said:

Wasn't one of Descent's main weaknesses (or appeal, for some) that the 6-degree freedom it offered was too much "simulator-like" and complicated for most players?

I've never head this from anyone. I have, however, heard of the game making players motion sick, which is solid gold in my opinion.

Share this post


Link to post
BlueFeena said:

I've never head this from anyone. I have, however, heard of the game making players motion sick, which is solid gold in my opinion.



that was pretty much my experience with it back then. i watched some guys playing it on a LAN, and ffs, they used pedals for additional control (thrust, perhaps) as mouse+keyboard was not quick enough. i never got into descent as it was simply disorienting to me.

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
×