​

The video is a self-contained guide to an ultra-low latency, 7-bit binary counter. The principles of it's logic operation are explored fairly thoroughly in the video, so will not be re-explained here. This written guide focuses mainly on the engines that were tested and adds a few new ones too!​

Spoiler: Wiring Diagram

Note - the skeleton teleporter loader is set up to be over 38 tiles (horizontal distance) from the skeletons in the counter to avoid them Note - the skeleton teleporter loader is set up to be over 38 tiles (horizontal distance) from the skeletons in the counter to avoid them blocking statue spawn

Compact Crab Engine - just for reference, before we look at the fancy new engines in the video (and others beyond), here's a simple one that runs off the old mechanism of crabs jumping up and down when they're in a confined space (ceiling only 2 tiles high). This update to the classic design uses a 'ghost wall' glitch to let the crabs enter the pressure plate chamber (but not back out) - slope inactive blocks against a wall. Loaded crab jump at a very regular 6 times per second, with additional crabs adding an extra 6 act/s to the output (provided they don't happen to jump at exactly the same time). A more complex design would be needed for more than 3 output wires.​



1.3 Note - see minor redesign,

1.3 Note - see minor redesign, below

Hoik Engine



All possible player powered hoik engines (below): A - player walks in from right and holds {down} to run engine. B - same as A but no need to hold down (use grapple or teleport to exit). C - as with B but only 1 tile gap between hoik teeth, space under them for plates. D - dud design, no space for plates (in the middle does not work because player overlaps it in both positions. E - actuating a tooth is easiest (but not essential) for entering these top hoik engines. F - as with E but with enclosure for skeleton (will only operate while on screen) or NPC via king/queen statue (will only continue to operate off screen during the day). Note - only E and F are currently console compatible, using only up-sloped blocks.

House Hoik Engine







His also reset the NPC position straight back into the collection hoik after turning it off, making for reliable stop/start. If you are still struggling to get NPCs to move in with the above designs, try @DicemanX 's variation. He reported that the taller design, on the right, was necessary to get the guide to stay resident at night ( here in this thread ).His also reset the NPC position straight back into the collection hoik after turning it off, making for reliable stop/start. Click to expand...

Teleporter Engine (Standard)

This was perfectly adequate to get an accurate speed measurement for a single skeleton in flight. But the dual drop, cross-linked, original design has the advantage of spreading the 12act/s out between 2 pressure plates, allowing for 6 outputs. The top pad, in the diagram shown, has been suspended in mid air via the teleporter float glitch . The engine's skeletons can get stuck on top of a supporting platform when the player is standing above that height, but only at night (a change in the mob's AI). Also applies to crabs.

Teleporter Hoik Hybrid (Guide Engine) - i.e. 'horizontal, as designed and - i.e. 'horizontal, as designed and demonstrated by MeoWish . This functions like a faster, sideways version of the regular teleporter engine, using a 'bottom hoik' to push the skeleton, player or other NPC across to the second pad and hit the plate there. Again, multiple pairs of plates can be included, and cross-wired, to share the activation rate between multiple plates, for a greater number of separate outputs. The timing of this engine is syncopated: it activates every 1, then 2, then 1, then 2 ticks. The character's sprite alternately lands on the middle tooth (of 3), taking a single 2 tile jump to the left (hitting the plate and teleporting), and then lands on the right hand tooth, jumping (2 tiles left) to the left hand tooth, before jumping a second time onto the pressure plate (and repeating the cycle, ad nauseum). I'm not sure if this irregular pattern can be of any particular use, but it averages out at exactly 40 activations per second.





This 'optimal' redesign of a horizontal teleporter/hoik hybrid provides 2 pressure plate outputs, both running at 30 activations per second. This makes it fully equivalent to the hoik engines, while using only 2 active teleporter pads. Note the 3rd example requires a 3rd pad to load the skeleton effectively because it uses a top hoik instead. This is to make it console compatible, since some gaming platforms don't yet have downward sloped blocks. The design repeatedly teleports the skeleton, NPC or player into the middle, where the teeth then push them one tile outwards either side, alternating sides.



Like all teleporter engines, the output wires which are also connected to the engine's teleporters (mid diagram = red on right bunch and blue on left bunch) can not be connected to other teleporters! The captive character will be teleported out if so. Note also that while the design is fast, one or two of these engines running simultaneously my cause major frame-rate problems (possibly due to the number of teleportation animations, with their particle effects, as some do no even render).​



​

Teleporter Hoik Hybrid (Ultimate) - i.e. vertical. Teleporter pads can be hammered! They can be made into hoik teeth directly! (What where they thinking?!) The bigger, 3 tile jump that is possible when hoiking a player sized sprite vertically allows a single hoiks step every time, with this teleporter engine. This achieves the ultimate activation rate for a single sprite, since the plate collision detection code appears to only allow one plate to be activated, ignoring all other that are hit that game tick. The only way to go faster would be to add more characters to an engine (but not this engine, it wouldn't help). Because the game's implements the effects of a wire activation immediately (including teleportations), the skeleton (or other character) in the engine appears to spend the entire time in the lower section (waiting for the block collision detection to come around again). This means a flame, or other trap can do no damage to them up top, since they don't spend long enough there! Adding a second pair of pads and cross-wiring their destination pads is again possible for splitting the output activation rate between more wires.



Minecart Engines - very simple. Just lay pressure plate track sections next to each other, with one regular piece of track at each end to hammer into bouncing bumpers. Right click to grapple into cart mode, then hold either right or left direction to build up speed. Apparently turning around at one, or both ends takes longer that moving from one plate tract to the next (when at full sound and look pretty furious, the single plate engine has only ~32act/s, while the 4 consecutive plate engine reaches ~43act/s. There is a diminishing return for each section of plate track added, however; the graph of activation rate verses length of track is - very simple. Just lay pressure plate track sections next to each other, with one regular piece of track at each end to hammer into bouncing bumpers. Right click to grapple into cart mode, then holdrightleft direction to build up speed. Apparently turning around at one, or both ends takes longer that moving from one plate tract to the next (when at full speed of 48tiles/s ). This is shown in the fact that the shorter, smaller, minecart engines have fewer activations per second than the longer ones. Although the sound effects from hitting the bumpers make itand look pretty furious, the single plate engine has only ~32act/s, while the 4 consecutive plate engine reaches ~43act/s. There is a diminishing return for each section of plate track added, however; the graph of activation rate verses length of track is asymptotic , approaching (but never reaching) 48act/s (in line with the minecart's top speed). Note that, in practice a length of 48 tiles will reach this for a measured period of 1s.



Bird Engines - just like the minecarts (above), turnaround time is lost time for birds - they can only trigger a plate when moving from one plate to anther. So longer plate-runs work out at higher act/s. Birds only fly - just like the minecarts (above), turnaround time is lost time for birds - they can only trigger a plate when moving from one plate to anther. So longer plate-runs work out at higher act/s. Birds only fly at ~10.6 tiles/s though, so a single bird will top out at this rate (10.6 act/s), regardless of track length. Unlike with minecarts, however, it's easy to spawn multiple birds. Up to 3 in this compact design, but the maximum of 10 (in an entire world) is possible by simply adding a long chimney between the statue and the plate run (putting over 37.5 tiles between them ).

The bird engine is easy to start and stop too, with a single dart (you monster!). The major flaw is that there is a high chance that birds will happen to 'synchronise' their plate activations, so that they keep hitting within the same game tick. For most applications this is not helpful. In the worst case, of two birds occupying exactly the same space, it is like the second bird does not exist. For this reason there is no definitive speed results for each number of birds (above 1). But, in theory, it is easily possible that an engine (about 3 or more plates long), loaded with 10 birds could reach 60act/s, and over. Up to a maximum of ~ 10.6 x 10 = 106act/s, under perfect circumstances, with a very long track.



Rainstick Engines - why are all other engines so damn horizontal?! This new vertical concept takes advantage of the ability of crabs, skeletons (and bats) to ignore platforms when they want to drop down (towards player height). By interleaving the platform (and pressure plate) heights, each tile dropped activates a plate (note: no activations on the way up). So tiles/s down = activations/s in this engine. I think the faster models look and sound a little like a - why are all other engines so damn horizontal?! This new vertical concept takes advantage of the ability of crabs, skeletons (and bats) to ignore platforms when they want to drop down (towards player height). By interleaving the platform (and pressure plate) heights, each tile dropped activates a plate (note: no activations on the way up). So tiles/s down = activations/s in this engine. I think the faster models look and sound a little like a rainsticks when in operation, hence the imaginative name! You could then refer to the plate platforms as 'spines' too...​

Overkill: Given a 2s cooldown on spear traps, this would require 12 traps, for a continuous succession of hits. But when spear traps are configured in a vertical column, the travel delay from the top of the stack to the bottom creates a gap in the sequence that needs to be filled with an additional 2 firings. So 14 traps/timers/spines in total, in practice. Which equates to more hits per second than is possible, due to monster's damage cool-downs from piecing attacks.

Given a 2s cooldown on spear traps, this would require 12 traps, for a continuous succession of hits. But when spear traps are configured in a vertical column, the travel delay from the top of the stack to the bottom creates a gap in the sequence that needs to be filled with an additional 2 firings. So 14 traps/timers/spines in total, in practice. Which equates to more hits per second than is possible, due to monster's damage cool-downs from piecing attacks. Stingy: removing half the plates (and 1s timers) also allows you to get away with the gap in the firing pattern (by compressing the stack of traps). The half of optimal hit rate (from 3 activations/s) can also be improved by having the monster(s) below on a platform. This way the spear tips hit once when passing down and a second time on the way back up. If the gap below them (and the platform) is just right, the maximum 6 hit/s might in-fact be achieved! Unfortunately, monsters in the 'wild' rarely stay very still, so a staggered distribution of spear traps might be better in covering a kill zone (especially as these traps are hard to come by).

More Engines - By all means drop me requests to test a specific engine if you have a favourite in mind (attach a screen-shot, preferably). This guide was looking mostly at raw speed and less at actual utilisation, which may be more of a focus in future guides/videos. Much more on 'hoiktronics' to follow too!

1.3 Update Notes:

Hoik physics was unaffected , counter mechanism still works fine.

, counter mechanism still works fine. Crab AI was modified, slowing jump rate from 6 to 5 times per second. The 2 tile high ceiling in engine also now too high to initiate continuous jumping - added 2 platforms to rectify this.

Skeletons now de-spawn immediately during the day at surface level when off-screen.

during the day at surface level when off-screen. Pressure plates can now be placed atop any flat, solid block surface, including on to of upside down slope. Some more compact hoik engine designs now possible.



can now be placed atop any flat, solid block surface, including on to of upside down slope. Some more compact hoik engine designs now possible. Target Dummies can be used in hoik engines! Their invisible 'ghost' NPC essence (that displays damage figures) can be separated from their visible sprite via teleportation or 'floating' the dummy in the air (using the teleporter pad float trick). 'Ghost dummies' are perfectly behaved, staying entirely still and not de-spawning unless you exit the world or die. There can be only 100 ghosts per world, regardless of the number of dummies placed down. Their possibilities were uncovered in this T-MEC thread by @Thiner.

The counter's mode of action is labelled as '' to communicate the key use of the 'hoik' glitch (with sloped blocks) to control the movement of NPCsandthat they become almost like electrons, facilitating rapid digital mechanisms. The maximum frequency of operation of the hoiktronic components is 60 times per second, in line with the games frame rate. This is because block collisions are only checked once each frame (or 'tick'). In-game wiring activations may change the state of actuated blocks (and lights) multiple times within one tick, but the meaning of this is ambiguous since it can not be seen. Only the end result is rendered to screen: whether an odd or even number of activations have happened in that time. (Note - the exception is teleporter systems, which can move characters multiple times in under 1 frame. But again, only the end result is observed, and no collisions or impacts can take place until these wiring actions have concluded.)The outputs from all the engines shown in the video (and the diagram above) are wired with a single colour, since it is purely demonstrating the fastest possible number of activations in each case. This is somewhat like a drag race, only showing the raw number of activations per second, but not in a useful context. For example, to max out statue activations, one needs to use at least 2 different wire colours (for all 6 inputs), and using all 3 (red greenblue) is generally far easier. The mob proximity spawn limits on statues means that these 6 input activations must generally be split up (staggered) into no more than 3 at a time. To ace this application you would need engines with at least 2 pressure plates.- (in video and diagram above) the player walks in from the left, through the blocks (thanks to the sloped platforms and the 'ghost wall' glitch). The downwards slopes then bounce the player's sprite (and the screen view) back and forth at 60 times per second. The plates are activated alternatively at 30 times per second, staggered by 1 tick from each other.Square blocks above the 'teeth' (as in figure B, below) are there purely to keep the player from 'stepping up' onto the top of the teeth blocks, when not holding the {down} key. Bizarrely, the blocks need not be solid; inactive blocks work just as well. The pressure plates can not be on the ground, adjacent to each other, if you want to have 2 outputs on the same coloured wire, one from each plate. Since adjacent wired tiles connect, 3 unique outputs would be the maximum (3 colours). So for the full 6 outputs (2 sets of all 3 colours) possition one, of both, plate(s) onto the top of the adjacent (blue) column. Players activate these plates at head height just fine.- this is a variant on the plain hoik engine (above). It has been carefully designed to function as valid housing for a friendly NPC. The idea being that the engine can run continuously, day and night, even while you are across the map. It even continues between save and re-load!The lever inside actuates the loading/unloading teeth. They should be set to active (i.e. solid) when allocating an NPC to the housewhen engine is not in use. If the NPC's housing banner shows below the loading teeth they may fall through the floor or just fail to teleport home. NPCs will teleport in immediate during night time hours (7:30pm-4:30am) when they and the housing are off screen (HD resolution). If this does not work, try hammering the tooth directly below their banner into a square block (shown in diagram below, right, as a red block). Hammer it back once they are in.There are aof idiosyncrasies to valid housing and NPC location. For example, inactive blocks are fine, counting towards open space, but the banner for re-locating the NPC into the house will sitthese blocks, even if they are at floor level. Because of this, various loading teeth designs, involving top hoiks (against the ceiling), had to be scrapped. Slightly different designs also had the problem of the NPC teleporting back to their square block in the middle of the room at night, stopping the engine. This design seems finely balanced between those this and being valid: once the NPC is in they are happy enough not to find new accommodation, but they have nowhere safe to stand at night inside the house, because of the sloped block under their standing spot.I also found that a single platforma completely sealed box is sufficient to count as a 'door', which is handy.The engine teeth in this design were deliberately chosen so that pressure plates could be placed below with 1 tile between them, isolating their wiring from each other. 6 outputs (on 2 sets of the 3 colours of wire) are therefore possible. Like the plain hoik engine, each plate is activated 30 times per second, on alternating ticks between the two plates. Provided you can get them in and stay put (I don't trust the game to be wholly reliable, it should run day and night, where ever you are and resume when you re-enter world. This has not been tested in multi-play yet.For those playing on console, you have the consolation prize of a semi-function hoik house engine (below left). Because the NPC will stand immobile in the middle of the room all night, it can only really be loaded during the day (and with a bit of fiddling). As I said about, the NPC will also teleport out of the hoik at night, if they are off screen. So this design is only more useful than using a king/queen statue because it lets you specify an NPC and have them always handy.- i.e. 'conventional', as per ManBearTroll's teleporter engine (on the Terraria Online forums), but simplified down to a single pair of pads, with a single drop.- are designed to be 7 spines in length since that's the max height crabs and skeletons will jump to from the bottom. This engine doesn't run entirely regularly, since the mobs are jumping up and down repeatedly, but slight pauses in activations might be handy for certain applications. The actuated block at the bottom is left solid while running (then actuated to stop the engine by dropping all mobs in the lava). The number of mobs (and hence the speed) is selected manually by the player (by clicking 1 to 3 in). If you choose to make this setup auto-re-loading, by connecting the plates to the mob statue too (e.g. green wire), output from an 8th (or lower) spine will keep the engine running in a continuous loop, like a...- must be 8 or more spines tall (to re-activate the statue input after 0.5s cool-down). 16 spines seems to be a sweet-spot, since with this height the next mob will start hitting plates just as the one before it goes 'squish' at the bottom (so a continuous output stream of pulses). You could make it longer though. Bear in mind with all of these engines that the player needs to stand at the bottom (or below) to get the mobs to drop all the way down reliably. Also note that if using skeletons in an automatically repeating engine, like this, they take a couple of hits to die by lava, so will jump back onto the bottom spines. To stop this you could build a little recess at the bottom, so they walk in (towards player) and get their heads jammed under a ceiling.- Not technically what I'd call a "fastest engine", but while I'm talking about similar designs... Players seem to jump down exactly 6 consecutive platforms per second (regardless of wearing wings, etc). And bats appear to match this rate exactly too (giving a second, automatic option). This would equate to an ideal 6 hits per second, by staggering the firing of connected traps.- Impractical, but interesting. This setup is how I determined the 37 tiles/s fall rate for the mobs (which is the same for all mobs, in air, and player, without wings items). All mobs reach this terminal velocity quickly (in under 1 second). Even more interestingly, I found the drop speed of boulders to be60 tiles/s (61.1tile/s, to be precise)! This means that they sometimes failed to activate an engine plate (every 54th one) since it would have been the second plate hit in a single tick (and that's not allowed by the game). This put a spanner in my "" (in a bad way)... It's fairly useless as an engine since it is one-shot only. But interesting that this 60 activation/s (maximum possible rate) design should have been possible since Terraria version 1.0!60 acts/s engine using foot-height hoik (lever for stop/start).30 acts/s engine (narrower) using waist height (credit: DicemanX) . Add second plate under other sloped tooth for 60acts/s.