Advanced engine needed : Nope - use Heretic.exe or Hereticp.exe
Primary purpose : Technical demonstration
Title : Heretic Binary Ripple Counter
Filename : hcount.wad
Release date : Dec. 19, 2008
Author : Paul Hiebert, aka Creaphis
Email Address : firstname.lastname@example.org
Other Files By Author : 1tag.wad is another quirky little level like this
crea_one.wad is playable
Misc. Author Info : I just drank a can of Coke but didn't really like it.
Description : A 4-bit binary ripple counter, loosely based on
Fraggle's counter.wad (for Boom), proving that
voodoo doll conveyor belt scripting was already
possible back in 1994. Also included are a second
level that demonstrates a few more engine quirks,
and an absurdly unnecessary story that ties the
two levels together.
Additional Credits to : Fraggle for counter.wad and for the suggestion I make
The Skulltag team (and Haddaway) for e1m2's music.
* What is included *
New levels : 2
Sounds : No
Music : One new song
Graphics : No
Dehacked/BEX Patch : No
Demos : No
Other : No
Other files required : No
* Play Information *
Game : Heretic
Map # : E1M1 - E1M2
Single Player : Yes, in the loosest possible sense
Cooperative 2-4 Player : No
Deathmatch 2-4 Player : No
Other game styles : None
Difficulty Settings : Not implemented
* Construction *
Base : New from scratch, with counter.wad used for reference
Build Time : About a day of tinkering, all together
Editor(s) used : Doom Builder, XWE
Known Bugs : -The second level is prone to VPO's from some outer
vantage points. To avoid crashes, stay towards the
middle of the level or use hereticp.exe
(Search Google for Heretic Plus if you don't have it)
-If you attempt to run this in ZDoom, most effects won't
work. So, don't.
May Not Run With : ZDoom and its derivatives
Tested With : Heretic.exe, hereticp.exe
* Story *
You enter the cave of the rhythmancers.
Immediately, you are stunned by what you see, and moved beyond what words can express.
The four mystics within are engaged in their endless dance, so deeply absorbed - so
devoted - that your presence goes unnoticed. The beauty of their leaps, their
pirouettes, their undulations, is greater even than that spoken of in legend. The fact
that you must interrupt their practice for a mere moment fills you with immense
sadness, but you must, for your need is great.
"Oh, wise sages! Teach me to dance!"
All at once, the sages halt! The shock is as if an arrow has struck your flesh. "Who
are you, who dares interrupt our vigil?" storms the rhythmancer of water.
"Who are you, who has stolen a glipse of our work?" cracks the rhythmancer of ice.
"Who are you, who disturbs the four rhythmancers? We, who give rhythm to the four
elements of the earth! We, who dance the dance of life itself!" erupts the rhythmancer
"Who are you, with the balls to just come in here and ask for whatever silly thing is
on your mind I can't even believe this," sizzles the rhythmancer of slightly cooler lava.
Through your sobs, you reply. "I am but a man, great ones. A lowly man, not worthy to
be in your presence, whose feet are clumsy, whose hips are stiff, and whose only wish
is to bust a move before returning to the aether from whence I came."
Silently, the sages turn to eachother. They remain silent, but their feet flash back
into activity. You are even more awestruck than before, if such a thing is possible;
now, in the dance of the mystics, you sense a meeting of great minds, wiser than the
wisest of mortal men. The movements of the rhythmancers are at first disparate and
conflicting, matched only in their tempo - and their unattainable perfection. But,
naive as you are, you notice an interplay between the dances; steps ripple about the
room as words echo, in complex and beautiful patterns that put all choreography to
shame. Gradually, the dances of the rhythmancers meld into one, a perfect unity. You
sense that an agreement has been reached.
The dance stops once again, and the rhythmancer of lava turns to you. "We shall teach you."
Oh, hallelujah! Glory and exultations! You attempt to blubber a thanks, but are cut off
as the sage continues. "Do you see the switch, there to your right?"
"Yes, my lord."
"Press it. Press it, and you may begin to understand the true rhythm of our world.
You may begin to understand how opposites - water and fire, truth and falsehood, life
and death - can dance together as one. For, these are merely different states of the
same substance, and without one, the other is meaningless. This is the dance of life."
Your tears are now tears of joy. Your training will be long and arduous, but when it is
complete, you shall never get served again.
(Does it work? Find out on e1m2!)
* Technical Info *
Well, this isn't really going to be technical info, as I can't understand the source
code or anything like that. BUT, if this wad has inspired YOU to make a vanilla
Heretic level with conveyor belt scripting, then I feel that I should share the
benefits of my experience and save you some time. I will assume that you
already know how to set up voodoo-doll conveyor-belt scripts in Boom and will
only note differences.
-Voodoo dolls can't be pushed by scrolling sectors, but they can be pushed by wind
sectors - provided that the voodoo doll has some initial momentum. The wind effect
function is only called for objects that are moving already, or so I've heard, so if
you want your doll to move, you'll have to jump-start it.
-The most containable and consistent way to get a voodoo doll moving is with a gasbag
explosion. To do minimal damage, the doll and the gasbag should be 143 map units apart.
-It seems that destroying gasbags with ceiling crushers is always successful. I've never
seen one turn to gibs, as can happen with barrels in Doom.
-When a gasbag dies, its "corpse" launches itself in a random direction with a random
speed, and it is this corpse which creates the damaging explosion. To make use of
this explosion, you'll need it to come from the exact same coordinates every time the
level is played. This can easily be done by locking the gasbag in place with impassable
-Now that your voodoo doll has momentum, you can either make use of that momentum right
away, or save it for later. Using it for a script right away is simpler, but, if you don't
want the player to take explosion damage immediately before a script begins, you could get
the voodoo doll moving at an earlier time and then keep it moving in a circular path. Then,
when it's time for the script to happen, open a door and allow the doll to execute your
script. E1M1 in this wad should give you clues on how to do this.
-Voodoo dolls return to a dead standstill if they go through a teleporter, so teleporters
cannot be used to keep dolls moving.
-Damage done to voodoo dolls does not change the health value displayed on the player's
HUD, so that should be some small consolation when constructing these "scripts." At least
the player won't see his health dropping randomly.
So, after lots and lots of fiddling about, we've managed to create a level with scripts
that work in vanilla Heretic. Great! "Advanced engine needed: No" will look quite handsome
in your textfile, and the players of your level will experience the unique thrill that
scripting can give. Now, just one thing is left: tweaking your scripts so that they also
work in ZDoom, because that is what 99% of your players will want to use. There are a
couple things you'll need to know:
-Voodoo dolls do not need a manual boost in ZDoom/GZDoom/etc. - wind affects dolls even
if they aren't already moving.
-Voodoo dolls in wind sectors move faster in ZDoom than in Heretic.exe by about 20%.
It is POSSIBLE to construct contraptions that would execute the same script with the same
speed in both engines. For instance, you could build two "conveyor belts" for each script,
one for vanilla and one for ZDoom. In the ZDoom belt, lines would be spaced slightly
further apart to adjust for the increased wind speed. Also, you can be assured that only
one of the belts will be used in each engine by putting a line in the ZDoom belt that
closes a door in the vanilla belt. This would stop the vanilla script from executing
in ZDoom, and the ZDoom script wouldn't execute in vanilla as long as you don't push
the doll with an explosion.
Obviously no sane person would ever go to this trouble, so this entire section has
been a useless waste of your time.
Thanks for reading!
* Copyright / Permissions *
Authors MAY use the contents of this file as a base for
modification or reuse. Permissions have been obtained from original
authors for any of their resources modified or included in this file.
You MAY distribute this file, provided you include this text file, with
no modifications. You may distribute this file in any electronic
format (BBS, Diskette, CD, etc) as long as you include this file
intact. I have received permission from the original authors of any
modified or included content in this file to allow further distribution.
* Where to get the file that this text file describes *
The Usual: ftp://archives.gamers.org/pub/idgames/ and mirrors