=========================================================================== 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 : hiebert.paul@gmail.com 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 this. 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 of lava. "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 lines. -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