Talk:Skill level


Clockwork Orange[edit]

The name of the fourth skill level, Ultra-Violence, comes from the 1971 film A Clockwork Orange. The word itself did not originate in the movie, however; it was first used a decade earlier in the Anthony Burgess novel (also named A Clockwork Orange) upon which Stanley Kubrick based the movie.

Is it not enough to say:

The name of the fourth skill level, Ultra-Violence, comes from the 1962 novel A Clockwork Orange, by Anthony Burgess.


I guess you'd have to ask the id programmers that one. :>
In other words, if the storm of sewage in "Mr. Hankey - the Christmas Poo" was reminiscent of the Mickey Mouse sketch in Fantasia, do you credit Fantasia or Der Zauberlehrling? There's something to be said for a particular, striking interpretation, so in principle it could be either. Ryan W 21:50, 22 Jun 2005 (UTC)
ok, how about
The name of the fourth skill level, Ultra-Violence, comes from the 1971 film A Clockwork Orange (itself based on the 1962 novel by Anthony Burgess).

Respawn delays[edit]

	if (!respawnmonsters)


	if (mobj->movecount < 12*35)

	if ( leveltime&31 )

	if (P_Random () > 4)

I am too fried from finals to figure it out exactly but it looks like it takes at least 12 seconds for monsters to respawn, then after that each tic it first checks if the leveltime is a multiple of 32 (so the bitwise-and is zero) and then it calls P_Random which goes from 0 to 255 and returns if the value is greater than 4

so i guess that means that after 12 seconds, the probability of a respawn in any given tic is 1/32 * 5/255 or 6.13e-4 which suggests that on average it should take 1632 + (12*35) tics or 58.6 seconds for a monster to respawn 08:41, 11 December 2007 (UTC)

This is interesting. I'd like to see a graph that shows the probability (as a percentage) of respawn on a second-by-second basis. To note, however: The probability of a pseudorandom number being less than 5 is not 5/255; it would be x/256, where x is the number of bytes less than 5 among the 256 pseudorandom numbers. Zack 19:22, 11 December 2007 (UTC)
Looked at the code again, the pseudorandom table is unsigned char rndtable[256], I sorted the values and got 6 numbers <= 4 (0, 0, 2, 2, 3, 4 - why the hell didn't they use all the possible values? 145 appears 5 times in the table). That changes it to an average time of 51 seconds to respawn instead of 59...
Thanks - you beat me to it. :) I got the same result. 51.0 seconds (plus one third of a tic, which is negligible). By the way, you can sign your comments on talk pages with four tildes ("~") :)
EDIT: If it interests anybody or is deemed worthy enough for this article, 51.0s is the mean average respawn time, while 38.72s (38s + ~24 tics) is the median average (where 50% of all demons respawn in 12-38.72s and 50% respawn after 38.72s). This is determined by calculating T = 32 log(x) / log(250/256) + 12(35), where x is the percent of respawns that occur after T tics. Also, the mode average respawn time is ~12.5s. Zack 04:51, 12 December 2007 (UTC)
US$0.02:  Careful there.  Any NM player will tell you that the averages are much less important than the fluctuations, because that's what determines how quickly you can backtrack through a level.  That said, if the article currently says the minimum is 8 seconds, and you think it's obvious from the source that it's 12 seconds, then I would suspect every number of originating from a pre-source-release walkthrough, wherefore you are absolutely correct that a rewrite is in order.    Ryan W 05:15, 12 December 2007 (UTC)
That's a good idea. I've made that graph and added it to the [Spawning] article. Fuchsia tude (talk) 19:38, 13 December 2015 (CST)

NM vs. UV -fast -respawn[edit]

Graf Zahl states: [1]

   I found one piece of code which is specific to the nightmare skill:
           if (gameskill != sk_nightmare)
           mobj->reactiontime = info->reactiontime;
   (This is in the function P_SpawnMobj)
   This is certainly demo critical but in a running game you will most likely not notice the
   difference. Aside from that there are only very few places where nightmare is checked but in
   all of them the fast paramteter is also checked.

I looked through the code for other uses of the variable  gameskill .  No, I don't really know what I'm doing.   :>     However, it seemed to confirm the final sentence of the above (either NM and -fast are checked together, or it's something very predictable, like initializing a demo, or checking difficulty class before placing a Thing).  Thus I suggest that the first table in this article is incomplete without mention of this reaction time discrepancy... except that I don't know what  info->reactiontime  means, so I can't tell the reader how gameplay would be affected.    Ryan W 02:02, 29 January 2008 (UTC)

Gameplaywise in nightmare the monsters attack immediately when they see you. In normal fast mode they may take a couple of steps first.
There's another curiosity about nightmare. In fast and respawn modes the game records variable values related to each in demos, but when nightmare is used (which applies both), these variable values are 0. I don't know what difference those values make, though. Who is like God? 15:47, 18 May 2008 (UTC)

Player start Things ignore skill level flags?[edit]

Interesting anomaly noted by Nigel "Enjay" Rowand: [2].    Ryan W 04:56, 18 May 2008 (UTC)

Yeah, it's true, they do.
Wicked Be The Ways of Men would be the map Enjay was referring to in that post, in case anyone cares. Nuxius 09:23, 18 May 2008 (UTC)

"added as a joke"[edit]

"Nightmare!" was added with the characteristic dark humor of the Doom games in response to any comments saying the game was too easy on "Ultra-Violence."

I guess I'll ask the obvious question: is this direct cause-and-effect relationship common knowledge?  I just spent an hour doing web, forum, and newsgroup searches for various combinations of these keywords, and found no evidence.  It's not in Masters of Doom.  It's not mentioned in LogicDeLuxe's change log.  One of those legendary old BBS posts, or an interview in some now-defunct gaming magazine, perhaps?    Ryan W 02:25, 11 January 2009 (UTC)


For reference, Hexen source code in mn_menu.c:

			SkillMenu.x = 120;
			SkillItems[0].text = "SQUIRE";
			SkillItems[1].text = "KNIGHT";
			SkillItems[2].text = "WARRIOR";
			SkillItems[3].text = "BERSERKER";
			SkillItems[4].text = "TITAN";
			SkillMenu.x = 116;
			SkillItems[0].text = "ALTAR BOY";
			SkillItems[1].text = "ACOLYTE";
			SkillItems[2].text = "PRIEST";
			SkillItems[3].text = "CARDINAL";
			SkillItems[4].text = "POPE";
			SkillMenu.x = 112;
			SkillItems[0].text = "APPRENTICE";
			SkillItems[1].text = "ENCHANTER";
			SkillItems[2].text = "SORCERER";
			SkillItems[3].text = "WARLOCK";
			SkillItems[4].text = "ARCHIMAGE";

Also, archimage is a valid word. Archmage isn't. HTH. --Gez 05:58, 25 April 2012 (UTC)

Archmage actually is a word, "archimage" is a very rare form of it. 05:05, 14 August 2012 (UTC)

Gary Gygax and the Bard's Tale series omitted the "i", so conceivably that spelling might have ended up in the game irrespective of dictionaries.  :D     Ryan W 01:25, 15 August 2012 (UTC)


After beating Doom 64 (Doom 64 EX) and enabling the features menu, i saw a new difficulty available for selection, labeled as "Hardcore!". I can only presume that this is the equivalent to Nightmare!. , can somebody confirm whether this was originally in Doom 64 or was it added in by Kaiser? 05:03, 14 August 2012 (UTC)

This is a feature exclusive to the Doom64 EX port. The Nintendo 64 version (as with all Jaguar-based ports) did not support skill level 5 at all for end-user selection, even though some support for it remains in the game's coding. Kaiser simply re-enabled that support and gave it a new name. As none of this is canonical, it would not belong on this article. --Quasar (talk) 18:42, 27 November 2019 (CST)

Doom 3 damage source[edit]

The damage numbers for the difficulties in Doom 3 have been added in 2008 and I can't find their source in the def files. Does anybody know where they are stored and if they can be modified? They can't be hard-coded to the engine because they seem to be different in Quake IV. Unless? --Bonciu (talk) 21:52, 22 August 2022 (CDT)

Some of them have been around since before the source code was released so I think they may have been derived through empirical testing - taking damage X amount of times and then taking the average or noting the extremes. --Quasar (talk) 11:14, 23 August 2022 (CDT)

Pending Doom 3 changes[edit]

I find the changes to info such as the percentage scaling of damage to be questionable; I'd like to see these verified against hte game's source code before being approved. --Quasar (talk) 08:26, 13 January 2024 (CST)

From Doom 3 source code, neo/game/player.cpp (sorry idk how to do code blocks):
switch ( g_skill.GetInteger() ) {
	case 0: 
		damage *= 0.80f;
		if ( damage < 1 ) {
			damage = 1;
	case 2:
		damage *= 1.70f;
	case 3:
		damage *= 3.5f;
Damn, I actually thought damage multipliers were different myself.
Anyway, interestingly, this line implies that armor protection is 40% on some skill levels?? I don't know tbh.
g_armorProtection.SetFloat( ( g_skill.GetInteger() < 2 ) ? 0.4f : 0.2f );
Here's the file:
--lil'devil (talk) 10:57, 14 January 2024 (CST)
These pending edits do seem to be true, so I accepted them. I still want to know, however, what's this deal with armorProtection being "0.4f" in the last line of code. I'm honestly surprised with how intricate and confusing Doom 3's skill level mechanics are. I thought they were much simpler.--lil'devil (talk) 10:03, 15 January 2024 (CST)