After weeks of thinking I finally figured out an expandable two portal system that you can see in the game portal (2)
You can open portals by pressing one of the switches. Once you got two portals, every time you set a new portal, the oldest one gets deleted.
You can simply teleport between two open portals by going into the teleporter.
I do plan on making a logic map with portals and stuff, but it will probably take a lot of time. Until that time, enjoy the demo of it:
- {l Code}: {l Select All Code}
arcade=0
name="Me And My Portal"
recordings=-1
size=1450,1000
time=-1
tile(Switch,900,850){
behaviour=on
id=14
}
tile(Switch,700,850){
behaviour=on
id=15
}
tile(Switch,500,850){
behaviour=on
id=85
}
tile(Block,350,900,150)
tile(Block,550,900,150)
tile(Block,750,900,150)
tile(Block,950,900,150)
tile(PlayerStart,400,850)
tile(Button,50,350,400){
behaviour=on
id=19
}
tile(Button,500,350,400){
behaviour=on
id=20
}
tile(Button,950,350,400){
behaviour=on
id=21
}
tile(Teleporter,500,900){
automatic=1
destination=28
id=22
message=" "
}
tile(Teleporter,700,900){
automatic=1
destination=29
id=23
message=" "
}
tile(Teleporter,900,900){
automatic=1
destination=30
id=24
message=" "
}
tile(Teleporter,1200,750){
automatic=0
id=25
}
tile(Teleporter,1250,750){
automatic=0
id=26
}
tile(Teleporter,1300,750){
automatic=0
id=27
}
tile(Teleporter,1200,800){
automatic=1
destination=22
id=28
}
tile(Teleporter,1250,800){
automatic=1
destination=23
id=29
}
tile(Teleporter,1300,800){
automatic=1
destination=24
id=30
}
tile(Teleporter,1200,850){
automatic=1
destination=26
id=31
}
tile(Teleporter,1250,850){
automatic=1
destination=27
id=32
}
tile(Teleporter,1300,850){
automatic=1
destination=25
id=33
}
tile(Block,1150,750,50,150)
tile(Block,1350,750,50,150)
tile(Block,1235,700,15,200)
tile(Block,1285,700,15,200)
tile(Block,1335,700,15,200)
tile(Button,950,500,200){
behaviour=on
id=42
}
tile(Button,1150,500,200){
behaviour=on
id=43
}
tile(Button,700,500,200){
behaviour=on
id=44
}
tile(Button,500,500,200){
behaviour=on
id=45
}
tile(Button,250,500,200){
behaviour=on
id=46
}
tile(Button,50,500,200){
behaviour=on
id=47
}
tile(Block,350,700,50,200)
tile(Block,350,650,750)
tile(Block,1050,700,50,200)
tile(MovingBlock,500,900){
MovingPosCount=4
activated=0
id=19
loop=1
t0=4
t1=0
t2=4
t3=0
x0=-50
x1=-50
x2=0
x3=0
y0=0
y1=0
y2=0
y3=0
}
tile(MovingBlock,700,900){
MovingPosCount=4
activated=0
id=20
loop=1
t0=4
t1=0
t2=4
t3=0
x0=-50
x1=-50
x2=0
x3=0
y0=0
y1=0
y2=0
y3=0
}
tile(MovingBlock,900,900){
MovingPosCount=4
activated=0
id=21
loop=1
t0=4
t1=0
t2=4
t3=0
x0=-50
x1=-50
x2=0
x3=0
y0=0
y1=0
y2=0
y3=0
}
tile(Teleporter,200,100){
automatic=1
destination=283
id=101
}
tile(Teleporter,150,50){
automatic=1
destination=278
id=102
}
tile(Teleporter,100,100){
automatic=1
destination=273
id=103
}
tile(Teleporter,150,100){
automatic=0
id=104
}
tile(Teleporter,1200,100){
automatic=1
destination=256
id=105
}
tile(Teleporter,1250,100){
automatic=0
id=106
}
tile(Teleporter,1300,100){
automatic=1
destination=268
id=107
}
tile(Teleporter,1250,50){
automatic=1
destination=263
id=108
}
tile(ShadowStart,1250,100)
tile(MovingShadowBlock,150,150){
MovingPosCount=3
activated=0
id=15
loop=1
t0=4
t1=4
t2=0
x0=0
x1=0
x2=0
y0=-50
y1=0
y2=0
}
tile(MovingShadowBlock,1250,150){
MovingPosCount=3
activated=0
id=15
loop=1
t0=4
t1=4
t2=0
x0=0
x1=0
x2=0
y0=-50
y1=0
y2=0
}
tile(MovingShadowBlock,1335,100,15){
MovingPosCount=3
activated=0
id=85
loop=1
t0=8
t1=8
t2=0
x0=-100
x1=0
x2=0
y0=0
y1=0
y2=0
}
tile(MovingShadowBlock,1200,100,15){
MovingPosCount=3
activated=0
id=14
loop=1
t0=8
t1=8
t2=0
x0=100
x1=0
x2=0
y0=0
y1=0
y2=0
}
tile(Teleporter,50,450){
automatic=0
id=130
}
tile(Teleporter,50,400){
automatic=1
destination=146
id=131
}
tile(Teleporter,100,450){
automatic=0
id=132
}
tile(Teleporter,100,400){
automatic=1
destination=148
id=133
}
tile(Teleporter,150,450){
automatic=0
id=134
}
tile(Teleporter,150,400){
automatic=1
destination=150
id=135
}
tile(Teleporter,200,450){
automatic=0
id=136
}
tile(Teleporter,200,400){
automatic=1
destination=152
id=137
}
tile(Teleporter,250,450){
automatic=0
id=138
}
tile(Teleporter,250,400){
automatic=1
destination=154
id=139
}
tile(Teleporter,300,450){
automatic=0
id=140
}
tile(Teleporter,300,400){
automatic=1
destination=156
id=141
}
tile(Teleporter,350,450){
automatic=0
id=142
}
tile(Teleporter,350,400){
automatic=1
destination=158
id=143
}
tile(Teleporter,400,450){
automatic=0
id=144
}
tile(Teleporter,400,400){
automatic=1
destination=160
id=145
}
tile(Teleporter,50,300){
automatic=0
id=146
}
tile(Teleporter,50,250){
automatic=1
destination=136
id=147
}
tile(Teleporter,100,300){
automatic=0
id=148
}
tile(Teleporter,100,250){
automatic=1
destination=184
id=149
}
tile(Teleporter,150,300){
automatic=0
id=150
}
tile(Teleporter,150,250){
automatic=1
destination=200
id=151
}
tile(Teleporter,200,300){
automatic=0
id=152
}
tile(Teleporter,200,250){
automatic=1
destination=106
id=153
}
tile(Teleporter,250,300){
automatic=0
id=154
}
tile(Teleporter,250,250){
automatic=1
destination=104
id=155
}
tile(Teleporter,300,300){
automatic=0
id=156
}
tile(Teleporter,300,250){
automatic=1
destination=138
id=157
}
tile(Teleporter,350,300){
automatic=0
id=158
}
tile(Teleporter,350,250){
automatic=1
destination=186
id=159
}
tile(Teleporter,400,300){
automatic=0
id=160
}
tile(Teleporter,400,250){
automatic=1
destination=202
id=161
}
tile(Teleporter,500,300){
automatic=0
id=162
}
tile(Teleporter,500,250){
automatic=1
destination=136
id=163
}
tile(Teleporter,550,300){
automatic=0
id=164
}
tile(Teleporter,550,250){
automatic=1
destination=184
id=165
}
tile(Teleporter,600,300){
automatic=0
id=166
}
tile(Teleporter,600,250){
automatic=1
destination=200
id=167
}
tile(Teleporter,650,300){
automatic=0
id=168
}
tile(Teleporter,650,250){
automatic=1
destination=106
id=169
}
tile(Teleporter,700,300){
automatic=0
id=170
}
tile(Teleporter,700,250){
automatic=1
destination=104
id=171
}
tile(Teleporter,750,300){
automatic=0
id=172
}
tile(Teleporter,750,250){
automatic=1
destination=138
id=173
}
tile(Teleporter,800,300){
automatic=0
id=174
}
tile(Teleporter,800,250){
automatic=1
destination=186
id=175
}
tile(Teleporter,850,300){
automatic=0
id=176
}
tile(Teleporter,850,250){
automatic=1
destination=202
id=177
}
tile(Teleporter,500,450){
automatic=0
id=178
}
tile(Teleporter,500,400){
automatic=1
destination=162
id=179
}
tile(Teleporter,550,450){
automatic=0
id=180
}
tile(Teleporter,550,400){
automatic=1
destination=164
id=181
}
tile(Teleporter,600,450){
automatic=0
id=182
}
tile(Teleporter,600,400){
automatic=1
destination=166
id=183
}
tile(Teleporter,650,450){
automatic=0
id=184
}
tile(Teleporter,650,400){
automatic=1
destination=168
id=185
}
tile(Teleporter,700,450){
automatic=0
id=186
}
tile(Teleporter,700,400){
automatic=1
destination=170
id=187
}
tile(Teleporter,750,450){
automatic=0
id=188
}
tile(Teleporter,750,400){
automatic=1
destination=172
id=189
}
tile(Teleporter,800,450){
automatic=0
id=190
}
tile(Teleporter,800,400){
automatic=1
destination=174
id=191
}
tile(Teleporter,850,450){
automatic=0
id=192
}
tile(Teleporter,850,400){
automatic=1
destination=176
id=193
}
tile(Teleporter,950,450){
automatic=0
id=194
}
tile(Teleporter,950,400){
automatic=1
destination=210
id=195
}
tile(Teleporter,1000,450){
automatic=0
id=196
}
tile(Teleporter,1000,400){
automatic=1
destination=212
id=197
}
tile(Teleporter,1050,450){
automatic=0
id=198
}
tile(Teleporter,1050,400){
automatic=1
destination=214
id=199
}
tile(Teleporter,1100,450){
automatic=0
id=200
}
tile(Teleporter,1100,400){
automatic=1
destination=216
id=201
}
tile(Teleporter,1150,450){
automatic=0
id=202
}
tile(Teleporter,1150,400){
automatic=1
destination=218
id=203
}
tile(Teleporter,1200,450){
automatic=0
id=204
}
tile(Teleporter,1200,400){
automatic=1
destination=220
id=205
}
tile(Teleporter,1250,450){
automatic=0
id=206
}
tile(Teleporter,1250,400){
automatic=1
destination=222
id=207
}
tile(Teleporter,1300,450){
automatic=0
id=208
}
tile(Teleporter,1300,400){
automatic=1
destination=224
id=209
}
tile(Teleporter,950,300){
automatic=0
id=210
}
tile(Teleporter,950,250){
automatic=1
destination=136
id=211
}
tile(Teleporter,1000,300){
automatic=0
id=212
}
tile(Teleporter,1000,250){
automatic=1
destination=184
id=213
}
tile(Teleporter,1050,300){
automatic=0
id=214
}
tile(Teleporter,1050,250){
automatic=1
destination=200
id=215
}
tile(Teleporter,1100,300){
automatic=0
id=216
}
tile(Teleporter,1100,250){
automatic=1
destination=106
id=217
}
tile(Teleporter,1150,300){
automatic=0
id=218
}
tile(Teleporter,1150,250){
automatic=1
destination=104
id=219
}
tile(Teleporter,1200,300){
automatic=0
id=220
}
tile(Teleporter,1200,250){
automatic=1
destination=138
id=221
}
tile(Teleporter,1250,300){
automatic=0
id=222
}
tile(Teleporter,1250,250){
automatic=1
destination=186
id=223
}
tile(Teleporter,1300,300){
automatic=0
id=224
}
tile(Teleporter,1300,250){
automatic=1
destination=202
id=225
}
tile(MovingShadowBlock,50,503,200,47){
MovingPosCount=3
activated=0
id=47
loop=1
t0=4
t1=4
t2=0
x0=0
x1=0
x2=0
y0=-50
y1=0
y2=0
}
tile(MovingShadowBlock,250,503,200,47){
MovingPosCount=3
activated=0
id=46
loop=1
t0=4
t1=4
t2=0
x0=0
x1=0
x2=0
y0=-50
y1=0
y2=0
}
tile(MovingShadowBlock,500,503,200,47){
MovingPosCount=3
activated=0
id=45
loop=1
t0=4
t1=4
t2=0
x0=0
x1=0
x2=0
y0=-50
y1=0
y2=0
}
tile(MovingShadowBlock,700,503,200,47){
MovingPosCount=3
activated=0
id=44
loop=1
t0=4
t1=4
t2=0
x0=0
x1=0
x2=0
y0=-50
y1=0
y2=0
}
tile(MovingShadowBlock,950,503,200,47){
MovingPosCount=3
activated=0
id=42
loop=1
t0=4
t1=4
t2=0
x0=0
x1=0
x2=0
y0=-50
y1=0
y2=0
}
tile(MovingShadowBlock,1150,503,200,47){
MovingPosCount=3
activated=0
id=43
loop=1
t0=4
t1=4
t2=0
x0=0
x1=0
x2=0
y0=-50
y1=0
y2=0
}
tile(MovingShadowBlock,50,485,150,15){
MovingPosCount=4
activated=0
id=47
loop=1
t0=4
t1=0
t2=4
t3=0
x0=0
x1=0
x2=0
x3=0
y0=50
y1=50
y2=0
y3=0
}
tile(MovingShadowBlock,300,485,150,15){
MovingPosCount=4
activated=0
id=46
loop=1
t0=4
t1=0
t2=4
t3=0
x0=0
x1=0
x2=0
x3=0
y0=50
y1=50
y2=0
y3=0
}
tile(MovingShadowBlock,500,485,150,15){
MovingPosCount=4
activated=0
id=45
loop=1
t0=4
t1=0
t2=4
t3=0
x0=0
x1=0
x2=0
x3=0
y0=50
y1=50
y2=0
y3=0
}
tile(MovingShadowBlock,750,485,150,15){
MovingPosCount=4
activated=0
id=44
loop=1
t0=4
t1=0
t2=4
t3=0
x0=0
x1=0
x2=0
x3=0
y0=50
y1=50
y2=0
y3=0
}
tile(MovingShadowBlock,950,485,150,15){
MovingPosCount=4
activated=0
id=42
loop=1
t0=4
t1=0
t2=4
t3=0
x0=0
x1=0
x2=0
x3=0
y0=50
y1=50
y2=0
y3=0
}
tile(MovingShadowBlock,1200,485,150,15){
MovingPosCount=4
activated=0
id=43
loop=1
t0=4
t1=0
t2=4
t3=0
x0=0
x1=0
x2=0
x3=0
y0=50
y1=50
y2=0
y3=0
}
tile(MovingShadowBlock,50,352,400,48){
MovingPosCount=3
activated=0
id=19
loop=1
t0=4
t1=4
t2=0
x0=0
x1=0
x2=0
y0=-50
y1=0
y2=0
}
tile(MovingShadowBlock,500,352,400,48){
MovingPosCount=3
activated=0
id=20
loop=1
t0=4
t1=4
t2=0
x0=0
x1=0
x2=0
y0=-50
y1=0
y2=0
}
tile(MovingShadowBlock,950,352,400,48){
MovingPosCount=3
activated=0
id=21
loop=1
t0=4
t1=4
t2=0
x0=0
x1=0
x2=0
y0=-50
y1=0
y2=0
}
tile(Teleporter,0,650){
automatic=0
id=256
}
tile(Teleporter,0,700){
automatic=1
destination=140
id=257
}
tile(Teleporter,0,750){
automatic=1
destination=188
id=258
}
tile(Teleporter,0,800){
automatic=1
destination=204
id=259
}
tile(Teleporter,0,850){
automatic=1
destination=138
id=260
}
tile(MovingShadowBlock,100,100,15){
MovingPosCount=3
activated=0
id=14
loop=1
t0=8
t1=8
t2=0
x0=100
x1=0
x2=0
y0=0
y1=0
y2=0
}
tile(MovingShadowBlock,235,100,15){
MovingPosCount=3
activated=0
id=85
loop=1
t0=8
t1=8
t2=0
x0=-100
x1=0
x2=0
y0=0
y1=0
y2=0
}
tile(Teleporter,50,650){
automatic=0
id=263
}
tile(Teleporter,50,700){
automatic=1
destination=142
id=264
}
tile(Teleporter,50,750){
automatic=1
destination=190
id=265
}
tile(Teleporter,50,800){
automatic=1
destination=206
id=266
}
tile(Teleporter,50,850){
automatic=1
destination=186
id=267
}
tile(Teleporter,100,650){
automatic=0
id=268
}
tile(Teleporter,100,700){
automatic=1
destination=144
id=269
}
tile(Teleporter,100,750){
automatic=1
destination=192
id=270
}
tile(Teleporter,100,800){
automatic=1
destination=208
id=271
}
tile(Teleporter,100,850){
automatic=1
destination=202
id=272
}
tile(Teleporter,200,650){
automatic=0
id=273
}
tile(Teleporter,200,700){
automatic=1
destination=130
id=274
}
tile(Teleporter,200,750){
automatic=1
destination=178
id=275
}
tile(Teleporter,200,800){
automatic=1
destination=194
id=276
}
tile(Teleporter,200,850){
automatic=1
destination=136
id=277
}
tile(Teleporter,250,650){
automatic=0
id=278
}
tile(Teleporter,250,700){
automatic=1
destination=132
id=279
}
tile(Teleporter,250,750){
automatic=1
destination=180
id=280
}
tile(Teleporter,250,800){
automatic=1
destination=196
id=281
}
tile(Teleporter,250,850){
automatic=1
destination=184
id=282
}
tile(Teleporter,300,650){
automatic=0
id=283
}
tile(Teleporter,300,700){
automatic=1
destination=134
id=284
}
tile(Teleporter,300,750){
automatic=1
destination=182
id=285
}
tile(Teleporter,300,800){
automatic=1
destination=198
id=286
}
tile(Teleporter,300,850){
automatic=1
destination=200
id=287
}
tile(Block,500,950){
appearance=PlayerStart_Scenery
}
tile(Block,700,950){
appearance=PlayerStart_Scenery
}
tile(Block,900,950){
appearance=PlayerStart_Scenery
}
scenerylayer(bg_background){
cameraSpeed=1,1
speed=0,0
scenery(brick_wall,400,700,650,200)
scenery(brick_wall,500,900)
scenery(brick_wall,700,900)
scenery(brick_wall,900,900)
}