Did you use something like Unreal or Unity for this, or start at a more foundational level and deal directly with graphics APIs etc.?
I ask as a matter of curiosity and personal interest--it's something I'd like to learn as a hobbyist, but my knowledge is limited to simple OpenGL tutorials and the (relatively speaking) watered-down Graphics course I took in College years back.