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
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.
| 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.
| 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
| _ | _ | _ | _ | _ | _ | _ | _ |
| | | | | ||||||
| | | | | ||||||
| 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
| _ | _ | _ | _ | _ | _ | _ | _ |
| | | | | ||||||
| | | | | ||||||
| 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.