Hello hello! This is a project write-up for my Portal 2 level: Cuboid.
Accomplishments
This project appeared on the front page of the Portal 2 Steam Workshop!
It is also highly rated and reached 5 stars across the community so far. (UPDATE OCTOBER 2024: This chamber has now reached 800+ ratings!)
I would say these are huge achievements and these accomplishments told me I’ve struck a good balance between difficulty, engagement, and approach-ability.
At a Glance
This level makes use of a few concepts:
- Advanced laser manipulation
- Reusage of elements
- Intentional element de-activation
- Intentional element respawning
With the following elements:
- Standard & Reflector Cube
- Laser Emitter & Catcher
- Floor & Cube Button
- Excursion Funnel
All of this combined into a bit of a little happy accident as the difficulty of this chamber naturally increased way beyond than what I originally had in mind.
Theme & Aesthetics
This level also takes in one of my favorite combined themes of a standard test chamber with the behind-the-scenes aesthetic. A sort of chamber that isn’t necessarily complete but functional.
It basically mimics the style Sustain was going for, but I think they’re both visually good.
The Process
The Process remains the same as ever. I start with prototyping a few ideas in Portal 2’s built-in editor. Its iteration time and rigidity actually helps confine my puzzle to more simpler mechanics, and then I won’t get carried away with setting something more advanced up (and find out it’s not a good idea and scrap it entirely).
The starting area, the white room with the laser was the first part of the puzzle to be made here. I came up with the idea to point the laser with a portal first, then redirect it with a cube to aim the laser while a fizzler locks the laser and portals in place. From there, the concept of the other rooms were sort of a juggle.
Initially I wanted to return to another “bootstrap” concept where activating something kept it where it was (akin to Sustain’s final setup). I wanted to work with launching a cube to a button on the wall to activate a funnel that kept it pressed. But this didn’t work out for 2 reasons:
- The most important one was the funnel not suspending the cube fast enough to keep the button pressed (the funnel was pointed at the button from side to side). This was fundamental to the concept and I just couldn’t get it to work.
- Another important thing was that strictly putting the funnel to point right at the button was a little un-intuitive. It locks the funnel for that one sole purpose and I didn’t want to create “empty” elements that didn’t serve a higher purpose.
I tried various other things with the intent of creating a room that deceptively looked like a “deadlock” but could be circumvented with a little clever thinking. Fizzlers were already an integral part of this puzzle. At this point, I redirected my focus. Instead of looking to add parts to the puzzle and giving them meaning, I wanted to strengthen an existing element further. The laser at this point was only used to disable the fizzler. So then, I added another laser catcher to unlock the door.
I toyed around with the idea of splitting the chamber in half, separating them with a pit, and mirroring the architecture (with a different “mini” puzzle on the other side). But obviously, with the final layout lacking this addition, that didn’t stick. I couldn’t find a meaningful way to justify this idea with another meaningful puzzle that could take on that same layout. Additionally, it just seemed needlessly complicated to separate the two. What did stick, however, was the pit. And at this point the exit was already barred with a grating. And we’re now so incredibly close to the final layout.
Some pondering later and smashing elements around, I finally got around to putting a cube button for the exit. Now, at the time, I wasn’t sure what I was doing. I was working sort of backwards, adding something and seeing how it can fit in the bigger picture and if it was something interactable or rendered the puzzle unsolvable. In this case, it obviously didn’t work without the addition of creating a portal-able surface. So I added that panel flipper with a floor button to go along with it, then allowed more portal-able surfaces to utilize the funnel to scale the gap. I then adjusted the already placed second laser catcher to more align with the cube button (so that pressing the button and aiming the laser at the catcher was part of the solution).
With that done, there was a glaring problem. With the pit in the way, you could essentially softlock yourself if you got rid of the funnel. For some reason, I thought the easiest solution to this was to make another connected area that could see the main zone and allow portalling there (with a fizzler to get rid of pre-placed portals and reserve that area for this purpose only). This lead to a lot of confusion on how this could be used as a part of the puzzle itself, as it looked important, even though it only served as an escape route. With the final layout, I reconfigured this with a simple corridor linking the exit and main area with a permanent fizzler. Not entirely sure why I overcomplicated it before!
When I was happy with it, it was ready for testing. I got a handful of friends to try it out, and patched out some initial exploits. With the lack of more advanced controls, though, the I couldn’t really help “cue” players in to important things to look at or what should be done. The chamber in itself is simple enough and easy to understand what to do, just how to do it wasn’t as clear as it could be.
Pictured: Puzzlemaker design close to the final layout
There used to be a laser field over the exit door to kill the player. Initially, I had this in to help reinforce the requirement of having the cube off the button powering the funnel, helping with progressing on the right path (when they are really close). I later discarded this because it just added clutter and more confusion rather than anything helpful.
But anyway, after all that and some note-taking, I set forth to remake it in Hammer. This was relatively straightforward. Nothing of real note to write here about. In hindsight, I should’ve taken some developer screenshots and videos to show the process, but I… didn’t do that.
Beyond that, reconstructing the puzzle from the built-in editor to Hammer was a little involving since the proportions were gonna be different to make it more compact and not seem as empty (with the default editor’s grid size of like 128Hu). So, naturally, exploits arose from this conversion process.
Many, many, many fixes
There were quite a few fixes that had to be put in place to address unintended solutions and general out-of-bounds exploits.
Before Release
The first issue I saw was being able to rise out of the chamber using the funnel in the Hammer-ized version (since it went for a different aesthetic). And, since I wanted to keep the “all white” look of the room, players could try and shove their portal as high as it could go. While it is not an out-of-bounds exploit, it does allow the player to see the backfaces which I didn’t intend to have to work on.
To fix this, I placed an invisible portal fizzler a little in the shaft and turned off the cube vaporization part. This will block portals going past it and turn off placed portals if the player decides to levitate up. This becomes irrelevant later.
Release Patches
Unintentional Solution
Initial release waves came in and there’s a bit of a major problem with the puzzle. The floor in the white room being, well, white, allowed an unintended exploit. If both cubes are placed close together, and the reflector is pointed towards the fizzler deactivation laser catcher, you could place a portal underneath the cubes and collect them by standing on the floor button and exposing the portal-able surface.
I’ve unfortunately had to abandon the “all white” aesthetic of the room and patched this by making the floor match with the rest of the level by turning it un-portal-able.
This actually turned out to be a plus anyway because now the laser had to be moved to the wall. Initially, I got feedback on the laser being hard to align properly with the portals with it being on the ceiling. With it moved to the wall, it’s now a lot more natural to line up and I can place a helper (that feels intuitive) to make sure it’s placed properly and ease that pain point.
QOL Patch
At this point I thought the glaring issues were gone (oh how wrong I was), so I pushed one more thing out as QOL.
- I switched off laser collision so it’s not painful to deal with.
- As part of feedback on the puzzle, I cleaned up some of the signage with at least the checkmarks being everywhere and reserved it only for the exit door. Making it a lot cleaner and easier to digest.
Another Exploit
Someone was able to cleverly parkour and physics their way to throwing the cube past the fence by using a once-portal-able wall. Looking back at this, it was kind of obvious this was gonna happen.
Persistence on Throwing
Someone was able to throw the cubes from the floor over the grate fence blocking the exit area from the main area. It barely made it over. So I raised the fence further up.
This update also moved the epic light that casts shadows to the exposed wall rather than in the ceiling. Wishing I could have more than one projected light…
Dropper Dropping Some Problems
Someone found a way to break the cube droppers from spawning their cubes by spamming the respawn button over and over. To remedy this, I just increased the delay on the button to longer so that the cube is guaranteed to come out before it can be re-invoked.
After that was done, it came to my attention that the excursion funnels could path straight through the cube droppers, catching the cube while it’s being dropped and confusing the dropper, making respawning the cube impossible due to how the logic is set up. I placed invisible barriers to block the funnels so this won’t happen. And hopefully it’s the last.
This update also changed some of the light strips present in the chamber to different colors (cool or warm), based on needing the cue players into doing something or just for aesthetic reasons.
Final Adjustments
At this point, plenty of time has passed. But I place a great amount of deal in aftercare for my work, so I came back to this and made a few adjustments:
- I added some additional signage to help direct the player when they enter the chamber for the first time (like where the exit is)
- Because I love lighting, I added some soft glow on the white signage as well
- The fizzler above the fence grating was removed because it became extraneous from raising the fence, so this was for clarity’s sake
- I made further adjustments to the indicator lights to try and keep them clean and easier to follow
Then, of course, someone comes along with another unintended solution, so that had to be patched out (floor button in the main area was converted into a cube button).
And that was that! Cuboid, in its glory. I’m sure there’s another solution out there somewhere, but let’s keep that a secret between us, okay?
Conclusion
All in all, a great chamber I think. Just needed further testing. I don’t know many in the Portal community, most of the people I know aren’t gurus or anything like that. So I was quick to patch out unintentional solutions. Even so, I’m very happy with where this chamber landed, and it’s another piece on my profile and my general portfolio.
Regardless of my “expertise” in creating puzzle designs, I still very much enjoy this process of making a new map for Portal 2 and the game has a soft spot in my heart as it was one of many things that kicked off my interest in game development. I think having fun with the process is important, and I definitely still do have fun. So until that stops, I’ll keep putting things out whenever I get a fleeting idea.