I'm just curious, what are the most important c++ concepts you need to know (as specific as you can be) to create one, and where does one begin?
You need to know a lot about software design and engineering, mathematics, physics, etc. to create an engine.
Just starting to code at random will get you nowhere.
Once you have a proper design document, you can use that to figure out what programming tools/languages/libraries are appropriate to implement it.
More information about formatting options