We could start from scratch and figure out a way of assembling all of these different pieces together.

Or, much easier, we can use a game engine.