We had played the game SineRider, which allows students to learn about graphing by having them construct a function to ride a sled down and pass through blocks. We thought that a 3D version of this game would be fun and educational for higher-dimensional functions.
What it does
A person playing the game can open up a level which has blocks at certain positions in 3D space. The person can type out a function of x and y, and a ball rolls down the function to pass through the blocks and score points.
How we built it
We used Blender as a physics and rendering engine and Python to script the 3D function and to script player inputs with game mechanics.
Challenges we ran into
Blender, usually used as a rendering engine, lacks detailed APIs for interaction with Python game mechanics, so we had issues figuring out how to integrate the two. Specifically, we had to learn on the fly to improvise our own substitute mesh for functions.
Accomplishments that we're proud of
Using multivariable calculus knowledge as a building block for creating 3d meshes.
What we learned
We learned a whole lot about the Blender render and game engine. We're happy that we got so far with a new program.
What's next for PlaneSurfer
Eventually, we hope to implement time-dependent parametric functions.