Aquí va una nueva actualización sobre el desarrollo de Russia 1917. Noviembre ha sido un mes especialmente intenso, con avances tanto en la interfaz como en el contenido histórico y la inteligencia artificial.
🌐 Actualización de la página de inicio
La página de inicio del juego ha sido rediseñada:
- Los botones son ahora dinámicos para ofrecer una interfaz más viva.
- Un nuevo menú presenta las funcionalidades previstas para futuras versiones, con el fin de orientar mejor a los visitantes sobre la evolución del proyecto.

⚔️ Incorporación de los 21 bandos enemigos
Los bolcheviques tendrán que enfrentarse ahora a 21 fuerzas opuestas, reflejando la complejidad de la guerra civil y de las intervenciones extranjeras.
Esta es la lista completa:
- Los alemanes
- Los norteamericanos (tropas llegadas a Múrmansk y Arcángel)
- Los nacionalistas burgueses bielorrusos
- Los nacionalistas burgueses finlandeses
- Los nacionalistas burgueses ucranianos (distintos de la Makhnovshchina)
- Los británicos (que intervienen en dos zonas diferentes: el norte de Rusia y el Cáucaso)
- Los franceses (tropas francesas desembarcadas en Odesa)
- Los japoneses (intervención en Jabárovsk)
- La Legión Checa (sublevada en Omsk y tratando de llegar a Vladivostok)
- Los nacionalistas burgueses polacos
- Los ejércitos blancos de Denikin
- Los ejércitos blancos de Kolchak
- Los ejércitos blancos de Yudénich
- Los basmachíes (sublevados en Kazajistán)
- Los anarquistas de Kronstadt
- La Makhnovshchina, los anarquistas ucranianos
- Los Verdes (campesinos opuestos a la política del “Comunismo de guerra”)
- Los bálticos (burguesía de Estonia, Lituania y Letonia)
- Las fuerzas que permanecieron fieles al gobierno de Kerenski
Por razones de jugabilidad, el ordenador considera a todas estas facciones como «blancas».
Históricamente, esto mezcla movimientos muy distintos. Por ejemplo, los anarquistas de Kronstadt y las tropas de Kolchak aparecen ambos como «blancos» y no combaten entre sí. Sin duda no es del todo exacto desde el punto de vista histórico, pero esta simplificación permite mantener una jugabilidad clara y sencilla para el jugador.
También se han incorporado ilustraciones para diferenciar visualmente todas estas fuerzas.

🧩 Estructura interna: ¿cómo aparecen las tropas?
Para gestionar la aparición y desaparición de las unidades, hemos diseñado una gran tabla de 85 filas que representa cada mes de la guerra civil.
Cada fila contiene:
- las nuevas tropas que entran en juego,
- las que deben desaparecer,
- los acontecimientos históricos asociados.
Al comienzo de cada mes, el programa recorre esta tabla para hacer evolucionar la situación.
Pero la tabla no es fija.
Se modifica dinámicamente en función de las decisiones del jugador.
✦ Ejemplo: la independencia de Finlandia
- Si el jugador acepta la independencia finlandesa, como ocurrió históricamente, los alemanes intervienen inmediatamente para apoyar a las fuerzas burguesas finlandesas.
- Si la rechaza, podemos suponer que la intervención alemana habría llegado más tarde. En ese caso, la fila correspondiente de la tabla se desplaza a otra fecha.
Este sistema permite modificar la cronología histórica o crear una nueva, manteniendo al mismo tiempo una estructura sencilla y flexible.
🧠 Mejoras de la IA «blanca»
La IA está ahora organizada en cuatro grandes funciones, cada una con un papel específico.
1️⃣ Función «Decisión del mes»
Al comienzo de cada mes, la IA consulta la tabla dinámica para comprobar:
- qué tropas deben aparecer,
- cuáles deben retirarse,
- qué acontecimientos se activan.
2️⃣ Función «Información»
La IA analiza después la situación general:
- número total de tropas,
- número de aliados cercanos,
- número de enemigos cercanos,
- ciudades controladas,
- ciudades aliadas próximas,
- posición de la unidad bolchevique más cercana,
- ciudad enemiga o neutral más próxima.
Esta etapa crea una especie de «mapa mental» que permite a las distintas IA tomar decisiones coherentes.
3️⃣ Función «Acción»
A partir de la información recopilada, la IA elige una estrategia:
- atacar una unidad enemiga,
- atacar una ciudad,
- o permanecer en su posición para defenderla.
Un soldado, normalmente el más cercano al objetivo, recibe entonces una orden clara.
Las facciones nacionalistas tienen, no obstante, una zona de acción limitada para evitar situaciones absurdas, como tropas japonesas en Varsovia.
4️⃣ Función «Creación de tropas»
La IA evalúa si necesita reforzar sus efectivos.
Decide entonces si crea o no nuevas unidades teniendo en cuenta:
- la relación de fuerzas entre aliados y enemigos,
- una parte de aleatoriedad para hacer su comportamiento más humano.
La división del sistema en varias IA permite además asignar una velocidad distinta a cada función.
La IA de información se ejecuta cada segundo para actualizar en tiempo real la presencia de enemigos.
La IA de acción se ejecuta con menor frecuencia porque requiere más cálculos y actúa según el contexto y los objetivos.
Por ejemplo, puede esperar para comprobar si su acción anterior ha funcionado antes de iniciar una nueva.
⚙️ Optimización
La siguiente etapa consiste en simplificar y optimizar estos cálculos para evitar ralentizaciones.
El objetivo es encontrar un equilibrio entre:
- capacidad de reacción,
- tiempo de cálculo,
- comportamiento creíble de la IA.
Si la IA reaccionara demasiado rápido, enviaría todas sus tropas desde el primer segundo, haciendo que las batallas fueran demasiado difíciles o demasiado fáciles.
Por eso estamos trabajando en un comportamiento más natural y, sobre todo, más variado.
🤝 Comunidad
Se ha creado un Discord específico: “Marxist Games – Russia 1917”.
Servirá para recoger vuestros comentarios, proponer ideas, probar funcionalidades y conversar sobre la historia de la Revolución y de la guerra civil.