Me gustaría no tener que cambiar de programa para desarrollar mis juegos.
Al final el IDE o editor que uses no debiera interferir demasiado en tus proyectos. Sí es cierto que los compiladores que uses en cada IDE pueden ser diferentes y tener sus diferencias, pero vaya.
me pregunto si se puede hacer eso en codeblocks.
Se puede hacer, pero no en Code::Blocks, sinó en C/C++. Lo dicho arriba.
Desconozco cómo hacen otros juegos, pero si separas y delimitas bien la parte de dibujado de la lógica, te bastaría con poco más de unas condiciones para saber si llamar a unas funciones o a otras. Si utilizas C++, podrías hasta hacer una interfaz de la que hereden clases que manejen los motores. Solo sería inicializar un motor u otro.
Y claro, como dice Engel, tener cuidado de no mezclar el uso de los motores en una misma ventana xD