En un juego que estoy desarrollando para un cliente, un concepto clave del juego implica moverse en un mapa. En este caso, los tamaños y formas y demás de los distintos países son irrelevantes: pasar de un país a un país adyacente cuenta como un solo paso.
Estoy tratando de descubrir la mejor estructura de datos para representar internamente las conexiones entre los países. Para un país determinado, el juego necesita saber qué países son adyacentes, tanto para saber de qué manera pueden moverse los jugadores como para permitir que la IA del juego trace rutas, determinando posibles caminos de un país a otro. La IA también necesita evaluar qué tan bien conectado está un país, no solo con sus vecinos adyacentes inmediatos sino con los vecinos de esos países, etc.
He descubierto un par de posibilidades, pero parecen torpes e ineficientes. Debido a que la IA necesitará calcular un montón de rutas posibles para tomar buenas decisiones sobre su movimiento, "ineficiente" es muy problemático.
Sospecho que este es un rompecabezas de CS algo común y que hay una solución común, pero no he podido encontrar mucho buscando. Cualquier sugerencia es bienvenida.