@luischo El RTS tiene dos dificultades añadidas muy importantes y que requieren un nivel de matemáticas y programación importantes:
1.Pathfinding de las unidades.
2. IA.
1. El primero "puede" gestionarse con más o menos dificultad si el juego es en 2d o en 3d, en función de los tamaños de los mapas, número de unidades y algunos parámetros más de menor peso. Pero vamos, da por hecho que suele ser un dolor de huevos muy muy bestia. Como todo, puedes hacer un copy&paste de A*A sin entender nada, otra cosa es que se vaya a adaptar bien a tu juego.
2. Este puede evitarse si el juego es full multijugador. Pero a su vez añade la complejidad del multi. Igualmente la IA, aunque no tengas máquina, siempre está presente como por ejemplo en el ataque automático de tus unidades al detectar enemigos. Que si lo piensas parece una trivialidad pero que en la práctica puede dar problemas y bugs.
En general, de todos los géneros clásicos el RTS es el más difícil de programar porque engloba todo el resto. Tienes colisiones, generación dinámica de objetos, pathfinding, IA complejas, un trabajo de optimización muy importante y muchos patrones de diseño que necesitan de una muy buena base en OOP: factory, bridge, strategy o el patrón observer son el pan de cada día en este género.
Yo practicaría y practicaría. Y sé que va a ser impopular lo que voy a decirte, pero todas esas mecánicas individuales deberías tratar de hacerlas funcionar en una framework gráfico como Monogame, LibGDx, SDL, etc. Es decir, está muy bien crear un cubo, darle a un checkbox que pone "Collider" y que de golpe haya colisiones. Pero es importante entender las bases y más si quieres hacer algo cuyo tutorial no vas a encontrar en youtube. Por ejemplo, sabrías triangular polígonos irregulares convexos? Cuando es mejor usar cálculos Manhattan vs Euclideos?