Il ne suffit pas de connaitre (et très bien) le C++.
Il faut aussi maitriser les librairies graphiques qu´il utilise (SDL? OpenGL? ), les principes de la 3D, l´intégration des ressources dans le jeu etc....
Ensuite il te faudra trouver tous les outils et ressources complémentaires qui peuvent exister (éditeur de niveau, models etc..).
Puis se posera la même question que sous FPSC: comment gérer l´intelligence artificielle? Existe-t-il déjà des scripts? Ou bien va tu devoir les coder toi meme en C++ ou dans un pseudo-langage propre à Quake?
Le jeu gratuit "NEXUIZ" a été réalisé à partir d´un moteur Quake par des types qui sont de vrais pros.
Résultat: 3 ans et demi de développement.
FPSC est ce qu´il est, mais au moins il divise le temps de développement d´un jeu par 100 et ne demande que peu de compétences en programmation et en 3D.
Et je pense que dans l´absolu, il doit être plus infiniment plus simple de modifier les sources de FPSC (en dark basic) que de développer un jeu en C++ à partir de Quake.
Ce qui ne signifie pas que modifier FPSC soit facile, bien au contraire...