What is a Proc?

There are certain terms commonly used, and even understood, in massively multiplayer games that nobody really knows the origin of. One of those terms is “proc.” I’ve heard people say that it stands for a number of different things. Given the wealth of smart people available around the office, I posed the question to them and came up with the following, most of which I had heard at some point, but one or two new ones:

  • PROCedure – “Proc” is short for “procedure.” Effects in the old days were processed on a certain action (like attacking). In some mud languages, the scripts would look something like proc procedurename {params} { body }. This is derived from Pascal.
  • PROCess – “Proc” is short for “process.” This is generally the most widely accepted origin of the word “proc.” Of course, you are processing a procedure (see above), so it’s entirely possible that process is derived from procedure and proc is shorthand for process.
  • Potential Rate Of Cast – I don’t know the origin of this one, but it technically does make sense and was provided as an example by a team member.
  • Programmed Random OCcurrence – This might be the best fit out there. Some people claim this is an old school coding term, but old school coders claim to have not seen this as what proc is derived from until the days of EQ.
  • spec_proc – “Proc” is short for “spec_proc,” which means “special procedure,” a term used by Jeremy Elson in Circle-Mud.

Which one do I think it is? Honestly, I don’t know, but I’m going with “process” because it’s the one I’ve used most often in the past. I don’t think we’ll ever agree on what “proc” stands for, but I’d love to hear from some old school folk from the industry who may have a better idea. What can we agree on? One thing, for sure, is the definition:

A random chance of an effect triggering on something, generally a weapon or other piece of equipment, given certain stimuli. For example: If a sword has an exploding fire proc attached to it, and the proc has a chance to go off when the sword hits a creature, the sword is said to proc when that fire explodes after the sword makes contact with the creature. That’s a pretty crappy definition, so I’m open to seeing better definitions as well.

Now that I’ve written this entire post, I pose the following challenge: Let’s just scrap the search for what “proc” stands for and agree that “proc” is a word. It’s a noun and it’s a verb. A proc (noun) is the effect that triggers when something procs (verb). If something procs (verb), it means that the random chance of some effect triggering from specific stimuli actually did occur, and the effect that happened to trigger from the proc (noun) going off is also called a proc (noun).

Update: From an email that Raph Koster sent over:

Short for spec_proc (special procedure), which is a bit of code triggered to cover a special case that the default code doesn’t handle.

In the older muds there was almost no variation between what a given object could do. For example all weapons used the weapon type, then you could specify damage type (was it a sword or a mace), damage ranges, and so on.

To get the weapon to do anything special, you had limited choices. Depending on the architecture, you could attach a spell to be cast, or could attach a script if the code supported it. In the codebases that Brad & co. played, the devs could not script, so the codebase allowed a pointer to a special hardcoded procedure to be entered in the weapon data.

“Proc” is almost entirely EQ slang… Even in the muds, it wasn’t that widely used because only some codebases used the term. It took EQ publicizing the inherited term to make it common knowledge.

Thanks for the insight, Raph.

3 Responses to "What is a Proc?"

Comments are currently closed for a server migration!

Return to Ryan Shwayder's Nerfbat »