NumberDNA Math Training Unity App |
October 2019 - February 2020 |
NumberDNA is a online math education platform being developed by two veteran high-school and college math teachers, Ed Kulka and Dan Neaton. Collaborating with them about design, I spent around 220 hours over five months developing and coding this alternative version of their math training tool in Unity Game Engine from scratch.
Note: Keyboard input is not supported on phones or tables.
Try installing the Android App instead.
iOS
is not supported.
The goal of their project as described on their website:
"Number DNA is a self-paced, web-based program of 16 foundational math units that identify what math skills a person may be missing and then teaches those skills in a series of mildly "gamified", 3 to 5 minute online math workouts that provide instant feedback and next steps. Mastering all of the 16 Number DNA units prepares students to take on (and succeed in) algebra, trigonometry, and beyond." - MyNumberDNA.com
The first major change I was implementing with my Unity based version NumberDNA was to make the level creation process table-driven.
Ed and Dan's process when I joined the team was to manually generate each level individually in separate static web-pages.
I boiled down the main logic happening in these hundreds of individually coded exercises and test, and boiled them all down to arounds 30 settings/variables, which were then encoded into an easily editable Excel table.
This made making a new level as simple as adding a new row to an Excel table and uploading the changes.
This dramatically increased the speed at which Ed and Dan could implement new levels.
The second major change I was planning was a series of modifications to their database and backed API to allow them to set up customized sets of curriculum.
With the above table-driven design, this would allow them to easily make new variations of their 16 foundational math units for more specific sets of users.
Additionally it would allow them to expand beyond their 16 math units while not requiring many code modifications in the future.
Also I found some potential security and scalability concerns and proposed fixes.
We amicably ended our collaboration when Ed and Dan decided that Unity was too complicated for them to learn. We were all grateful for the shared opportunity, and educationally we gained a great deal. Everyone involved joined this project to improve math education, not get rich, so we signed that both parties could use the Unity project as we individually saw fit going forward.
The final version version I developed is playable here. It fully supported 5 out of the 16 foundational math units Dan and Ed are planning for their curriculum.
We are now both separately working on making different tools to aid in math education world-wide.
From what I've been told most of the improvements I suggested above have already started to be integrated with their web-page-based version of NumberDNA.
I'm now branching this Unity project in a very different direction...
I still have lot I would like to do with my unity based version of NumberDNA at some point in the future. This would be in the form of a new math training app called GraphPaper.
I'm branching the project into a very different direction from what Ed and Dan were interested in developing:
I'm completely moving away from a curriculum and a timed (failable) level format.
Rather I'm letting the players pick their own problems -- hopefully off of their homework.
It will focus on being a tool to do homework problems which need to be done by hand because they can't fit in a person's working memory.
Game-play-wise its player loop is going to focus on checking player's arithmetic step-by-step.
Providing intermediate feedback early (in the middle of problems) should minimize the build-up of frustration by tightening the game-play-loop (doing math by hand and seeing if you did it correctly).
My goal is this will make math clear and understandable, hopefully allowing players to enter a state of flow while doing it.
It is not just going to give the player their answer (that's what the TI-84 calculator is for).
Some of the features I've planned to add include:
graphing,
fractions,
compound (many repeated or nested) operations,
possibly simple algebra (one to two variables),
possibly converting units,
allowing the player to choose which operations they want to practice.
May 2020: This project has mostly been put on pause when I started working on a VR title I'm current working on and hope to relase more information about in early 2021.