Tout dépends du moteur : celui ci peux se résumer à une simple boucle while(1) dans un programme en mode console qui affiche du texte.
Plus sérieusement, les moteurs correspondent à un besoin, exemple tu veux faire un jeu de plate-formes en 2d alors tu dois dans l´odre :
1) Afficher une image à l´écran
2) La faire bouger
3) Créer un système de scrolling
4) Gérer des entitées...
On ne crée pass un moteur pour créer un moteur, cela doit correspondre à l´orientation prise par ton jeu.
Maintenant ce qu´il faut c´est : 1 compilateur, de solides connaissance de programmation ( selon langage ) , une librairie graphique ( directX ou OpenGL par exemple ) et une idée...