I was wondering....

How would one go about creating an engine and getting it to load worlds and display them ? How would one know how to display stuff to screen and collision detection ?