Inspiration

For my project for this prestigious hackathon, we decided to incorporate mathematics into an appealing Roblox game. We was especially inspired by the past projects of this hackathon, in which most were substantially related to math. In addition, our team is especially intrigued by learning programs, such as Khan Academy and IXL; so, Xscape was born.

Several aspects of the game included topics from other video games (creators), such as Minecraft and Nintendo. The question crystals that give questions to the player are heavily influenced by Minecraft's End Crystals. One may already point out that the two names have "crystal" in them, and that is because they are designed to look almost the same. They both have the glass shell and levitate in the air. In addition, a few levels appear to be of Nintendo and Sonic style, with grass platforms and layouts. Lastly, the floating islands are inspired by SkyWars, a Minecraft subgame created by Simon "Hypixel" Collins-Laflamme and Philippe Touchette.

Finally, the whole premise of Xscape is influenced by the numberous obby (obstacle course) games on Roblox that perform very well in terms of statistics (players, visits, likes, favourites, etc.). We thought that if we could replicate the aesthetic and the attractiveness of those games.

What it does

Xscape is a fast-paced, math-based adventure game designed for middle schoolers to sharpen their skills and prepare for high school concepts. Players explore vibrant obby levels filled with interactive challenges and tasks:

🧠 Question Crystals: Touch to receive math questions—wrong answers or skipped attempts cost health, encouraging critical thinking. The obby levels are designed so that the players must touch these crystals to complete the level.

💰 Progression & Rewards: Complete levels to earn coins and XP, level up to receive gems, and upgrade physical movement stats (speed and jump ability) at the gym.

🛍️ Shops & Upgrades: Spend coins and gems in both a regular and premium shop to unlock items and enhance gameplay.

Xscape blends platforming, progression, and problem-solving into an engaging experience that makes learning math fun and transforms students into elite mathematical champions.

Currently, there are 20 levels that the player can complete, with the topics of addition, subtraction, multiplication, division, and algebra.

-- TESTING AND PLAYING: TO PLAY, YOU MUST INSTALL ROBLOX AND CREATE A ROBLOX ACCOUNT! There is a maximum server size of 3 players for 1 server.

How we built it

The game is primarily based upon a core loop, which is proven to appeal to players and keep them engaged, even over long periods of time. This loop consists of completing levels, upgrading their stats, and purchasing items (and then it repeats again in that order).

My teammate and I built Xscape using Roblox Studio, combining 3D modeling, scripting, and game design to bring our educational concept to life. We used a mix of free models from the Roblox toolbox and custom assets we created in Blender. The core gameplay logic was implemented using both Scripts and LocalScripts to handle UI interactions, question logic, power box mechanics, and the reward systems.

We used ProximityPrompts to allow players to interact with power boxes and Touched events to trigger math questions when players encountered Question Crystals. RemoteEvents were used to manage client-server communication, such as opening player-specific UI and handling reward distribution. This architecture allowed us to separate client-side interactions from server-side validations, ensuring a more secure and responsive gameplay experience.

The forcefield effect on the portals and the dimensional detectors are created by SpecialMeshes with the Forcefield material on. Textures on the SpecialMeshes were changed to those of a forcefield effect, and then, Roblox Studio rendered the forcefield effect to visualize the pulsing effect.

Generally, the most significant thing that we utilized to create this game is manifestly Roblox Studio itself.

Challenges we ran into

The first challenge we ran into was how the PlayerUI would activate once, but when the line of code that enabled it ran again, it wouldn't show up. So, we resorted to utilizing RemoteEvents to open the specific PlayerUI, and it worked. Secondly, we spent five days debugging the question crystals and coming up with a solution to the dilemma of problems. The first thought that came to mind when creating these crystals were utilizing normal LocalScripts. However, this only changed the Leaderstats of the player on the client side, making it confusing for other players. Then, we switched to normal scripts, but these were not able to reach the PlayerGui folder within the player. So, we spend the next two days contemplating what to do, until finally, we utilized a script for the touch function that fires a RemoteEvent on the client side, and then the client side LocalScript in ServerScriptService deactivates the question crystals, the dimensional detectors, and re-enables them after a period of time. Unfortunately, it was still very bugged, and we had to scrap the idea of dimensional detectors.

Accomplishments that we're proud of

It was very rewarding to see that the question crystals worked after the huge period of time spent working on it, and when we played the game ourselves, we were very impressed with what we have accomplished. The game seemed visually appealing, attractive, and fun at the same time while practicing our math skills. Moreover, we learned lots of Lua skills in the process of creating Xscape, so it was very beneficial towards our programming dexterity and future careers.

What we learned

We learned how to check for the player using the FindFirstChild function to see if there is a Humanoid within the Touched function, how to make the forcefield effect (we took a long time to exactly pinpoint how to get it since we were inconsistent when trying to replicate the process ourselves), how RemoteEvents and RemoteFunctions work, how to teleport players' characters, and more.

What's next for Xscape

Xscape can be easily upgraded with more levels, worlds, and items to boost players' experiences with the game. Hopefully, we can expand this game to VR, as it would be substantially intriguing to see someone attempt to jump over platforms in the sky while answering math questions. Adding on, we can hopefully make more Robux gamepasses and actually start earning profit from the game (Robux is Roblox's currency that is paid through money, and one can transfer Robux back to money).

Built With

  • 3d
  • 3dmodels
  • algebra
  • billboardgui
  • coding
  • localscripts
  • lua
  • materials
  • math
  • mathematics
  • mesh
  • part
  • plugins
  • problems
  • programming
  • properties
  • questions
  • remoteevents
  • roblox
  • robloxdatabase
  • robloxstudio
  • screengui
  • scripts
  • specialmesh
  • stem
  • surfacegui
  • tagservice
  • teamwork
  • union
  • x
  • xscape
Share this project:

Updates