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

Things about Doom you just found out

Recommended Posts

On 6/22/2018 at 6:41 PM, Linguica said:

In the original SETUP.EXE, when you move around in a menu, it is supposed to play a 50hz tone. Yes, 50.

 

On 6/22/2018 at 8:04 PM, Linguica said:

A few days ago, I checked out that link, and I wrote up a pretty nicely detailed reply. But it disappeared. I guess maybe I didn't hit 'Submit Reply'? Anyway, I'm trying again.

Here's the code in that link, for convenience:

#include<stdio.h>
#include<dos.h>
 
int main(void)
{
   int i;
   for ( i = 42 ; i <= 4200 ; i ++  )
   {
      i = i + rand(100);
      sound(i);
      delay(50);
   }
   nosound();
 
   return 0;
}

I don't think it plays a 50hz tone. Here's how I read it:

 

I think the goal was for it to generate a low tone that rapidly increases in pitch up to 4200hz, like a "space laser" sound, or like quickly running your finger up a guitar fretboard. But I also think that, the way it was written did not produce the desired effect, if it was to be useful.

 

Instead, to me, each time it's called, you'd get one of three possible effects:

  1. A "blip."
  2. A click.
  3. No audible sound at all.

Here's why (and, please correct me where needed):

 

Supposedly, sound(f) produces a tone of frequency f. Also, the rand() function is not supposed to accept arguments (or, maybe the argument is ignored.) rand() is supposed to return an integer between 0 and RAND_MAX, which is defined as "always >= 32767".

 

The question in my mind is "How is the argument of rand() interpreted?"

 

If the 100 in rand(100) is ignored:

You start with a 50 millisecond tone of a frequency between 42hz to (42+32767) = 32809hz (or even negative if signed short??). And, typically anything above 18000hz or so is inaudible to adult humans, and that is being generous.

 

When the 50 milliseconds is up, the sound is either stopped (when it exceeds 4200hz), or the frequency is increased from 1 to 32768 cycles more, and is played for 50 milliseconds more. Rinse and repeat.

 

Almost always, this would produce one or two tiny slices of random tones. "Bleep."  Verdict: Not very useful. Not coded as intended.

 

If the 100 in rand(100) is honored:

In this scenario, rand(100) returns an integer between 0 and 99.

 

The first 50 millisecond tone is of a frequency between 42hz and 141hz. And the frequency increases at an average of 50hz, every 50 milliseconds, until it hits 4200hz, which takes multiple seconds. Verdict: Duration too long. Not coded as intended.

 

I believe the first scenario must be what happens, otherwise they'd hate it immediately. What do you think?

 

Share this post


Link to post
12 minutes ago, kb1 said:

I don't think it plays a 50hz tone.

Well duh, of course that doesn't play a 50hz tone, it's a code example of the sound() function. In no possible way is that the source code of SETUP.EXE, the website is even called code-reference.

Share this post


Link to post
1 hour ago, Edward850 said:

Well duh, of course that doesn't play a 50hz tone, it's a code example of the sound() function. In no possible way is that the source code of SETUP.EXE, the website is even called code-reference.

Ok, so I used a "narrow" view - heh :) I asked a simple question, got a link, grabbed the code, and naively believed I was looking at what was being described. I thought it was a "code-reference" to Doom's SETUP.EXE - who am I to judge? (I've never seen the code for SETUP.EXE. Now I'm really curious... disassembly? DOSBox?)

 

But, you never answered my question, duh :) Is there a compiler that uses an argument passed to rand(x), to essentially provide a rand() % x, or is that code on the code-reference site even more messed up?

 

Edit: Not much to that site. You had me thinking I was missing something.

Edit 2: Ok, 50hz. Now that I believe...that's actually kinda cool. That's a tone low enough to shake your insides better than your eardrums. A little of both, really. You can tell they had a lot of fun in those days.

 

Edited by kb1

Share this post


Link to post

I wondered if an argument to “rand” could be the seed, but watcom C didn’t accept an argument to rand and had a separate srand, as it should.

Share this post


Link to post
7 hours ago, Revenant100 said:

That's right! For the past quarter of a century, the BRN textures have been meant to represent monkey cages! Demonized possessed monkey cages, to be exact. And E1M1 features not just one but two monkey cages! Better rev up that wiki article. We're gonna have to rewrite the history books for this one!

I'm not sure. Careful analysis of the storyboard shows that this texture is only supposed to represent monkey cages when used on sloped surfaces.

Share this post


Link to post

I was playing Sunlust on a coop survival server with @42PercentHealth using @Doomkid's weapon mod last night.  On map 3 I found the berserk secret for the first time.  I typically don't go out of my way to look for secrets and when I do make attempts they're usually not successful.  I've played through Sunlust in it's entirety twice now and various other maps on their own(mostly 25 when learning the max).  

  

I knew of the berserk itself before but never had gotten it.  Felt rather silly walking over to the lift around the mancubus guarding it and realizing there's a gap to access the switch :l

sl2.jpg

sl1.jpg

Share this post


Link to post

There are five cyberdemons and spider masterminds in Doom 2 UV-singleplayer.

Share this post


Link to post

Somehow, until now I managed to remain completely oblivious to the fact that Spider Mastermind uses the shotgun guy's attack for her chaingun, firing three pellets per shot. Yeah, it uses the shotgun sound effect, but so does the chaingunner.

Share this post


Link to post

I think I mentioned this in another thread already, but the most recent thing I found out is if there's too many Lost Souls present in a map such as the Doom 2 map "The Pit", the Pain Elementals can't attack you.  They make the noise of shooting more Lost Souls at you, but none come out. 

Share this post


Link to post
On 7/6/2018 at 2:56 PM, Maser said:

I think I mentioned this in another thread already, but the most recent thing I found out is if there's too many Lost Souls present in a map such as the Doom 2 map "The Pit", the Pain Elementals can't attack you.  They make the noise of shooting more Lost Souls at you, but none come out. 

IIRC the amount of lost souls that could exist in any map in the source code of the doom engine is 21, for better or worse, source ports removed said limit.

 

OT: when messign around in GZDoom Builder i just found out that there is a slot for a dead lost soul, and there was no sprites in it, i also found out that the imp srpite was done from scratch unlike most other mosters from the original doom games.

Share this post


Link to post
On 7/6/2018 at 5:56 PM, Maser said:

I think I mentioned this in another thread already, but the most recent thing I found out is if there's too many Lost Souls present in a map such as the Doom 2 map "The Pit", the Pain Elementals can't attack you.  They make the noise of shooting more Lost Souls at you, but none come out. 

The Pit is particularly notable for this because it has lots of PE, sufficient lost souls that they're choked at the start, and a wide choice of direction. In DOOM.EXE days there was a specific order to tackle The Pit in to cheese this as much as possible.

Share this post


Link to post

I just learned that during the development of WinDoom at Microsoft, the early Windows port helmed by Gabe Newell that ultimately led to Doom95, the engineer assigned to the project literally died at his desk while working on Doom.

 

From the blog of Alex St. John:

Quote

Gabe already had a long and respected career at Microsoft where he had purported worked on over 30 shipping products including being the Program Manager for Windows 3.1.  As most burned-out Microsoft veterans were understandably inclined to do, he had taken what was known as a rest-and-vest job in Nathan Myhrvold’s Advanced Technology Research Group where the best and the brightest minds at Microsoft were then known to accumulate and work on highly speculative stuff that never saw the light of day.  Gabe was working on set top box UI at the time and had a small team of engineers at his disposal.   He offered to lend me one for the task of porting DOOM, which I eagerly accepted.  Everything did not go as planned however…

After arranging with Carmack to transfer the code to Gabe’s engineer, the project disappeared into a vacuum for several weeks.  Gabe’s engineer was often MIA and unresponsive to email.  Finally out of frustration I made the 200 yard trek across from building 4 to building 10 to stake out his office and find out how he was doing with the port.   The guy didn’t answer his door when I knocked, but I found him sweating over his keyboard in pitch darkness working on Doom.  He seemed frazzled and stressed out and was not happy to have an unexpected visitor.  He assured me that he was working on it and I left.  A few days later it was reported that he had been found dead at his desk from a drug overdose.

 

To my knowledge, this is the first and only confirmed casualty related to working with Doom's source code.

Share this post


Link to post
16 minutes ago, Revenant100 said:

To my knowledge, this is the first and only confirmed casualty related to working with Doom's source code.

Doom's source code, despite the heavy demonic theming in the game itself, was not especially demanding. It desired only the blood sacrifice of a single individual.

Share this post


Link to post

Another thing I found out pretty much when I joined this forum and was reading around is that members had been referring to the Spider Mastermind as "her" and sure enough the Spider Mastermind is apparently the mother of the Arachnotrons.  I guess I must secretly be a misogynist or something because I thought there were no females in Doom games. 

Share this post


Link to post
21 hours ago, Revenant100 said:

I just learned that during the development of WinDoom at Microsoft, the early Windows port helmed by Gabe Newell that ultimately led to Doom95, the engineer assigned to the project literally died at his desk while working on Doom.

 

From the blog of Alex St. John:

 

To my knowledge, this is the first and only confirmed casualty related to working with Doom's source code.

Wow, that's incredible (and awful). I guess it's good to be doing something you love when you die. But it doesn't sound like this guy was very happy at the time :( It's very sad, indeed.

Share this post


Link to post

I just realised that this hole in the ceiling in E2M1 is making things look weird by ignoring the height of the rest of the room. I thought this only happened in Mt. Erebus.

 

Screenshot_Doom_20180709_214332.png.9f029f4cce36523ce6857cfbbe7f3a29.png

Share this post


Link to post

I always loved that little window, since it puts some emphasis on the hell sky while you're standing in the otherwise normal corridor, but the reality bending nature does throw it off some. not a whole lot you can do about that, though...

Share this post


Link to post
Guest Unregistered account

I noticed that, but excused it because it does look awesome.

Share this post


Link to post
6 hours ago, KVELLER said:

I just realised that this hole in the ceiling in E2M1 is making things look weird by ignoring the height of the rest of the room. I thought this only happened in Mt. Erebus.

 

 

I actually view this as bad map design, it's something that's always irked me to no end. There was a map in Agent Spork's Ultimate Simplicity where the first room is ~96 units tall with a sky-view, then the room the other side of the door is ~384 units tall. A small issue on an otherwise great mapset, though.

 

In the case of the iwads, they're very quirky and are the first maps to be made, so it's easier to forgive them, heh.

Share this post


Link to post

I view odd skies like that as one of the perks of working with the Doom engine.

 

I mean, look at Well of Souls in Plutonia, the area with the yellow key is much lower than the start, but I doubt many have even taken notice to it before. I certainly never thought about how low that sky is until I ran into rendering issues converting it to run on the PS1 engine.

Share this post


Link to post
20 minutes ago, Dragonfly said:

 

I actually view this as bad map design, it's something that's always irked me to no end. There was a map in Agent Spork's Ultimate Simplicity where the first room is ~96 units tall with a sky-view, then the room the other side of the door is ~384 units tall. A small issue on an otherwise great mapset, though.

 

In the case of the iwads, they're very quirky and are the first maps to be made, so it's easier to forgive them, heh.

Considering Deimos floats above hell, I'm sure we can forgive some non-euclidean geometry. :P

Share this post


Link to post
12 hours ago, KVELLER said:

I just realised that this hole in the ceiling in E2M1 is making things look weird by ignoring the height of the rest of the room. I thought this only happened in Mt. Erebus.

 

*e2m1 pic*

At first when I saw this I was like "I don't understand what you mean here", but then I saw the rest of the room in the distance and went "Oh crap!".

Share this post


Link to post

there's a sound effect for a dog barking in Doom 2 (it's one of the "quit game" sounds)

Share this post


Link to post
Guest Unregistered account
15 minutes ago, Polaris said:

there's a sound effect for a dog barking in Doom 2 (it's one of the "quit game" sounds)

You sure that's not a pinky Demon growl?

Share this post


Link to post
15 minutes ago, Polaris said:

there's a sound effect for a dog barking in Doom 2 (it's one of the "quit game" sounds)

You must mean the Hell Knight's death sound, because, AFAIK, there actually is no sound of a dog.

Share this post


Link to post
Just now, Kapanyo said:

You sure that's not a pinky Demon growl?

no, it's just a short "woof"

Share this post


Link to post

Today I learned that the changemap console command allows me to skip levels without losing my weapons, ammo and upgrades, unlike the map console command and idclev. Useful for when I'm playing with weapon mods that have levelling systems, and the megawad I'm playing will at times strip me of everything.

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
×