Da bi napravio dobar engine treba perfektno da valdas jezikom u kojem ces pisati (c++ ili neki drugi), da poznajes matematiku vezanu za 3d crtanje, da znas sta hoces da taj engine radi i da odlicno znas da radis sa DirectX-om ili OpenGL-ol.
Ja sam poceo da parvim mali game engine sa vrlo malo mogucnosti i mogu ti reci da mi i nije bas lako. Probaj da skines neki open source engine pa pogledaj kako je uradjen, ali mislim da ces se samo jos vise zbuniti kad budes video sve to. Bilo bi lepo kad bi negde postojao tutorial ili nesto slicno u kojem se objasnjava pravljenje nekog malog engina korak po korak. Mnogo je lakse nesto nauciti kad to pratis od samog pocetka nego kad svidis krajnje resenje za engine.