MushRog

El combate nació sin gráficos

12 de octubre de 2026 arquiteturamecanica

Traducción automática, aún sin revisar.

Lo primero que tiene MushRog es una simulación de combate que corre sin pantalla y sin red. Se puede jugar una pelea completa contra la Salamandra Ardente en una prueba automatizada.

Por qué

En un juego en línea, la regla más cara de romper es que servidor y cliente no se pongan de acuerdo sobre lo que pasó. Si el combate es un pedazo de código puro, con tick fijo de 20 por segundo y un generador de números aleatorios con semilla, la misma secuencia de comandos produce siempre el mismo resultado. El servidor corre esta simulación como autoridad, el cliente corre la misma para predecir lo que va a pasar, y las pruebas la corren miles de veces sin abrir ventana.

También guardamos cada comando con el tick en que entró. Con eso el replay viene de regalo: cualquier pelea se puede reproducir exactamente, lo que ayuda a encontrar bugs, revisar trampas y, a futuro, mostrar jugadas.

Cómo funciona

Hoy pasan diecinueve pruebas, y cubren lo que importa del diseño. El orden de los elementos cuenta: fuego y luego hielo duplica el daño, hielo y luego fuego da una vez y media. Rayo sobre hielo reduce la defensa del objetivo en 40% por 8 segundos, y rayo sobre fuego explota en área. El jefe de fuego es inmune al fuego y reacciona al hielo sin perder el aura. Cada 20 segundos abre una ventana en la que el aura innata desaparece y cualquier elemento se pega.

Cambiar de personaje no reinicia ni pausa el cooldown: el mago pasa a la reserva con la Bola de Fogo recargándose y vuelve con ella lista. El cambio tiene 1,5 segundos de espera y se bloquea si el personaje está aturdido. Si muere, el cambio es forzado y no gasta la espera. Y con la misma semilla y los mismos comandos salen exactamente los mismos eventos.

El prototipo jugable está hecho de rectángulos y texto: Mago de azul, Guerrero de café, jefe rojo con contorno del color del aura. Teclas 1 a 4 para skills, Tab para cambiar. Feo a propósito, porque la pregunta que responde es si cambiar para reaccionar se siente bien, y eso no necesita sprites.

Siguiente paso

Jugar hasta que el cambio se sienta natural. Después vienen movimiento y alcance, porque hoy toda skill pega desde cualquier lugar.

Cambios

  • feat(core): deterministic combat sim with team swap and elemental reactions

    Fase 0 skeleton: Godot 4.7 project, data-driven content (elements, reactions, classes, skills, mobs), pure GDScript simulation with fixed tick, seeded RNG and command log for replay. Headless test runner with 19 tests covering reactions, swap rules, boss innate aura and replay.

  • feat(client): offline fase 0 prototype scene

    Rectangles and text over the sim: boss with innate fire aura, team of mage + warrior, skill bar with cooldowns, swap on Tab, event log.

← Volver al devlog