Monster list: Difference between revisions

1,004 bytes added ,  7 May 2021
Full page rewrite
(wanted to mention the max size of the monster list on this page too)
(Full page rewrite)
Line 1: Line 1:
The '''monster list''' is a recording of which [[monster]]s in a [[Chip's Challenge]] level can move, in the [[monster order]].
The '''monster list''' is an ordered list of [[monster]]s, dictating what moves and when during gameplay.


Monsters that are specifically set not to be put on the list, are on the lower layer of play, or that are on [[clone machine]]s, are not in the monster list. There are several applications of the monster list, such as the monster order and the methods of exiting [[trap]]s and [[clone machine]]s.
== [[MS ruleset|MS]] behavior ==
The [[DAT]] format and as such the MS ruleset allows for a maximum of 128 entries on the monster list ''at level start'', the monster list can expand to any size during play from cloning. Chip and blocks are not on the monster list and are handled separately. The monster list is processed from front to back in the ordered specified by the DAT entry for the level. All movement is done in one shot, choosing a direction, moving, and side effects – such as pressing buttons – are all done for one monster before moving onto the next.


== Mechanics in [[level editor]]s ==
Due to the MS ruleset taking the contents of the monster list without any checks, several issues can arise such as a monster listed multiple times (which causes it appear multiple times from a single tile), tiles that aren't monsters appearing in the list (which usually has no effect), or monster tiles without an entry (which leaves an unmoving monster in the level).


To create the monster order, the monster list is gathered in chronological order of creation, or as specified by the user. The monster list can be accessed and read at any time in a level editor, and the monster order can be manually adjusted using the controls given. [[ChipEdit]] is slightly more advanced, as it allows the user to move a monster to the very front or very back of the monster order.
Take this level for example:


[[CCLD]] also allows selected monsters to be arbitrarily added to and removed from the monster list, and records how many monsters are in the list. To find the total number of monsters in a level, save the level and use the ''Populate'' command, which will add them all to the monster list, and then undo.
[[File:Monsterlist Demo.png]]


== Mechanics within Chip's Challenge ==
The [[ball|balls]] move in the order shown in red. The top ball moving onto the [[Toggle wall|toggle floor]], followed by the middle ball moving onto the [[green button]], pressing it in the processing, finally is the bottom ball trying to move forwards, running into the now closed toggle wall and turning around to move backwards.
The level format for CC1 can contain up to 127 levels in the monster list. This list is processed in order to see where the monsters move, and thus outcomes of collisions between monsters depend on what order they are on the list.


The monster list will also control the principles of the controller and the boss. The boss is the ''final'' monster in the monster list, and the controller is the ''previous'' monster in the monster list. Controllers and bosses are not permanent, as new monsters can be cloned and old monsters can be killed. However, the [[bug]], [[paramecium]] and [[teeth]], when these principles malfunction during editing or the level itself, will trigger the [[Controller and Boss Glitch]]. <!---Is the Knight Glitch for only teeth? My tech explanation for it used a bug...--->
[[File:Monsterlist Demo Anim.gif]]


New monsters are added to the monster list during play by being cloned. Another special case exists: if a red button is connected to a monster off the list and is pressed, and the direction it would move is legal, the monster will be added to the list and move in the manner any other monster with this polarity on this square would move. Monsters are removed from the monster list only when they run into [[destructive obstacle]]s fatal to them.<!---Or the level is restarted...--->
Closely related to the monster list is the [[sliplist]] which contains all sliding monsters and blocks as they are removed from the monster list.
 
== [[Lynx ruleset|Lynx]] behavior ==
The monster list in Lynx is also bound by the 128 restriction at level start, the [[Chip's Challenge for Atari Lynx|original version]] enforces this throughout the entire level whereas [[Tile World]]'s emulation of Lynx rules allows the list to expand to a maximum of 2048 entries. Unlike MS, Chip and blocks are on the monster list and processed normally. Also unlike MS the list is processed from the back to the front, meaning that monsters are the end of the list move first.
 
Movement in Lynx is done via 2<ref>3 technically but the last is only teleporting.</ref> passes of the monster list. The first has all tile aligned monsters select an unblocked direction and claim it, so that only one monster can move into a tile at a time. Following this is a monster actually trying to move, which ''usually'' succeeds due to the earlier check (if the direction becomes blocked for some reason before the creature moves it halts for a single tick before resuming movement the next turn). A move is made of 4 ticks (2 for sliding monsters that aren't blobs which move at 8 ticks normally and 4 when sliding), a monster partway onto a tile will always finish moving onto that tile and then process any side effects such as pressing buttons.
 
The last oddity in the Lynx ruleset is that when loading the level Chip is always at the start of the list (meaning he is processed last due to the reverse order), if Chip is not at the start of list by the time the list is built, he will swap places with the first monster on the list, which can cause the occasional oddity.
 
== See also ==
* [[Controller and Boss Glitch]] an MS only glitch relating to monsters in traps and monster list order.
* [[Release desynchronization]] a Lynx only mechanic that causes some cloned or trapped monster to move faster due to list positions.
 
== Footnotes ==
[[Category:Mechanics]]
[[Category:Mechanics]]
[[Category:Terminology]]
[[Category:Terminology]]
trusted-editors
539

edits