Grappling With Ideas
Grappling With Ideas is the Master’s game project that I - alongside four other grad students in my cohort - developed over two semesters at DigiPen. It is a 3D, first-person speedrunning game where the player uses a grappling hook to collect coins and complete levels as fast as possible. Our engine was developed from scratch, using only a handful of C++ libraries/APIs such as GLFW, listed above. You can watch the trailer here, and download the installer here!
During the first semester (the pre-production and engine development phase), I primarily concerned myself with Lua scripting integration with Sol, and user input handling through GLFW. This involved creating InputManager, ScriptManager, and ScriptComponent classes in the engine, exposing relevant C++ classes to Lua environments, and ensuring that ScriptComponents were correctly deserialized from JSON on engine start-up.
As we shifted from engine development to game production in the second semester, my role also shifted to that of Game Designer. In addition to my prior responsibility providing support to teammates regarding the engine’s scripting and input systems, I also did level design for the tutorial and one subsequent level, sourced and implemented assets, built the installer, tracked and fixed a lot of bugs and other issues, and worked closely with teammates on other various tasks to ensure that our resulting game would show off a little bit of everyone’s hard work.
So, after two semesters of development with five team members, our final product features…
- A ~15 minute, 3D, first-person speedrunning game featuring a grappling hook and clean, snappy physics.
- A tutorial level with contextual text pop-ups, plus three additional levels (one by yours truly), with your coins collected and best times saved.
- A real-time in-engine level editor created with ImGui, with the ability to add, edit, duplicate, and remove GameObjects, Components, UI elements, and Materials from Scenes.
- A JSON de/serialization system for saving and loading assets (textures, models, audio, scripts) and levels (GameObjects and Components).
- Shadow mapping, custom shaders, 3D particles, multi-camera/viewport rendering.
- Did I mention the physics? So smooth… So many man-hours…
I’m quite proud of what we achieved, and despite some development challenges, I couldn’t have wished for better teammates!
- PLATFORMWindows
- STACKC++, Lua/Sol, OpenGL, GLFW, GLM, FMOD, ImGui, RapidJSON
- WEBSITEhttps://youtu.be/lvzPAPG20hw

