What is A Walk Through Code?
A Walk Through Code is the capstone project of my senior semester at Texas A&M. It is a short game designed with the scope of a proof-of-concept to teach introductory coding concepts to non-STEM majors.
Designed to simulate the logic and flow of code, AWTC gives players the chance to learn and explore in a virtual sandbox with many possibilities for expanded content.
How does it work?
The flow of a program is represented by a ball travelling down a series of tracks. Teleporter tracks function as “jump” statements — useable for loops and recursion, and even functions. Switch tracks provide branching logic based on the current color of the ball, which can be changed with color-changer track pieces.
Who made AWTC?
- Caleb Perkins — Lead Engineer
- Garrett Garbee — Designer
- Harrison Foster — Engineer
- Ruben Cardenas — Engineer
All three of my teammates on this project were unfamiliar with the game development pipeline, so I helped guide and onboard them to technologies such as the Unity engine and Plastic SCM.
Due to my previous experience working with the HTC Vive in Dimensional Shift, I tackled the VR code head on. This included everything from the teleportation to the code for picking up objects and moving them around.
While the Vive API includes many functions for movement and interaction, the specific nature of our game defied many of the pre-written tools. For example, the default throwable script was unusable for our game objects due to the way it calculated momentum.
UI / UX
One feature of the game is the ability to place new pieces of track within the game world. I designed and created a 3D “palette” to allow players to interactively grab and drop new track pieces into the game.
Particular attention was given to making sure controllers provided haptic feedback to the player, letting them know exactly when they were selecting an object.
The majority of my work involved manager / systems design to allow the flexible loading of any number of track pieces in any configuration. Additionally, the game manager kept track of the Vive controller references, as well as win / loss conditions.
I also connected the sub-components developed by my teammates and placed them in the Unity scene.