Difference between revisions of "Ancilla glitches"

From ALttP Speedrunning Wiki
Jump to: navigation, search
(Created page with "(Work in process) == Summary == This page explains glitches that has to do with ancilla. An Ancilla means "objects that Link produces/uses". Some examples are Boomerang, Bo...")
 
(Summary)
Line 5: Line 5:
 
This page explains glitches that has to do with ancilla.
 
This page explains glitches that has to do with ancilla.
  
An Ancilla means "objects that Link produces/uses". Some examples are Boomerang, Bombs, Somaria block/spark, Sword spark, Boots dust. Enemies, Heart drops etc. are sprites.
+
"Ancilla" means "objects that Link produces/uses". Some examples are Boomerang, Bombs, Somaria block/spark, Sword spark, Boots dust.
 +
 
 +
Enemies, Heart drops etc. on the other hand, are sprites.
  
 
== History of the glitch ==
 
== History of the glitch ==

Revision as of 11:15, 1 July 2019

(Work in process)

Summary

This page explains glitches that has to do with ancilla.

"Ancilla" means "objects that Link produces/uses". Some examples are Boomerang, Bombs, Somaria block/spark, Sword spark, Boots dust.

Enemies, Heart drops etc. on the other hand, are sprites.

History of the glitch

Yuzuhara found that using items in certain combinations was creating weird effects, like getting two somaria blocks/bombs, having bombs explode indefinitely etc. He did not understand how it worked, and I guess it was mostly not known about in the Discord at the time, but he posted everything on his twitter account.

Someone talked about it half a year later, and the videos were linked into Discord. We started looking more in depth on what was happening, and this investigation produced a few new glitches. All of them having something to do with what we call an Ancilla,

Some technical explanations are found in https://pastebin.com/BeBFwZX6

Some terminology

Slots

When you try to put down a bomb, the game looks for an empty "slot" in the game's memory. There's 10 slots for ancillae, which means you can only have 10 ancillae on the screen at any point in time.

For practical reasons, we've named them slot 0 through slot 9.

For example, you spawn an arrow, and the arrow might be put into slot 4. You spawn another arrow, and slot 4 is occupied and the new one is put into slot 3.

Misslotting

What we found, is that the game was coded to have certain items in certain slots. Bombs for example, needs to be in slot 0 or slot 1. Most other items from Link's inventory was only coded to be in slot 0, 1, 2, 3 or 4. However, there are ways to force them to occupy slot 5+. Since this was unintended from developers (and it doesn't really happen in normal gameplay), unintended things happen.

We call the concept of putting an item into a slot it was not coded to be in "mis-slotting" (or "misslotting").

Level 1

- Heart despawn glitch.

A method to despawn heart containers, making our Low% runs lower. This was decided to be NMG.

Example video: https://milde.no/public/alttp/clips/low_hpskip_armos.mp4

This one does not use "misslotting", but was just a random discovery during our investigations into misslotting. It works by filling up ancilla slots in clever ways that only despawn the heart container, but not the pendant/crystal that follows (else you would softlock on most bosses where doors are closed and menues not possible).

Pastebins: https://pastebin.com/aNApJZLz https://pastebin.com/BeBFwZX6


- Weirdshot/hookclip (idk if community has completely decided on name - "Weirdshot" is a copy/paste of similar glitch in OoT).

The hookshot can pass through one tile blocks.

Example video: https://milde.no/public/alttp/clips/gthookclip.mp4

What happens is that the hookshot object is traveling in EG for 3 out of 4 frames. There is another variant of this where the hookshot is _only_ traveling in EG. If you hit something in the other layer, it will drag Link to it and also change Link's layer.

Some technical stuff is here https://pastebin.com/ua73VDi1 but it's not complete. We know more about the technical aspects of this but it's not been written down to a pastebin yet.


- Wonkashot/hook push (not completely decided either, it seems - "Wonkashot" is a reference to Wonkavator)

Example video: https://milde.no/public/alttp/clips/wonkaspike.mp4

The reason this works is very technical. But basically, the "hookshot dragging Link to an object" code is glitched out and Link is dragged for a longer duration and often a different direction. This code does not check any collision at all, so Link can clip through walls. You can also use this to get link into EG.

We can completely control the direction, the duration, and whether or not Link should be put into a different layer, by changing the setups.

Pastebin explaining everything (technical): https://pastebin.com/KsRGZNKu.


- Murderbomb

Example video: https://milde.no/public/alttp/clips/murderbomb.mp4

By putting a bomb into slot 9, we can reset the "explosion duration" timer by simply using a hookshot or producing sword beams indefinitely.


- Level 3 misslotting

This is the really broken stuff. It will probably not be allowed in any category of glitches, since it's possible to write custom code to do whatever you want the game to do. Perhaps some of it will be allowed in unrestricted categories.

Some examples: https://milde.no/public/alttp/clips/ace.mp4 https://milde.no/public/alttp/clips/freecrystals.mp4


You can also create red boomerangs from blue ones, and extending its length. But this has been largely ignored and it has no name or really any technical description. :)


"Visual" guide to the new glitches:

Ancilla glitches

  • uninitialized altitude
 * spooky action glitch
  • despawn
 * heart despawn glitch
  • misslotted ancilla
 * weirdshot
   * weirdshot (alternating layer)
   * weirdshot (opposite layer)
 * wonkashot
 * murder bomb