We are currently working on new rules for what content should and shouldn't be allowed on this website, and are looking for feedback! See Esolang:2026 topicality proposal to view and give feedback on the current draft.

Mesmerizer

From Esolang
Jump to navigation Jump to search

Mesmerizer is a esolang in the transitionary period between the Tetocene Epoch and the Mikucene Epoch which was made by User:A random guy. This esolang is inspired by both Entropy and Atamagaokashii. It also has a Hypnosis meter which will be explained later.

Basics

Mesmerizer has 2 separate places (which will be called panels) where you can code with their own separate commands that can affect each other, being Miku’s panel, and Teto’s panel. They both have their own commands that they can do. Boolean is TRUE and FALSE, String has quotations, and Numbers don’t have quotations. Teto handles input and output plus loops and if statements… mostly, and Miku does the calculations for variables and stuff. Conditions can use <, >, <=, >=, !=, and ==, basically it’s just like Python. But it also includes all logic gates. (NOT, AND, OR, NAND, NOR, XOR, and XNOR)

It also has commands for Miku and Teto that cannot be used for either panel. They both have their own Hypnosis Meter which will be explained later.


Commands

Teto’s Commands

Command Action
Ready for Performance! Starts Teto’s Panel.
Resist (Panel) Decreases the Hypnosis Meter by 1 for Miku’s Panel if Miku is selected, but it decreases Teto’s Panel by 2 if Teto is selected.
Send Message (String, Number, or Boolean) Prints out a message.
Dance (Variable (Number)) Randomizes a selected Numerical Variable’s value at the cost of increasing Miku’s Hypnosis Meter by 1.
Wait Waits for a line, this only exists to make coding less of a pain.
Quiz Time! “(Text for Message)” Acts just like Python’s input command.
Sing (Number)(Insert Wave) Plays at (Number) Hz with a custom wave input. Needs external programs to make this work
Swirl (Number of times), (1st Miku Line #) to (2nd Miku Line #) Makes Miku repeat a section of her panel a set amount of times.
Plan (Condition), (1st Miku Line #) to (2nd Miku Line #) A while statement, basically loops until a statement is true.
Ponder (Condition), (1st Miku Line #) to (2nd Miku Line #) Once Miku reaches the 1st Miku Line #, if the condition is true, it does all the lines from the 1st Miku line # to the 2nd, else it skips to the line after the 2nd Miku line #.
Shut Down… Ends the Panel.

Miku’s Commands

Command Action
Ready for Performance! Starts Miku’s Panel.
Set the Stage (Variable) to (String, Number, or Boolean), (Base (Only for Number))! Makes a variable with any name you want as long as it doesn’t start with a number or is not the name of a Miku or Teto panel command. With the ability to set the variable to 3 different types.
Set the Stage (Variable) to Input! Acts almost like the Command above but the Input gets inserted into the variable.
Set the Stage (List) to [Something1, Something 2, Something 3...]! Makes a list, that simple.
(Value/Variable) is Tailor-Made for (List)! Appends a value or variable to a selected list.
Add (Value/Variable) to (Index n) on Our List of Favorite Fans on (List)! Adds a value or variable to index n in the selected list, shifting values in all indexes greater than or equal to n in the list up by 1.
Shrink Safety Zone of (Value)! Removes all instances of a value in a selected list.
No Thinking of (Index n)! Removes index n from a selected list.
(String Variable)'s Heart is Beating Very Loudly! Splits the String's Characters and puts them in Left to Right order as indexes in a list.
Crowd (Index 1) and (Index 2)! Concatenates Index 1 with Index 2, puts the result in Index 1, and removes Index 2, thus shifting everything after Index 2 by 1.
Check (List) for Our #(Index n) Fan, (Variable)! Stores the value of the Index into a chosen Variable, which ends up replacing the Variable's old value with the value of the Index.
Change (Variable) Identity to (Type)(Base (Only for Number) This can change the value of a variable to a different type, these are the valid conversions:
  • String ⇒ Number Base n
  • Number Base n ⇒ String
  • String ⇒ Boolean
  • Boolean ⇒ String
  • Boolean ⇒ Number Base 2
  • Number Base 2 ⇒ Boolean
  • Number Base n ⇒ Number Base N
(Number 1/String 1) Cheer (Number 2/String 2)! Adds 2 numbers or concatenates 2 strings. You cannot concatenation a number with a string and vice versa.
(Number 1) Pout (Number 2). Subtracts Number 1 from Number 2.
(Number 1) Praise (Number 2)! Multiply 2 numbers.
(Number 1) Cry (Number 2). Divides Number 1 by Number 2
(Number 1) Excite (Number 2)! Does Number 1 to the power of Number 2.
(Number 1) Worry (Number 2). Does Log base Number 1, Number 2.
(Number 1) Tridecagram (Number 2). Does Number 1 Modulo Number 2.
Dance! Randomizes the output that Teto gives, increases Miku and Teto’s Hypnosis Meter by 1.
Eat Burger! :D Decreases Miku’s Hypnosis Meter by 2.
Wait. Makes Miku do nothing for that line.
Shut Down… Ends the Panel.

Errors

Teto's Errors

Error Reason
Teto has already started performing! Happens when you use the Ready for Performance! command more than once.
Teto's performance has already ended! Happens when you try using the Ready for Performance! command after you did the Shut Down... command.
Teto failed to resist! Happens when you do not specify what panel the Resist command is affecting/
Teto forgot what message to send! Happens when you leave the message for the Send Message command blank.
Teto messed up her dance routine! Happens when the value for the Dance command is some other type other than a number.
Teto messed up her quiz! Same as the reason for "Teto forgot what message to send!" but for the Quiz Time! command instead.
Teto's off tune! Happens when the Sing command's Number for the Hz is unspecified, or when the Wave type is unspecified.
Teto forgot how to swirl for Miku! Happens when any of the parameters for Teto's Swirl command is unspecified.
Teto forgot what to plan! Happens when any of the parameters for Teto's Plan command is unspecified.
Teto couldn't focus! Happens when any of the parameters for Teto's Ponder command is unspecified.
Teto has already shut down! Happens when you use the Shut Down... command more than once.
Teto does not that dance move! Happens when you give a unrecognized command that is not a command for Miku.
Teto is not Red Miku! Happens when you try to execute a Miku command on Teto's panel.

Miku's Errors

Error Reason
Miku has already started performing! Happens when you use the Ready for Performance! command more than once.
Miku's performance has already ended! Happens when you try using the Ready for Performance! command after you did the Shut Down... command.
Miku forgot the instructions for setting up the stage! Happens when any of the parameters for Miku's Set the Stage command is unspecified.
Miku forgot her paper to write her list on! Happens when there is literally nothing as the list for the Set the Stage command, not even brackets.
Miku forgot who is Tailor-Made for her List! If there was one... Happens when any of the parameters for Miku's Tailor-Made command is unspecified.
Miku forgot what fan she was looking for! Happens when the Value/Variable is unspecified or missing for her Insert command (The one starting with add).
Miku forgot where to put her fan, (Value/Variable) at for her list! Happens when the Index is unspecified or out of bounds for her Insert command. (Out of bounds being beyond the maximum index + 1.)
Miku forgot her list! If there was one! Happens when the List is unspecified or missing for her Insert command.
Miku really messed up on keeping track of her fans! Happens when more than one parameter for her Insert command is unspecified, missing, or out of bounds.
Miku forgot who's safety zone is shrinking! Happens when any of the parameters for Miku's Safety Zone command is unspecified.
Miku forgot that she shouldnt' think of (Value of Index n) at Index (Index n)! Happens when any of the parameters for Miku's No Thinking command is unspecified.
Miku couldn't find who's heart is beating! Happens when any of the parameters for Miku's Heart Beating command is unspecified.
Miku got lost in the crowd! Happens when any of the parameters for Miku's Crowd command is unspecified.
Miku forgot what list she should check!! Happens when the List for Miku's Check command is unspecified or missing.
Miku could't find how much of a fan (Variable) was! Happens when the Index for Miku's Check command is unspecified or out of bounds.
Miku forgot her fan! Happens when the Variable for Miku's Check command is unspecified or missing.
Miku can't check at all today! Happens when multiple parameters for Miku's Check command is unspecified, missing, or out of bounds.
Miku doesn't know what (Variable) is... Happens when the Variable/List doesn't exist or is unspecified.
Miku doesn't know that type of fan! Happens when the type of variable is invalid.
Miku doesn't know how to represent (Type) in base (Base)! Happens when you try to put a type that isn't in a number, in Base (whatever the Base is).
Miku forgot how to (Cheer, Pout, Praise, Cry, Excite, or Worry.)! Happens when one or both of the parameters for the Cheer to Worry command is unspecified, missing (if one of the parameters is a variable), or is a invalid type.
Miku couldn't [[REDACTED, Reason: Confidential Information]]! Happens when on or both of the parameters for the Tridecagram command is unspecified, missing (if one of the parameters is a variable), or is a invalid type.
Miku forgot her dancing routine! Happens if Teto didn't have a Send Message command on the same line as Miku's Dance! command.
Miku has already shut down! Happens when you use the Shut Down... command more than once.
Miku does not know that dance move! Happens when you give a unrecognized command to Miku that is not a Teto command.
Miku is not Blue Teto! Happens when you try to execute a Teto command on Miku's panel.

Hypnosis Meter

The Hypnosis Meter despite being inspired by Atamagaokashii’s Hypnotization/Sanity, is more like Entropy’s main mechanic, where the program slowly starts corrupting in terms of data, but it also has some other disruptions. The meter goes up by 1 for each instruction done for both Miku and Teto, as it starts from a value of 0 and ends at a value of 100. Here is the list of disruptions the Hypnosis can do if the meter keeps going up:

  • Corrupts the output, either by changing a character to a random one, or adding or subtracting (randomized by a coin flip) a amount from the true value with this formula: 2H/10/10. This means that the maximum deviation from the true value is at most, True Value±random(0, 102.4), meaning the Value can range from being exact, to being off by 102.4.


  • Does a random command instead of doing the intended command, which this starts happening when the Hypnosis Meter is above 25, and has a (n-25)/75 chance of occurring after 25, which if this happens, each command has a 1/(Amount of Commands - 3) chance of doing a command, the -3 excludes both the "Ready for Performance!" and "Shut Down" command, plus the command that was SUPPOSED to be used. Meaning Teto's chance of choosing a specific random command after succeeding in getting the chance to even choose a random command is 1/8, but Miku's is 1/20. This also means that the chance of getting a specific command is ((n-25)/75)(1/(a-3)), which multiplies to (n-25)/(75*(a-3)). Which makes Teto's chance of doing a specific command be (n-25)/600, and Miku's chance be (n-25)/1500.


  • When the Hypnosis Meter is at 100, just like how Hypnotization works, it will play Satsuki’s song, Mesmerizer, until the Hypnosis Meter is no longer at 100.


  • If it is above 25 and it lands that (n-25/75) chance of changing a command into a different one occurs and the chosen random command requires Variables, then it chooses the appropriate amount of variables needed for the command, with the variables being chosen at random.


  • For Teto's Quiz Time! command, the Message has a 1/(2^Length) chance of having a specific Length with random characters, and the same goes for Teto's Send Message command too.


  • If a command requires a index, it chooses a random List variable and chooses a index number that is valid for the List variable.

Teto and Miku have their own separate Hypnosis Meter, meaning that Miku can be at for example, 30, but Teto can be at 20. And one more thing, if one of them reaches 100, then if the other does, Mesmerizer won't play again if the first one still is at 100.

Programs in Mesmerizer

Hello, world!

Teto:

Ready for Performance!
Send Message “Hello World!”
Resist Teto
Shut down…

Miku:

Nothing.

Cat program

Teto:

Ready for Performance!
Quiz Time! “Type something!”
Resist Teto
Wait
Resist Teto
Send Message Output
Resist Teto
Shut Down…

Miku:

Ready for Performance!
Wait
Wait
Set the Stage “Output” to Input!
Wait
Wait
Wait
Shut Down…