It might be neat and helpful to use a more sophisticated programming language for this project, such as JavaScript, C# and C++.
You might also add WASD support.
I am using Phaser 3 to create it. There were several tricky roadblocks I had to figure out but overall I am making good progress. Here is one of my old prototypes if you are interested: https://github.com/mariofan235/Odyssey_Maker