recursal/Fanatic-Fandom huggingface dataset:
Head

The **Head Nodon** is an Object Nodon that simply creates an invisible non-solid box that follows the camera, which objects may be attached to. Only 1 can be called per program, but may not be called if the object-cost limit is full.

When unpausing from a long pause in Free Programming, it may say "I'm trying to think about how to bring your game to life... Now this is a real head-scratcher...". In the Nodopedia, its quote is "Use me to connect objects to the camera's position! I'll make sure your head's screwed on tight!".

## Calling

This Nodon can be called through the following tree.

* Objects
	+ Game Screen / Camera
		- First Person
			* **Head**

## Technical

The "Head" is a 0.50m×0.40m×8.00m invisible non-solid box that constantly follows the camera's position and rotation and only exists when this Nodon is present.

Despite that neither a 'Position' or 'Rotation' setting is visible in this Nodon's settings, it can be fully positioned in 3D space and rotated around the Y and Z axes on the program screen. Unlike its position and rotation, this Nodon's size is handled two-dimensionally, with its apparent vertical size remaining the same when switching program screen views. Of course, these parameters only affect how the Nodon appears on the program screen, and have no effect on the game screen.

This Nodon's Z-axis rotation resets when switching between views on the program screen.

### Connections

The Head Nodon cannot be part of a connection group that includes an Attract-Object, Game-Screen, Camera, Camera-Position, or Camera-Target Nodon.

* **Upper connection port** - Allows exactly one object to physically link itself directly to the Head. This object will ignore its 'Connection Type' setting and use the "Normal" connection type. All solid objects in this connection group will not collide with solid objects held by a Hand.
	+ This port can link to the lower connection ports of the following Nodon: Play Sound, Object, Fancy Object, Moving Object, Rotating Object, Extending Object, Text Object, Number Object, Effect, Touch Sensor, Destroying Sensor, Destroyed Sensor, Grabbed Sensor, Location Sensor, Speed Sensor, Acceleration Sensor, Angle Sensor, Rotation-Speed Sensor, Destroy Object, Teleport Object Entrance, Teleport Object Exit.
Armas

###### As 12 Armas Negras:

* Excallibur
* Joao Slayer
* Mamba Negra
* Moonslicer
* Varinha Anciã
* Lâminas do Caos
* Ebony & Ivory
* Gaé Bolg
* Versículos Perdidos

###### Espadas:

* Rebellion
* Yamato

###### Adagas:

* Lost Vayne
* Kraken
* Clone
* Os 10 Mandamentos
* 7 Adagas do Redig

###### Grimórios:

* Grimório do Artur
* Skill Hunter

###### Armas:

* Blue Rose
* Handgun

###### Outros:

* Gore Drinker
* Nunchakos do Grabe
* Machados do Draven
* Pezada
* Lapis do Erick
* Annihilation
Game Builder Garage Wiki

**Welcome to the Game Builder Garage Wiki!**
Game Builder Garage (GBG) is a programming game made by Nintendo that allows you to program your own video games then play/share them on your Nintendo Switch. Games can be shared via a code that allows others to download and play your game in GBG. GBG features several hours worth of tutorials to help get you comfortable making your own games. Don't know anything about programming? That's ok! With the aid of colourful creatures known as Nodon, there's no need to learn how to script like most game engines. Each Nodon represents standard functions used in game design programming! Simply connect Nodon together using the visual editor to get your game going. While the basics are simple, GBG has very complex tools for those willing to go the extra mile to make games just the way they might need. GBG allows you to use ALL standard Nintendo Switch mechanics, such as motion controls, IR camera input, touchscreen input, gyroscope, using full controllers, and using single Joy-Con held sideways.

The game was released on June 11, 2021 and is currently available for Nintendo Switch.

## Nodon

Frequently Used Nodon:

* Person
* Stick
* Button
* Object
* Launch Object

Nodon By Type:

* Input
* Middle
* Output
* Objects

**List of All Nodon**

## Other

**Update Log**

*Need help building out this community?*

* Rules of this wiki
Archy

*"Vencer o Feykro? Não sejam tolos"*

## Visão Geral:

Em Janeiro de 2024 o Exercito dos Furries a comando de Feykro capturou mulheres e aprisionou elas para que Archy usasse seu poder para engravida-las e aumentar seu exercito, fazendo uma hiper-produção de furries. O tempo de gestação necessário para um furry nascer é de 5 dias.

## Unique Skill:

#### Cum Body:

Fascinado com o fluido corporal masculino, Archy moldou sua aura para tomar essa forma, a partir daí ele se transformou em um homem-sêmen.

## Estilo de Combate:

#### Combate Viscoso:

Archy não sabe lutar, não tem nenhuma noção de sequer uma arte marcial. Ele confia muito em sua Unique Skill e luta com base dela, transformando o seu corpo e dando golpes com seu maço.

## Passiva:

Os fluidos gerados por Archy são inflamáveis

## Habilidades:

#### Cum Whip:

São criados chicotes de sêmen e fortificados com haki, assim criando um chicote mais forte do que um comum e podendo ser manipulado.

#### Cum Ball:

Arhy cria projéteis de secreção fortificados com haki.

#### Cum Prison:

Ele prende seu inimigo com seu sêmen viscoso, o deixando incapaz de se mexer.

#### **Overheat:**

Archy ensopa seu oponente de sêmen e usa sua magia de fogo para inflamar o fluido e com isso queimar seu adversário.
Mohamed Sanglard

*"Eu vou te derrotar, Leo."*

## Visão Geral:

Mohamed cresceu ouvindo histórias sobre Osama Bin Laden, o Estado Islâmico e o Talibã. Ele criou grande respeito por essas figuras, e se tornou facinado em explosões.

Em algum momento de sua vida, ele criou uma grande rivalidade com Leo Pezin.

No final de 2023, ele reencontrou Rogério, que foi seu professor de geografia em 2017, e virou um seguidor fiel de seus ideais. Ele ganhou destaque no exército do Rogério e virou um general.

## Personalidade:

Mohamed é arrogante e cruel, e adora destruição. Não sabe perder e quer mostrar que é superior a Leo Pezin.

## Unique Skill:

#### Argila Explosiva

Mohamed cria uma argila que pode ser moldada de diferentes formas e tamanhos, que é capaz de explodir de acordo com sua vontade.

## Estilo de Combate:

#### O terrorista

Mohamed é um combatente de loga distância, que voa em um grande pássaro feito de argila, utilizando suas diferentes argilas explosivas para obter vantagem sobre seu adversário.

## Passiva:

#### Homem Bomba

Se mohamed receber um golpe fatal em seu coração, se corpo se auto destrói.

## Habilidades:

#### C1

A argila mais simples e versátil de Mohamed. Ela é pequena e é moldada na forma de pequenos pássaros ou insetos, que são capazes de voar. Não tem grande poder de destruição.

#### C2

Um grande pássaros feito de argila, que Mohamed utiliza para voar. Ele cospe projéteis menores, que funcionam como mísseis autoguiados que tem poder médio de destruição.

#### C3

Uma estátua feita de argila explosiva com grande poder de destruição.
Digitize

The **Digitize Nodon** is a Middle Nodon that takes its input and returns it with its fractional part mapped to discrete stages between 0.00 and 1.00.

When unpausing from a long pause in Free Programming, it may say "Nice game. Really great. Like it a lot. Five stars.". In the Nodopedia, its quote is "Nice and neat. Neat and nice".

## Character

### Design

Digitize Nodon looks like a pixelated dog.

## Technical

### Calling

This Nodon can be called through the following tree.

* Middle
	+ Convert
		- **Digitize**

### Inputs

* **Input** - The value received as input that will be used in the conversion.

### Outputs

* **Output** - Outputs the quantized input, according to the specified number of stages.
	+ The quantization step size is determined by the following expression:

	1

	/

	(
	N
	u
	m
	b
	e
	r

	o
	f

	S
	t
	a
	g
	e
	s
	−
	1
	)

	{\displaystyle {1 / (Number~of~Stages - 1)}}

		- When an input is exactly between two stages, it will be converted to the higher one.
		- For example, if the Number of Stages is set to 5, the quantization step will be 0.25, and the fractional part of the input will be converted to its nearest among the following 5 stages: 0.00, 0.25, 0.5, 0.75, and 1.00.

### Settings

* **Number of Stages** - Sets the number of stages that values in the range 0.00 to 1.00 can be divided into. Limited to whole numbers between 2 and 50.
	+ By default, the number of stages is 2.
Camera

The **Camera Nodon** is an Object Nodon that influences the camera. Only 1 can be called per program, but may not be called if the object-cost limit is full. It also may not called simultaneously with a Game-Screen, Camera-Position, Camera-Target, Camera-Direction, or Camera-Angle Nodon.

When unpausing from a long pause in Free Programming, it may say "Need a camera? You're in good hands.". In the Nodopedia, its quote is "If you're particular about your camera angles, you've run into the right Nodon.".

## Calling

* Objects
	+ Game Screen / Camera
		- **Camera**

## Technical

The names of this Nodon's input ports are displayed, even when unselected, in the Nodon's box on the program screen Canvas when zoomed in far enough.

### Inputs

* **⬍Up/Down** - [TBD]
* **⬌Horizontal** - [TBD]
* **Reset** - [TBD]
Slide Connector

The **Slide-Connector Nodon** is an Object Nodon that intercepts physical links to allow the connected object to move along a specified axis whilst connected to the connector object. It may not be called if the object-cost limit is full.

When unpausing from a long pause in Free Programming, it may say "(PLAYERNAME)! I'm going to stick with you until the end. Don't you worry!". In the Nodopedia, its quote is "I get in the middle of objects and let them slide! You can count on me!".

## Calling

This Nodon can be called through the following trees.

* Objects
	+ Connections
		- Slide Connectors
			* **X Slide**
			* **Y Slide**
			* **Z Slide**

## Technical

This Nodon intercepts connections between objects but the connected objects are treated as if they were directly connected to the connector object, without any buffer or special connecting object, but simply with the capability of moving along a certain axis.

Despite that there is no visible 'Rotation' setting for this Nodon, it can freely rotated around the Y and Z axes on the program screen. When resizing this Nodon on the program screen Canvas, all size dimensions of its box are forced to stay identical.

### Inputs

* **Slide amount** - If this port is unconnected, then connected objects are able to slide freely along the selected axis within the range specified in the 'Range' setting. When this port is connected, the value received determines the exact position offset that the connected object should be located at on the selected axis.
	+ This port has no effect on objects with the "Movable" property disabled.
	+ If the value provided would cause an object (with the "Solid" and "Moveable" properties enabled) to intersect with the world's edge, the object may still slowly move away from the position specified to stay inside the world's bounds.

### Connections

* **Upper connection port** - [TBA]
* **Lower connection port** - [TBA]

### Settings

* **Slide Axis** - Determines which axis the connected object can move along.
	+ This option is selected when initially calling the Slide-Connector Nodon.
* **Range** - Determines the range of position offsets that connected objects may move to, with the object sharply stopping if it reaches an edge. The edges of the range can be anywhere between -100.00 to 100.00.
	+ Defaults to the range from -100.00 to 100.00.
* **Position** - Determines where the Nodon is positioned on the program screen, and can also be adjusted directly from that screen.
Bob

**Bob** is the main instructor of all 7 interactive lessons. He also appears in the Programming 101 lesson as an introduction to programming.

You can also interact with him in the final lesson, mainly for choosing obstacles. For all lessons, Bob instructs you to bring out Nodon, change settings, etc.

You can find him in the first game, Programming 101.
Free Programming

**Free Programming** is a main game mode of *Game Builder Garage*. In it, players can freely program their own unique games with no restrictions, and without Bob or Alice running everything. This mode is not available from the start, and is only unlocked after completing Tag Showdown.

Up to 64 user-created games can be saved in this mode, with games built in Interactive Lessons added on top of them. Games in Free Programming may be sent and received between nearby consoles through local wireless, or be sent and received online using Game IDs.

The downside: You will most likely be overwhelmed with all the unexplained Nodon.
Timer

The **Timer Nodon** is a Middle Nodon that, once activated, generates an output after waiting a specified time.

When unpausing from a long pause in Free Programming, it may say "Hmph. Breaks are encouraged, but...the clock is ticking.". In the Nodopedia, its quote is "My only job is to wait until the scheduled time. That is all.".

## Calling

This Nodon can be called through the following tree.

* Middle
	+ **Timer**

## Character

### Personality

The Timer Nodon is shown to be extremely punctual, and it gets irritated easily when it is called off schedule.

## Technical

### Inputs

* **Input** - When this value is not 0.00, the Timer Nodon will be activated, and will wait the time specified in the 'Output after How Many Seconds?' setting, before activating its 'Output' port. While the Nodon is active, input from this port is completely ignored.

### Outputs

* **Output** - Outputs 1.00 after waiting the time specified in the 'Output after How Many Seconds?' setting, and continues to for the length specified in the 'Continue Output for How Long?' setting, before deactivating itself.

### Settings

* **Output after How Many Seconds?** - Determines how long after being activated that the Nodon will start outputting a signal. Measured in seconds.
	+ Defaults to 1.00.
	+ This setting is displayed in the Nodon's box on the program screen Canvas.
	+ Each unit of 1.00 will always count as exactly 60 frames, even if the game is running slower than its usual 60 frames per second, meaning actual wait time may vary.
* **Continue Output for How Long?** - Determines how long a timer will output 1.00 for, before deactivating itself. 0.00 causes it to last a single frame.
	+ Defaults to 0.00.
	+ Each unit of 1.00 will always count as exactly 60 frames, even if the game is running slower than its usual 60 frames per second, meaning actual wait time may vary.
User-Made-Games

**User-Made Games** are games that have been shared online by programmers.

They can either be received online or locally. To receive a game online, the person has to enter the game's ID, and to reveive a game locally, a list of games from programmers near their location show up.

there’s also a website called GBG shop that holds a lot of codes here’s the link: https://gbgshop.glide.page/dl/discover

## List of known games

* MIDNIGHT ALONE
* HIM - A Horror Game
* horror maze
* House Of Mystery
* The Haunting
* Ronald's Filet-o-Fish
* Luigi gets some milk, and dies
* Joe Biden Gets Milk
* Lego Simulator
* Fancy Hippo
* This is a game... or maybe not
* Just a cute puppy game
* Jerry The Ice Cube
* Trolled Platformer
* Super Garage Odyssey
* super players 3d adventure
* Just a game 1,2,3,1.0,2.0,3.0,tv,hand-held ver,game screen, camera noddn
Comparison

The **Comparison Nodon** is a Middle Nodon that takes two inputs, compares them, and outputs a signal if the two numbers match the specified condition.

When unpausing from a long pause in Free Programming, it may say "(PLAYERNAME)! What kind of game are you making? Is it a good game? Or a not-so-good game? Comparatively speaking.". In the Nodopedia, its quote is "I compare two numbers according to the conditions you give me. But what will they beeee?".

## Character

### Design

It is a balance scale with eyes on both sides of the scale, and a purple mouth mouth with a pink tongue inside it.

### Personality

The Comparison Nodon often gets very curious and impatient.

## Calling

This Nodon can be called through the following tree.

* Middle
	+ Comparison
		- **=**
		- **<**
		- **>**

## Technical

### Inputs

* **Input 1** - Receives the first value used in the comparison.
* **Input 2** - Receives the second value used in the comparison.

### Outputs

* **Result** - Outputs 1.00 if the numbers match the comparison specified in the 'Comparison Method' setting is true.

### Settings

* **Comparison Method** - Determines the comparisons performed on the numbers. If it's '=', 'Input 1' must be equal to 'Input 2'. If it's '>', 'Input 1' must be greater than 'Input 2'. If it's '<', 'Input 1' must be less than 'Input 2'. If it's '≥', 'Input 1' must be greater than or equal to 'Input 2'. If it's '≤', 'Input 1' must be less than or equal to 'Input 2'.
	+ Can be called as "=", ">", or "<".
	+ This setting is displayed in the Nodon's box on the program screen Canvas.

## Built-In Uses

### Interactive Lessons

It is introduced in Lesson 2 - On a Roll.

### Alice's Guide

Its first appearance in Alice's Guide is in "Judging Comparisons with the Comparison Nodon." After that, it appears in a few other sections, such as "Making Falls Dangerous" and "Debugging with a Number-Object Nodon."
Hand

The **Hand Nodon** is a nodon shaped like a hand. It is in the Object category and can summon a hand into the game that can be controlled with the Joy-Con. It's quote in the Nodopedia is "Want to grab something? I'll be your helping hand!". It is able to be linked with the Head Nodon in order to make a 1st person game. By default, tilting the controller aims the hand. This is a common target pointing technique in 3D user interfaces called "raycasting".

## Calling

This Nodon can be called through the following tree.

* Object
	+ Game Screen/Camera
		- First Person
			* **Hand**

## Character

### Design

It’s just a pink glove with a spring below.
Retry

The **Retry Nodon** is an Output Nodon that, when activated, restarts the current game, as if the standard retry function was used.

When unpausing from a long pause in Free Programming, it may say "Ugh... If you mess it up, you can always have another try... Lucky for you!". In the Nodopedia, its quote is "Ugh... I just wish I could redo this game from the start...".

## Calling

This Nodon can be called through the following tree.

* Output
	+ Retry/End/Swap
		- **Retry Game**

## Character

### Design

It is a retry symbol with eyes and a bear nose and mouth.

### Personality

This Nodon is portrayed as wistful and melancholic. They often talk about their lowest points and how they want to redo it again.

## Technical

### Inputs

* **Retry** - When a signal other than 0.00 is received, the game will restart from the beginning, as if it were freshly loaded.
	+ If multiple Retry/End/Swap Nodon are to activate at the same time, End-Game Nodon will be prioritized, followed by Swap-Game Nodon, followed by Retry Nodon. If input is received within the first few moments of the game loading, there will a short period of time before Retry/End/Swap Nodon will handle priority and then activate. If one of these Nodon receive a signal while on the program screen, nothing will happen.

### Settings

* **Transition Effect** - Determines which transition effect will occur when this Nodon triggers. Can be "Default", "Blink", or "Iris Shot".
	+ Defaults to "Default".
	+ "Default" is the transition effect used by the standard retry function.
Free Slide Connector

The **Free-Slide-Connector Nodon** in an Object Nodon that intercepts physical links to define the connected object's exact relative position along the specified axes, while letting it freely move along the others, all whilst connected to the connector object. It may not be called if the object-cost limit is full.

When unpausing from a long pause in Free Programming, it may say "You're back from your break a bit early, aren't you? I was just getting comfortable...". Its quote in the Nodopedia is "Check the Nodopedia? You mean like read the instructions? Pfff, no way! I do my own thing!"

## Calling

This Nodon can be called through the following tree.

* Objects
	+ Connections
		- **Free Slide Connector**

## Technical

This Nodon intercepts connections between objects but the connected objects are treated as if they were directly connected to the connector object, without any buffer or special connecting object, but simply with the capability of moving along any axis.

Despite that there is no visible 'Rotation' setting for this Nodon, it can freely rotated around the Y and Z axes on the program screen. When resizing this Nodon on the program screen Canvas, all size dimensions of its box are forced to stay identical.

### Inputs

* **X** - Determines the exact relative X position that the connected object will be located at relative to its starting connection point. This port will have no effect if the "X" option of the 'Slide Motion Input' setting is disabled.
* **Y** - Determines the exact relative Y position that the connected object will be located at relative to its starting connection point. This port will have no effect if the "Y" option of the 'Slide Motion Input' setting is disabled.
* **Z** - Determines the exact relative Z position that the connected object will be located at relative to its starting connection point. This port will have no effect if the "Z" option of the 'Slide Motion Input' setting is disabled.
	+ The above ports have no effect on objects with the "Movable" property disabled.
	+ If the values provided would cause an object (with the "Solid" and "Moveable" properties enabled) to intersect with the world's edge, the object may still slowly move away from the position specified to stay inside the world's bounds.

### Connections

* **Upper connection port** - [TBA]
* **Lower connection port** - [TBA]

### Settings

* **Slide Motion Input** - Determines which axes the connected object is not free to move on by itself, and therefore can be controlled via the corresponding input port. If an option is disabled, the connected object can move freely along the corresponding axis.
	+ By default, all three options, "X", "Y", and "Z", are enabled.
* **Position** - Determines where the Nodon is positioned on the program screen, and can also be adjusted directly from that screen.

## Built-In Uses

### Checkpoints

* Extra Checkpoint
	+ **30. Apple Delivery** - There is 1 total, and it is not interactable.
Position → Angle

The **Position → Angle Nodon** is a Middle Nodon that takes a horizontal and vertical position as input and outputs the position's angle of direction relative to the origin.

When unpausing from a long pause in Free Programming, it may say "Listen, bud. All I care about are angles. As long you toss plenty of those bad boys into your game, we can see eye to eye.". In the Nodopedia, its quote is "Turning positions into angles is my whole reason for being."

## Calling

* Middle
	+ Angle Calculation
		- **Position → Angle**

## Technical

The names of this Nodon's input ports are displayed, even when unselected, in the Nodon's box on the program screen Canvas when zoomed in far enough.

### Inputs

* **Horizontal position** - Defines the horizontal position of the point used in the calculation.
* **Vertical position** - Defines the vertical position of the point used in the calculation.

### Outputs

* **Angle** - Outputs the angle of direction that the point defined by the input ports is located from the origin (0, 0).
	+ 0° is output for a point directly right, 90° for directly upwards, 180° for directly left, and -90° for directly down.
	+ If both the 'Horizontal position' and 'Vertical position' ports receive 0.00, thus locating the defined point at the origin, the output will be 0.00.
On Start

The **On-Start Nodon** is an Input Nodon that simply generates an output when the program begins.

When unpausing from a long pause in Free Programming, it may say "Let's get this show on the road! Wheeee!". In the Nodopedia, its quote is "Ready... Steady... Go!".

## Character

### Personality

The On-Start Nodon is always excited and for its one signal at the start of the game, even though it complains that it's bored after.

## Technical

### Calling

This Nodon can be called through the following tree.

* Input
	+ State Change
		- **On Start**

### Outputs

* **If started** - Outputs 1.00 on the frame the program begins, and outputs 0.00 otherwise. This counts for loading the program, starting it from the program screen, using a standard retry, the Retry Nodon, and the Swap-Game Nodon.
Alice's Guide

**Alice's Guide** is a side mode that features short semi-interactive segments, with Alice and various Nodon explaining how to create various behaviors using such Nodon. The mode is accessible by pressing (Y) or manually selecting the button in the bottom left, while on the main Interactive Lessons or Free Programming screens. In puzzles of Checkpoints other than Checkpoints - An Introduction and Extra Checkpoint, there is a "Review Alice's Guide" option which lets the player view a specific segment of the guide, depending on the puzzle.
Middle

**Middle** is a category of Nodon that typically take received data, manipulate it, and output the manipulated data. The main color of most Nodon in this category is green, but the main color of Program Layout Nodon is gray.

## Nodon Calling Tree

* Middle
	+ Calculate (+−×÷)
		- +
		- −
		- ×
		- ÷
	+ Convert
		- Map
		- Digitize
		- Square Root (√)
		- Absolute Value (Turn − to +)
		- + - Inversion
		- Trigger from 0
	+ Angle Calculation
		- Position → Angle
		- Angle → Position
		- Angle Difference
	+ Comparison
		- =
		- <
		- >
	+ Logic
		- AND
		- NOT
	+ Flag/Counter/Random
		- Flag
		- Counter
		- Random
	+ Timer
	+ Bull's-Eye
	+ Program Layout
		- Wormhole Entrance
		- Wormhole Exit
		- Comment
Angle Difference

The **Angle-Difference Nodon** is a Middle Nodon that outputs the distance between two angles.

When unpausing from a long pause in Free Programming, it may say "Thank you for this opportunity! You just leave any angle calculation to the professionals!". In the Nodopedia, its quote is "Ah, I know that look! You're wanting to calculate some angles, aren't ya? Instead of subtracting one from the other, you might want to give Angle Difference a try!".

## Calling

This Nodon can be called through the following tree.

* Middle
	+ Angle Calculation
		- **Angle Difference**

## Technical

### Inputs

* **Angle 1** - Receives the first value used in the operation.
* **Angle 2** - Receives the second value used in the operation.
Wormhole Entrance

The **Wormhole-Entrance Nodon** is a Middle Nodon that receives input and sends it to a corresponding Wormhole-Exit Nodon to output.

When unpausing from a long pause in Free Programming, it may say "Entrance reporting! (PLAYERNAME) sighted! Break time over. Over.". In the Nodopedia, its quote is "This is Entrance. Input value will be transmitted to Exit on schedule, five by five, over!".

## Calling

This Nodon can be called through the following tree.

* Middle
	+ Program Layout
		- **Wormhole Entrance**

## Technical

When resizing this Nodon, the width and height of its box must remain identical, forcing it to remain a square at all times.

The name bar of this Nodon is never displayed on the program screen Canvas.

### Inputs

* **Entrance** - Receives a value to send to all Wormhole-Exit Nodon with a matching 'Wormhole ID'.

### Settings

* **Wormhole ID** - Determines which Wormhole-Exit Nodon will receive this signal. There are 26 options, each represented by a letter of the Latin alphabet (A, B, C, etc.). All Wormhole-Exit Nodon Nodon with the same selection for their own 'Wormhole ID' settings will output the value received at the 'Entrance' port.
	+ Defaults to "A".
Square Root

The **Square-Root Nodon** is an Middle Nodon that simply takes its input value, and outputs its square-root.

When unpausing from a long pause in Free Programming, it may say "Erm... Hm... I'm not too sure about this.". In the Nodopedia, its quote is "I work pretty well with distance calculations... Just point me at 'em!".

## Calling

This Nodon can be called through the following tree.

* Middle
	+ Convert
		- **Square Root (√)**

## Technical

### Inputs

* **Input** - Receives a value for the calculation.

### Outputs

* **Output** - Outputs the square-root of the value currently received in the 'Input' port.
	+ If the value received at 'Input' is less than 0.00, this port will output 0.00.
Kapazitätsauslastung

Die Kapazitätsauslastung sagt aus, wie viel zur Verfügung stehende Kapazität im Unternehmen tatsächlich genutzt wird. Die Kapazität bestimmt sich durch die Maschinen, die im Betrieb laufen, die verfügbaren Arbeitsstunden, etc. Im besten Fall liegt die Auslastung bei 100%, das heißt, wir haben keine freien Kapazitäten und keinen Leerlauf an den Maschinen, wir sind also voll ausgelastet und arbeiten auf Hochtouren. Die Effekte dabei sind, dass wir die Herstellungskosten so gering wie möglich halten und dadurch einen hohen Gewinn erhalten können.
Wormhole Exit

The **Wormhole-Exit Nodon** is a Middle Nodon that receives values from corresponding Wormhole-Entrance Nodon to output.

When unpausing from a long pause in Free Programming, it may say "This is Exit. Repeat, Exit. Programming work is proceeding on schedule, over.". In the Nodopedia, its quote is "This is Exit. Waiting for the good news from Entrance, over!".

## Calling

This Nodon can be called through the following tree.

* Middle
	+ Program Layout
		- **Wormhole Exit**

## Technical

When resizing this Nodon, the width and height of its box must remain identical, forcing it to remain a square at all times.

The name bar of this Nodon is never displayed on the program screen.

### Outputs

* **Exit** - Outputs the sum of the values sent by Wormhole-Entrance Nodon with a matching 'Wormhole ID'.

### Settings

* **Wormhole ID** - Determines which set of Wormhole-Entrance Nodon signal is received from. There are 26 options, each represented by a letter of the Latin alphabet (A, B, C, etc.). The sum of the values sent by Wormhole-Entrance Nodon with the same selection for their own 'Wormhole ID' settings, will be output through the 'Exit' port.
	+ Defaults to "A".
Comment

The **Comment Nodon** is a Middle Nodon that displays a customizable string of text as its name, and otherwise serves no function. Up to 24 can be called per program.

When unpausing from a long pause in Free Programming, it may say "Is success far off, Or just around the corner? If you're skilled, it'll be the former.". In the Nodopedia, its quote is "If your programming ambition is sincere, then keep your memos clean and clear."

## Calling

This Nodon can be called through the following tree.

* Middle
	+ Program Layout
		- **Comment**

## Character

### Design

The **Comment Nodon** looks like a grey calendar, with thick eyes, a white moustache, green glasses, and dark green eyelids.

### Personality

*[description of personality here, they are characters after all]*

## Technical

### Settings

* **Comment** - Determines what displays as this Nodon's name on the main program screen. This can be a single line of up to 100 characters.
	+ Defaults to "Comment".
	+ If the text is empty, the name bar of this Nodon will not be displayed.

## Built-In Uses

### Interactive Lessons

* Lesson 6: Thrill Racer
	+ **3. Finding the Winner** - The Comment Nodon is called twice during this step, used to encompass the code that determines what happens when someone finishes the race. The player is asked to name the first Comment Nodon "Win", and to name the second "Lose".

### Checkpoints

* Extra Checkpoint
	+ **26. UFO Catching** - There are 4 total, and none are interactable. They serve to indicate to the player the orderly directions in which the UFO will move.
Angle → Position

The **Angle → Position Nodon** is a Middle Nodon that takes an angle as input and converts it into a horizontal & vertical position.

When unpausing from a long pause in Free Programming, it may say "Erm...I know I'm a bit hard to follow... If only I were simpler...". In the Nodopedia, its quote is "So, I output sines and cosines. Just don't ask me what any of that means...".

## Calling

* Middle
	+ Angle Calculation
		- **Angle → Position**

## Technical

The names of this Nodon's output ports are displayed, even when unselected, in the Nodon's box on the program screen Canvas when zoomed in far enough.

### Inputs

* **Angle** - The angle of direction that the calculated position will be located from the origin.

### Outputs

* **Horizontal position** - Outputs the horizontal position of the point a distance of 1 unit away from the origin in the angle of direction received at the 'Angle' port. This is the cosine of the received angle.
* **Vertical position** - Outputs the vertical position of the point a distance of 1 unit away from the origin in the angle of direction received at the 'Angle' port. This is the sine of the received angle.
Characters

Here are all of the characters in Lunar Nights.

## Characters

### Lunar Students

* Niobe
* May
* Lyra

* Apollo
* Tiffany
* Brett
* Jeffery
* Luke
* Cristian
* Lauren
* Rita
* Cleo
* Scarlett
* Wesley
* Lady Justice

### Solar Students

* Barbra
* Lia
* Fay
* Morgan
* Austin
* Trevor
* Ben

### Dawn students

* Mary
* Anne
* Lori
* Michael
* Grayson
* John

### Dusk students

* Nika
* Henry
* Hamilton
* Alex
* Jill
* Trinity

## Villians

(W.I.P)

* Alba
* Maren
* Gaby
* Urania
* Liza
* Helios
* Minerva
* Venn
* Toren

## Lunar Stars

Tori Roni

August Roni

Sora Roni

Princess Io
Bull's-Eye

The **Bull's-Eye Nodon** is a Middle Nodon that generates an output based on how markers overlay with it on the program screen.

When unpausing from a long pause in Free Programming, it may say "My dear guest, would you kindly make use of our humble markers?". In the Nodopedia, its quote is "Dearest guest, thank you truly for making use of our humble markers.".

## Calling

This Nodon can be called through the following tree.

* Middle
	+ **Bull's-Eye**

## Character

### Personality

This Nodon does not reveal much of its personality, as it does not appear in the Interactive Lessons or Alice's Guide.

## Technical

### Outputs

* **Marker amount** - Outputs a signal based on how markers produced by the IR Motion Camera, Marker-Display, 2D-Marker-Display, and Continuous-Marker-Display Nodon, overlap with this Nodon. The Bull's-Eye Nodon cannot detect markers created by any Nodon whose 'Activates Bull's-Eye Nodon?' setting is set to "Bull's-eye incompatible".

### Settings

* **Output** - Changes how the Marker input is turned into output. If set to "Analog", the value will by 0.00 when below the minimum value of the "Range" setting, and will gradually increase across the range, before reaching 1.00 above its maximum. If switched to 'Digital', if the input is within the values set in the 'Range' setting, it will output exactly 1.00, and will otherwise output 0.00.
	+ By default, it is set to "Analog".
* **Range** - Determines how much of the shape needs to be covered to send a signal, and how large of an input it needs to reach an output of 1.00 (If the 'Output' setting is set to "Analog". If set to "Digital", any signal past the maximum will be 0).
* **Bull's-Eye Shape** - Changes the shape of the marker sensor. If set to "Circle", a circle with a diameter 50% of the Nodon's lowest size dimension is set in the center of the Nodon. If set to "Rectangle", the sensor will occupy the whole Nodon.
	+ By default, it is set to "Circle".

## Built-in Uses

### Checkpoints

* Extra Checkpoint
	+ **40. Firework Show** - There are 19 total, and one is interactable. 1/1 of them may be moved along the program screen Canvas.
		- This Nodon starts at X: -1.20, Y: -2.80.
Acceleration Sensor

The **Acceleration-Sensor Nodon** is an Object Nodon that outputs the rate that the sensor's speed is currently changing along each axis, and is generally utilized by connecting it at the center of an object to output the object's acceleration. It may not be called if the object-cost limit is full..

When unpausing from a long pause in Free Programming, it may say "Ugh, I can't stand all this slow-and-steady stuff. I need that instant explosion of acceleration! I need some flash and pizzaz!". In the Nodopedia, its quote is "Pedal to the metal! You can count on me to monitor acceleration!".

## Character

### Design

*It’s design is 3 arrows within each other and has an antenna on its head.*

## Technical

The names of this Nodon's output ports are displayed, even when unselected, in the Nodon's box on the program screen Canvas when zoomed in far enough.

### Output Ports

* **X** - This port outputs the change in movement speed of the sensor's center point along the X-axis in meters per second sqaured.
* **Y** - This port outputs the change in movement speed of the sensor's center point along the Y-axis in meters per second sqaured.
* **Z** - This port outputs the change in movement speed of the sensor's center point along the Z-axis in meters per second sqaured.

### Connection ports

* **Lower connection port** - Physically links objects generated by Nodon on the game screen. When connected to this port,the object will be physically linked to the target object.
Nodopedia

The Nodopedia is a collective of all Nodon in the game, along with notes, how to use, quotes, and more, which can be accessed in the pause menu of any mode. A quick shortcut to the Nodopedia entry of a specific Nodon can be performed by opening the settings of that Nodon, then selecting the notepad icon in the top right corner of the screen. The Nodopedia is sorted by access trees and nodon type.
Texture

The **Texture Nodon** is an Object Nodon that places custom textures in the game world or apply them to objects. Up to 128 can be called per program, but may not be called if the object-cost limit is full.

When unpausing from a long pause in Free Programming, it may say "I'm quivering with anticipation for the unique vision you'll provide us!". In the Nodopedia, its quote is "Don't be afraid! Unleash your one-of-a-kind art on the game screen!".

## Calling

* Objects
	+ Special Objects
		- **Texture**

## Character

### Design

The Texture Nodon is a paint palette with the colors blue, green, yellow, and pink. It has big eyes with big, bushy, dark purple eyebrows and mustache. It also has a oval shaped, hot pink nose.

## Technical

On the program screen, this Nodon will display its entire texture within its own box. As such, the name bar of this Nodon is never displayed on the program screen. In the game world at the object's defined position, when unconnected, the texture will display, always facing the camera.

*[info about how the Drawing Canvas works here]*

### Inputs

* **Visible** - When this port is unconnected, the texture produced by this Nodon will always be visible. When it is connected, the texture will only be visible when a signal is received.
Vibration

The **Vibration Nodon** is an Output Nodon that will activate the rumble feature of a connected controller when it receives input.

When unpausing from a long pause in Free Programming, it may say "No-o-o-o-o need to r-u-u-u-ush. Let's ta-a-a-a-ake it nice and slo-o-o-o-o-ow.". In the Nodopedia, its quote is "Vrrrrrrrrr, I make the Joy-Con controller vibraaaaate.".

## Calling

This Nodon can be called through the following trees.

* Output
	+ Vibrate
		- **Joy-Con (L)**
		- **Joy-Con (R)**

## Technical

*[Info about this Nodon's interactions with the Nintendo Switch Lite needed]*

### Inputs

* **Vibration strength** - When a value greater than 0.00 is received, the specified controller's rumble feature will be activated, with the strength of the vibration depending on the input.

### Settings

* **Controller Number** - Determines which controller slot will have its controller rumble. Can be "1", "2", "3", "4", or Console.
	+ Defaults to "1".
* **Which Controller** - If the slot contains a pair of Joy-Con, determines which of the Joy-Con controllers should have their HD Rumble feature activated. Can be "Joy-Con (L)" or "Joy-Con (R)".
	+ This option is selected when initially calling the Vibration Nodon.
* **Continue Output for How Long?** - Determines how long the controller's rumble will remain active for, after a signal is no longer received at the 'Vibration strength' port, this retains the strength value last received for the duration. Can be any number between 0.00 and 100.00.
	+ Defaults to 0.00.
	+ Each unit of 1.00 will always count as exactly 60 frames, even if the game is running slower than its usual 60 frames per second, meaning actual wait time may vary.
* **Frequency** - For controllers with HD Rumble, determines the frequency that the rumble device will emit. Can be any whole number between 40 and 1280. Measured in hertz (cycles per second).
	+ Defaults to 170.
Stick

The **Stick Nodon** is an Input Nodon that generates output based on the position of a control stick on a controller.

When unpausing from a long pause in Free Programming, it may say "Wahoo! Give the control stick a good waggle!". In the Nodopedia, its quote is "Wahoo! I'll let you know what the control stick is up to!".

The Stick Nodon appears as the News channel icon for the Game Builder Garage channel.

## Calling

This Nodon can be called through the following trees.

* Input
	+ Stick Movement
		- *(L Stick)*
			* **Up/Down**
			* **Left/Right**
		- *(R Stick)*
			* **Up/Down**
			* **Left/Right**

## Character

### Design

The stick appears as a game controller stick with a red bottom. while having an orange top. similar to the button. it has blue eyes and mouth. with a yellow tongue.

### Personality

The Stick Nodon is shown to be an outgoing and enthusiastic Nodon, only waiting to be pushed by the player.

## Technical

### Outputs

* **Amount tilted** - Outputs the amount of control stick tilt based on its settings.

### Settings

* **Controller Number** - Selects which controller should be checked by this Nodon. Can be controller number 1-4, the Joy-Con attached to the console, or be automatically determined.
	+ Defaults to "Auto".
* **Output** - Determines whether the value output will be gradual between 0.00 and 1.00, outputting the control stick's exact tilt (Analog), or if it will a sharp value, simply giving if the stick is being tilted or not (Digital).
	+ Defaults to "Analog".
* **Range** - Determines the range of tilt values that are considered by the Stick Nodon.
	+ By default, the range is 0.10 to 1.00.
* **Direction of Response** - Determines which direction the control stick needs to be tilted to give an output. Can be "Any", "Up", "Down", "Left", "Right", "Up/Down", and "Left/Right". For the first five, a positive value is always output. For the latter two, a negative value is output if the stick is tilted down or left, respectively.
	+ Can be called as "Up/Down" or "Left/Right".
	+ This setting is displayed in the Nodon's box on the program screen Canvas.
* **Which Stick** - Determines which control stick is checked. "Left Stick" or "Right Stick".
	+ This option is selected when initially calling the Stick Nodon.

## Built-In Uses

### Interactive Lessons

* Tag Showdown
	+ **1. Adding Player Controls**
		1. One is called through "*(L Stick)* > Left/Right". This is the Nodon's introduction.
		2. The 'Amount tilted' output port is connected to a Person Nodon's '⬌Left/Right' input port.
		3. The Nodon is moved to a new position (X: -3.80, Y: 1.80).

[TBA]
Tag Showdown

**Tag Showdown** is the first of seven Interactive Lessons, in which Bob instructs the player to build a game of the same name. It has seven steps with a total of nine Nodon types introduced.

## Step 1: Adding Player Controls

Step Stats
 Nodon Called (3)
 Person ×1Stick ×1Button ×1
 Connections Made (2)
 Stick's 'Amount titled' to Person's '⬌Left/Right'
Button's 'If pressed' to Person's 'Jump'

In the first step, Bob introduces to the player the kind of game the player will be building, and shows them a video of the final product in action.

First, he has the player call a Person Nodon and view the person created on the game screen. Then, Bob instructs the player to attempt to move with the L Stick, but nothing will happen. Afterward, he has the player call a Left/Right Stick Nodon for the L Stick, and attach its 'Amount tilted' port to the Person Nodon's '⬌Left/Right' port. Now, retuning to the game screen, the player must, once again, attempt to move the person with the L Stick, which will now cause the person to move left and right on input.

Then, Bob asks the player to move the Stick Nodon out of the way, and then asks them to call a Button Nodon for the B Button. Then he asks for the Button Nodon to moved to the side and for its 'If pressed' port to be connected to the Person Nodon's 'Jump' port. Then, Bob will have the player press the B Button on the program screen, causing the person to jump.

He then asks the player to return to the program screen, and declares that the player has cleared Step 1, with the Nodon cheering for the player. He then recaps what has been accomplished in the first step, and tells the player what will be done in the next step.

## Step 2: Making the Floor and Walls

Step Stats
 Nodon Called (4)
 Game Screen ×1Object ×3
 Connections Made (0)
 —

[TBA]

## Step 3: Making Platforms

Step Stats
 Nodon Called (8)
 Object ×8
 Connections Made (0)
 —

[TBA]

## Step 4: Making the Tagger

Step Stats
 Nodon Called (3)
 Person ×1Stick ×1Button ×1
 Connections Made (2)
 Stick's 'Amount titled' to Person's '⬌Left/Right'
Button's 'If pressed' to Person's 'Jump'

[TBA]

## Step 5: Unleashing the Balls

Step Stats
 Nodon Called (4)
 Launch Objects (10) ×2Object ×2
 Connections Made (0)
 —

[TBA]

## Step 6: Automatic Retry

Step Stats
 Nodon Called (3)
 Object Break ×1Retry ×1Timer ×1
 Connections Made (2)
 Object Break's 'Broken count' to Timer's 'Input'
Timer's 'Output' to Retry's 'Retry'

[TBA]

## Step 7: Finishing Touches

Step Stats
 Nodon Called (0)
 —
 —

[TBA]

## Dialogue Logs

2. Making the Floor and Walls

3. Making Platforms

4. Making the Tagger

5. Unleashing the Balls

6. Automatic Retry

7. Finishing Touches
+ - Inversion

The **+− Inversion Nodon** is an Middle Nodon that simply takes its input, and outputs it with its sign inverted.

When unpausing from a long pause in Free Programming, it may say "Nothing like completely turning things on their head! Keeps people on their toes!". In the Nodopedia, it's quote is "I'll swap my input from plus to minus and vice versa! I'll turn your world upside down!".

## Character

### Personality

*[description of personality here, they are characters after all]*

## Technical

### Calling

This Nodon can be called through the following tree.

* Middle
	+ Convert
		- **+ - Inversion**

### Inputs

* **Input** - Takes in a value to have its sign reversed and sent out through the 'Output' port.

### Outputs

* **Output** - Outputs the value received from the 'Input' port, but with the opposite sign. Positive numbers become negative, and negative numbers become positive. This has no effect on 0, and it acts the same as multiplying by -1.