+ 1
Yes.
I would say is very essential. You would need a client side scripting language to give the player some sort of control. You can also take advantage of the many JavaScript libraries such as anime.js, three.js, jquery and the likes for faster development.