Writing an engine from scratch is debatably more complicated since you need to do a lot of guesswork around what capabilities you actually need and how badly the artists and gameplay programmers will break everything - assuming your not doing it all solo.