In this project, I learned a lot about opcodes and how systems function. I learned how to convert an Assembly instruction to something my emulator could interpret. I also learned about using external libraries and compilation methods like SDL2 and WebAssembly.
In this project, I learned a lot about using recursion and backtracing to solve a problem. This made me think differently about my approach to solving a problem as my usual method of creating a solution and then optimizing could not be done as it would be using brute-force. This would result in extremely long solve times for an almost trivial problem for a computer. Instead, I had to rethink my problem solving strategy and map out which functions and recursive calls would do what.