Have you played the Mirror Game? If you’ve been following us on Twitch (and if you haven’t, what are you waiting for?) you’ll certainly know that we have. It’s an awesome game that takes familiar obby tropes and flips them (quite literally) in a way we haven’t seen before. The idea is ingenious in its simplicity: what’s more difficult than navigating a treacherous obstacle course? Navigating a treacherous obstacle course, based on a reflection. This gameplay mechanic is reflected (mirror puns!) by this awesome game created by cheatmaster18, with whom we got the chance to talk.
The Mirror Game started more as a conceptual challenge. In 2011, cheatmaster18 stumbled upon a random ROBLOX game that featured a functional mirror. Though a real-life mirror is a relatively simple notion, any developer will tell you that the scripting and building of an actual real-time consistent reflection is a massive undertaking. Building gameplay mechanics around this notion is, well, we don’t know what to call it. Hard is the first word that comes to mind.
“The hardest part of building a mirror is to get the parts within the mirror to stay up to date with the parts in the ‘real’ world,” cheatmaster18 explains. “The basics involve a complex formula that reflects positions relative to the mirror. Without that formula, parts would stay inside ‘real’ parts and push them away.”
Cheatmaster18 became fascinated with the idea of creating a mirror on ROBLOX, and wanted to build one to include in his recreation of Super Mario 64, a game I personally attribute to many awesome and profound childhood memories. As any Super Mario 64 veteran will tell you (probably not a lot of you, I’m old), there was a “Mirror Room” that transported you to various worlds throughout the game (including a one-way ticket to a rather epic boss fight, if memory serves correctly). In 2013, cheatmaster18 decided that his Mario 64 recreation would not be complete without mirrors.
“Originally I wanted to create a mirror room for my Super Mario 64 map. I was in a group at the time that was running a contest, and I actually ended up winning for Best Game. This encouraged me to think of new ideas for my mirrors.”
This lead to the idea of an obstacle course based entirely on reflections — which invariably lead to a new set of challenges to overcome. The Mirror Game didn’t just have to feature accurate reflections; those reflections had to determine how the game was played. Cheatmaster18 explains the arduous method:
“The real challenge here was to determine how I could hide or show hidden parts on the mirror-side, as well as manipulating part properties. In order to do this, I had to create a filter that gave me more control over part manipulation that I could use as an extension of the core script,” he explains.
“The final script is over 1,000 lines of code.”
The result is a phenomenal visual treat — each level features a different mirror that reflects all the pieces you need to navigate your way through the course. This involves extremely careful camera placement, well timed jumps and subtle movements, as well as a great deal of experimenting with each course. The Mirror Game is one of the most complex obbies on ROBLOX that features a steady learning curve and just the right amount of challenging components to make it addicting. Already featuring 13 challenging levels (the last of which can earn you admin commands), the Mirror Game is not even close to being finished.
“I’m planning on updating the reflection formula to support rotating,” says cheatmaster18. “My mirror can’t be rotated right now without breaking the reflection illusion. Imagine if it could! I could have a level with mirrors on the floors and ceiling that you could manipulate.”
Cheatmaster18 has also begun experimenting with our recently-released Developer Products — players can purchase “cheats” to help them get through a level that is too difficult. He’s also utilizing the Data Store so that game instances save every time you play — chances are, you’re going to have to visit this game more than once to truly beat it. Cheatmaster18 is also hard at work on the prototype of “The ROBLOX Phone”, an in-game GUI smartphone that utilizes data persistence so users can communicate across servers. This is the story of an innovative ROBLOX developer, and we never tire of telling these sorts of tales.
“I want the ROBLOX Phone to be used by everyone, so here’s a link to the model. This is the exact same one that is used in the Mirror Game, and the model will update itself as soon as I make any changes to it,” he tells me. “As long as it’s inserted into a place and owned by a place owner, everything will do itself.”
Cheatmaster18 gave a great interview, and his willingness to share his methods and fascination with creating reflecting surfaces was infectious. To close this particular article, cheatmaster18 broke down the mirror-making process into five steps. So if you’re an intrepid builder or scripter, this is something for you to try out:
- Get the position on the point you want parts to get reflected from.
- Get the offset of the part that you will reflect from the point.
- Get the rotation of the part
- Use a formula that can calculate the parts position on the mirror side of the refection point.
- When you have all the information, set the CFrame on the part.