The raycast library is very suited for this kind of stuff, but it would be like Wolfenstein, Doom was more advanced. Also, if you mix up basic 3D with 2D sprites would also work, but 3D is resource-consuming and tedious.