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.

Portals

From Esolang
Jump to navigation Jump to search
This is still a work in progress. It may be changed in the future.
This article is not detailed enough and needs to be expanded. Please help us by adding some more information.
Not to be confused with Portal, nor Portal 2.

Portals is a WIP Esolang made by User:A random guy that is based off of the game Portal.

Things about Portals

The esolang is going to be based off of making Chambers, having portals, propulsion gel, cubes, and basically just making a custom Test Chamber that can be used to do programs in. I will figure out a way to make this esolang work.

Object Types
Symbol Object Name Description
| _ Wall Blocks the players path and makes them collide against it.
B(Num) Blue Portal (needs number in front of the portal’s direction to know where it connects to) Enter this to go to the Orange Portal. Conserves Chell’s and other object’s momentum.
O(Num) Orange Portal (needs number in front of the portal’s direction to know where it connects to) Enter this to go to the Orange Portal. Conserves Chell’s and other object’s momentum.
@ Propulsion Gel on Ground When a object is thrown at this, it bounces.
~ S Propulsion Gel on Wall When an object is thrown at this, it bounces.
:(Elevation) ‘(Elevation) Elevation Simple, just makes a higher elevation floor that Chell can jump to. Can be stacked.
# Cube Push and use this cube to place on buttons and activate them
o c Button A button that can power something when a cube is on it, (c means that a cube is on it)
P p Button Pedestal Just like a button except Chell can press it herself instead of using another object.
^ v < > Wires for Buttons Transfers the power from a activated button to whatever source the wire connects to. Can represent multiple wires.
- Wire separator Makes it clear what wire travels to what if they intersect
x High-Energy Pellet Used to unlock doors, activate unstationary scaffolds, and raise platforms.
& Pellet Catcher Catches the pellet and activates the wire it's connected to, just to activate something.
U, u Unstationary Scaffold A platform that moves once activated, if it is a lowercase u, then it represents a border.
W, w Unstationary Scaffold Path The path a Unstationary Scaffold will follow, W would be forward, w would be backwards.
R(Levels Up) r(Levels Up) Raising Platform A platform that when powered, goes from it’s min height (determined by it’s the height of the elevation it’s on) to it’s max height, (determined by it’s Levels Up plus the height of the elevation it’s on) and does the reverse when unpowered. Lowercase r is the border.
L(Levels Down) l(Levels Down) Lowering Platform A platform that when powered, goes from it’s max height (determined by it’s Levels Down plus the height of the elevation it’s on) to it’s min height (determined by the height of the elevation it’s on, and does the reverse when unpowered. Lowercase l is the border.
C* Chell The player, iscontrolled by a separate panel. (The asterisk tells you what direction Chell is facing.)
E e Chamber Exit When Chell enters this, this means that she has successfully completed the Chamber, thus ending the program. Needs power to open. The more connections, the more power it needs. e signifies that it’s open.
D d Door Like a chamber exit except it only let’s Chell go to a section of the chamber she’s in, and doesn’t end the program. d signifies that it’s open.
+ Laser Shooter Shoots out a laser that can be bent.
/ \ Redirection Cube Chell can change the direction of this cube, to reflect lasers in a preferred direction
= “ ,, Laser Can be used to power things.
T Storage Cube Can store any amount of values or variables Chell wants.
? ! Output Button Prints whatever Chell selects to be outputted from the Storage Cube. (! means that a Storage Cube is on it.) Can power things just like a button

About Chell

Chell is the character you control, having actions to move, make portals, and other stuff that she can do to navigate the chamber.

Chell’s Actions
Actions Description
Face N/S/E/W Faces North (N), South (S), East (E) or West (W).
Walk Forward N Moves 1 tile forward wherever Chell is facing N times.
Jump Makes Chell Jump, she can only jump 1 Layer high and 3 tiles forward at whatever direction she is facing. (1 Tile forward per Action)
Pick Up Picks up any object in front of her.
Place Down Places down whatever object Chell’s holding with her Portal Gun.
Make “VariableName” Printable Self-Explanatory.
Make “VariableName” Unprintable Self-Explanatory.
Shoot B/O Shoots a Blue or Orange Portal at the direction Chell is facing at whatever wall is in front of Chell.
Remove Portal Removes a Portal and it’s counterpart in the direction she’s facing. (Has to be on the same layer.)
Add “VariableName” to Storage Cube with Value “String”/Number/Boolean Adds a new variable to the Storage Cube.
Edit Storage Cube’s “VariableName” to be “String”/Number/Boolean/Operations Changes a Variable to something else, can involve Operations.
Get User Input for (Type) Let’s the user type something as a type.
Edit Storage Cube’s “VariableName” to Input of Line n Kind of self-explanatory at this point.
Press Button Presses the Button on a Button Pedestal in front of Chell.
+ Addition or Concatenation.
- Subtraction.
/ Division.
* Multiplication.
^ Exponentiation.
log N(n) N is the base, n is the number in the logarithm. Basically does the logarithm of n base N.
() Parenthesis.
Randomize “Variablename” Self-explanatory.
Redo Chamber N times: (Indent, then stuff) A for loop that repeats whatever is in the indent N times.
Solve Chamber for (Logic): (Indent, then stuff) A If statement.
If Dies, Solve Chamber for (Logic): (Indent, then stuff) A Elif statement.
Redo Chamber Until (Logic): (Indent, then stuff) A While loop.
= Equals.
< Less Than.
> Greater Than.
<= Less Than or Equal To.
>= Greater Than or Equal To.
n AND N Logical AND.
n OR N Logical OR.
NOT n Logical NOT.

Programs in Portals

Hello World

Chamber
_ _ _ _ _ _ _ _
| |
| |
E < ? T *C |
| |
| |
_ _ _ _ _ _ _ _

Chell

Walk Forward 2
Pick Up
Add “HW” to Storage Cube with Value “Hello World!”
Walk Forward 1
Place Down
Face S
Walk Forward 1
Face W
Walk Forward 1
Face N
Walk Forward 1
Face W
Walk Forward 2

Cat Program

Chamber
_ _ _ _ _ _ _ _
| |
| |
E < ? T *C |
| |
| |
_ _ _ _ _ _ _ _

Chell

Walk Forward 2
Pick Up
Get User Input for String
Add “Cat” to Storage Cube with Value “”
Edit Storage Cube’s “Cat” to Input of Line 2
Walk Forward 1
Place Down
Face S
Walk Forward 1
Face W
Walk Forward 1
Face N
Walk Forward 1
Face W
Walk Forward 2

WIP.