Maid Defenders (Balitas)
RoadMap del proyecto — Godot 4.6 • Pixel Art • Idle estilo Task Bar Hero • Actualizado junio 2026
Visión general: Maid Defenders tiene un núcleo idle de escritorio jugable: ventana flotante con clic passthrough cuando el inventario está cerrado, combate automático por oleadas con avisos visuales (oleada siguiente / banner de jefe), inventario, formación, mansión, progresión permanente con Oro mediante un árbol de Runas (estilo Task Bar Hero) y guardado amplio. Las 13 Maids tienen nombres japoneses, sprites de combate, avatares e iconos. El combate distingue distancia / melee / AOE / estacionarias y resuelve el daño con daño_base centralizado en Stats_Manager. La ventana escala el mapa (0.75–1.50×) con el mapa anclado abajo y altura dinámica según inventario abierto/cerrado. La Zona 1 tiene oleadas balanceadas en JSON. Los cofres escalan por mapa y oleada; los jefes finales X-10 sueltan cofre Glitch (LV6). Disponible build Alpha para Windows en Google Drive. El foco inmediato pasa a animaciones, enemigos sin placeholder, waves_config mundos 2–5 y profundidad RPG (equipo completo, habilidades).
Build Alpha (Windows) — Descarga pública en
Google Drive
(
Maids Defenders.zip). También enlazada desde
index.html.
Última sesión de desarrollo (jun 2026 — balance RPG, IA de boss y escalado de mobs):
- Sistema de stats RPG corregido —
Stats_Manager.gd: resolver_dano_maid() ahora suma atk (físico) o matk (mágico) de la Maid al daño_base. Piso de daño cambiado de max(1, daño-DEF) a max(daño×20%, daño-DEF): siempre se hace al menos el 20% del daño bruto sin importar la DEF enemiga. Elimina el efecto “muro de DEF” en mobs tánkeros.
- Escalado de nivel Zona 1 corregido —
enemy_spawner.gd: Z1_BONUS_LV_POR_MAPA subido de 0.15 → 0.40; Z1_BONUS_LV_POR_OLEADA de 0.10 → 0.25. Reemplazado truncamiento doble int() con int(round()) para preservar fracciones acumuladas. Enemigos en mapas tardíos ya escalan visiblemente de nivel.
- Intervalos wave 1-4 → 1-9 rebalanceados —
waves_config.json: mapas 1-6, 1-7, 1-8 y 1-9 tenían intervalos de spawn 1.2–2.8 s (colapso de dificultad). Reescritos a 1.6–3.5 s con progresión suave. Fin del cliff entre 1-5 y 1-6.
- Rey Ratón — state machine completa —
boss_rey_raton.gd (archivo nuevo): ciclo AVANZAR → ATACAR → RETROCEDER → INVOCAR. Invoca ratas (raton_malulo) con límite de vivas en pantalla. Fase furia bajo el 30% de vida: sprite rosado, mayor velocidad (×1.45) y cadencia de ataque, más ratas por invocación. Las ratas invocadas dan oro/EXP pero no cierran la oleada (es_invocado = true). Limpieza de todos los print() de depuración del jefe y remoción de campos *_growth sin uso en enemies_boss.json.
- Multiplicador de daño de mobs 1-5+ —
enemy_spawner.gd: constantes MOB_DANO_MULT_*. Desde mapa índice 5: ×1.5 base, +0.15/mapa, tope ×3.0. Multiplica atk y matk en _aplicar_stats_secundarios_runtime() de EnemyBase.gd.
- Multiplicador de defensa de mobs 1-5+ —
enemy_spawner.gd: constantes MOB_DEF_MULT_*. Desde mapa índice 5: ×1.4 base, +0.12/mapa, tope ×2.5. Multiplica def y mdef. Diseñado más suave que el de daño porque la DEF tiene mucho peso con piso del 20%.
- vit_growth reducido en mobs tánkeros —
enemies.json: slime 1.5→0.8, zombi 1.0→0.7, hongo 1.0→0.7, mimic 1.0→0.7, golem 3.5→1.5, caballero oscuro 2.5→1.2. Evita que la DEF crezca tan rápido que supere el daño a pesar del piso.
- UI Progresión — texto marrón en panel info —
Progresion_Menu.tscn: cuatro labels del panel de detalle (InfoNivel, InfoCosto, InfoRequisitos, InfoEfecto) tenían color blanco por defecto. Aplicado theme_override_colors/font_color = Color(0.32, 0.14, 0.08, 1).
- Arrastre con mouse en árbol de Runas —
progresion_menu.gd: conectado scroll_container.gui_input a _on_scroll_arbol_gui_input; arrastra el ScrollContainer con botón izquierdo del mouse.
- Logs de depuración silenciados —
EnemyBase.gd: const DEBUG_ENEMY := false controla todos los print() que antes inundaban la consola en cada frame (corrección de límites, cada golpe recibido, cada configuración de enemigo).
Sesión anterior (jun 2026 — runas, layout ventana y shuriken):
- Árbol de Runas —
progression_config.json: sección runes con 21 nodos y posiciones en canvas. Progresion_Menu muestra árbol interactivo (rune_tree_canvas.gd, rune_icon_button.gd) estilo Task Bar Hero. Progression_Manager: niveles por runa, guardado progression.runes y migración desde upgrades_comprados.
- Layout y escala del mapa — mapa anclado abajo (
_calcular_base_game_world_y); ventana crece hacia arriba al agrandar (ajustar_tamano_ventana_segun_escala). Con inventario cerrado solo reserva ~56 px de mini menú; al abrir I la ventana se expande para el panel completo. Escala máxima reducida a 1.50× (Settings_Manager.ESCALA_MAX).
- Combate independiente de escala —
maid_base.gd: movimiento, rango y velocidad de ataque compensados con _obtener_escala_mundo() para que agrandar la ventana no acelere el gameplay.
- Shuriken Ninja (Yoru) — proyectil
estrella.tscn con animación Shuriken (bala.gd + autoplay); MaidNinja.tscn usa estrella como bala.
Sesión anterior (jun 2026 — daño, cofres, balance y Alpha):
- Sistema
daño_base — Stats_Manager.gd: calcular_dano_base_desde_rango() y resolver_dano_maid() (base → arma plana → progresión % → estados → crítico → defensa). Las 13 Maids usan damage_min / damage_max en JSON; maid_base.gd unifica calcular_dano().
- Cofres progresivos por mapa —
calcular_nivel_cofre_progresivo(map_id, oleada) en item_factory.gd; drop en oleadas pares con probabilidad escalada por mapa. Ya no dependen del nivel de la Maid.
- Cofre Glitch (LV6) — garantizado al matar jefe en cualquier mapa X-10 (
is_boss_map: 1-10, 2-10, 3-10…) vía spawn_cofre_glitch_en_posicion().
- Slots de formación — compra en menú Progresión (
maid_slot_2 / maid_slot_3): 1000 / 5000 oro + requisito nivel 5 / 15 en Maid del slot 1; UI en Formación con “Comprar en Progresión”.
- Balance enemigos early game — más
dex en mobs Zona 1 (murciélago, ratón, hongo, slime, zombi) para conectar vs esquiva Maid; zombi con menos burst.
- Build Alpha Windows — publicada en Google Drive para pruebas externas.
Sesión anterior (jun 2026 — balance, UI oleadas y ventana):
- Balance de progresión — requisito de nivel Maid Principal en upgrades; validación en
obtener_motivo_bloqueo() y UI con estado “Nivel insuficiente”.
- Oro escalado — multiplicador por nivel (35% en nv1 → 100% en nv20) en
EnemyBase.gd; recompensas de mapa 1-x reducidas en JSON.
- Velocidad de ataque — bonos de upgrades escalan con nivel de Maid Principal (0% efecto en nv1, 100% en nv15+); fórmula más suave en
maid_base.gd.
- UI oleadas —
WaveMessage con sprite Next_wave.png (fade in/out); BossBanner con BANER_BOSS.png deslizándose y centrado en el mapa (~42% altura).
- Ventana / input — fix inventario cerrado bloqueando clicks fuera del mapa; guards para ventana embebida en editor (
window_controller.gd, main.gd, inventory_menu.gd).
Sesión anterior (jun 2026 — combate y oleadas):
- Balance Zona 1 —
data/waves_config.json con 9 oleadas por mapa (1-1 … 1-9); progresión suave para Pistolera inicial; enemy_spawner.gd usa JSON o fallback procedural.
- Daño por arquetipo — todas las Maids usan
damage_min / damage_max en maids.json.
- Melee (Akane) —
tipo_ataque: "melee"; acercamiento, golpe directo sin Bala, cooldown, críticos; sin animaciones aún.
- Bazuka AOE (Hibiki) —
bala_bazuka.gd + explosion_radius; daño en área a enemigos cercanos.
- Estacionarias — Minigun y Francotirador con
puede_moverse: false; Shizuka spawnea al borde izquierdo visible del mapa.
- LoadingScreen — corrutina con frames pintados,
CanvasLayer, redirección desde Main si F6.
- Fixes — fin de oleada solo al matar todos los mobs; tipado GDScript en spawner; refresh mapas en Mansión.
Sesión anterior (jun 2026 — progresión permanente):
- Sistema de Progresión Permanente — 18 mejoras en
progression_config.json (sección upgrades), compra con Oro desde Progresion_Menu.
- Slots de formación (2 y 3) y almacenes (2–5) se desbloquean en el menú Progresión, no en Formación ni por nivel.
- Bonos de combate globales: daño, oro ganado, vida, velocidad de ataque, crítico y reducción de tiempo de revivir.
- Guardado:
progression.upgrades_comprados y almacen por número (1–5); migración desde saves antiguos.
- Botón Progresión en inventario; tarjetas con estado Disponible / Comprado / Bloqueado / Oro insuficiente.
Sesión anterior (jun 2026 — loop mapas):
Progression_Manager + guardado de mapa, desbloqueos y recompensas por mapa.
- Partida nueva con Akari (
maid_pistola); Maids gratis en formación.
- Sprites UI:
Nombre.png, Nombre_Avatar.png, Nombre_Icon.png.
- Correcciones: LoadingScreen, mapa al iniciar, oleadas, disparo Pistola, Mansión duplicada, Formación, TextureButton.
1. Lo que tenemos hoy
Entrada y escritorio
| Feature | Estado |
LoadingScreen.tscn → Main.tscn | Listo (corrutina + CanvasLayer; redirige si Main directo) |
| Ventana borderless + transparente | Listo |
| Always on top | Listo |
| Arrastre de ventana desde el mapa | Listo |
| Clic passthrough con inventario cerrado (no bloquea escritorio) | Listo |
| Compatibilidad ventana embebida en editor (F5/F6 sin overflow) | Listo |
| Posición de ventana guardada | Listo |
| Escala del juego (0.75–1.50, paso 0.25) | Listo |
| Música on/off | Listo |
| Layout del mapa: anclado abajo, ventana crece hacia arriba | Listo |
| Altura dinámica según inventario abierto / cerrado | Listo |
| Combate independiente de escala visual (movimiento / AS / rango) | Listo |
Progresión permanente (árbol de Runas con Oro)
| Feature | Estado |
Sección runes en progression_config.json | 21 nodos |
Progresion_Menu.tscn + árbol interactivo (rune_tree_canvas.gd) | Listo |
Compra con Gold_Manager; requisitos en cadena y niveles por runa | Listo |
Requisito de nivel Maid Principal (nivel_principal) | Listo (slots 2/3: nv 5 / 15) |
progression.runes en save + migración desde upgrades_comprados | Listo |
upgrades_comprados legacy + aplicar_upgrades() | Compatibilidad save |
Slots Maid 2 y 3 (maid_slot_2, maid_slot_3) | 1000 / 5000 oro + nv 5 / 15 |
Almacenes 2–5 (almacen_2 … almacen_5) | 1000–10000 oro |
| Daño global I/II/III, Oro I/II/III, Vida I/II | Aplicado en combate |
| Velocidad ataque I/II, Crítico I/II, Revivir I/II | Aplicado en combate |
Migración saves antiguos (slots_maids_desbloqueados) | Listo |
slots_formacion + comprar_slot() legacy | En código, no usado en UI |
Progresión de mapas y partida nueva
| Feature | Estado |
Progression_Manager (autoload) | Listo |
data/progression_config.json | Listo |
Mapa actual persistido (current_map) | Listo |
| Mapas desbloqueados persistidos | Listo |
| Recompensa de oro al completar mapa (1-1 … 1-10 + fórmula por defecto) | Listo |
| Recompensas “una vez” no duplicables | Listo |
| Maid Principal + slots de formación desbloqueados | Guardado |
| Partida nueva: Akari en slot 0 automáticamente | Listo |
Menú selección inicial (SeleccionMaidInicial_Menu) | En proyecto, no usado |
| Inicio de oleadas al tener Maid en formación | Listo |
Formación y economía de Maids
| Feature | Estado |
13 Maids en data/maids.json (nombres JP + kanji) | Listo |
| Elegir cualquier Maid en formación sin costo de oro | Listo |
| Slot 1 gratis; slots 2–3 vía menú Progresión | Listo |
| Slots bloqueados: “Comprar en Progresión” | Listo |
Comprar Maids con oro (cost en JSON) | Descartado (campo legacy) |
Iconos en grid de formación (*_Icon.png) | Listo |
Avatares en inventario (*_Avatar.png) | Listo |
Combate
| Feature | Estado |
| Formación hasta 3 Maids (según upgrades) | Listo |
| Movimiento, disparo, críticos, muerte, revivir (base 60 s, mín. 10 s) | Listo |
Daño min/max por Maid (damage_min / damage_max) | Listo (13/13 en JSON) |
daño_base + resolver_dano_maid() (Stats_Manager) | Listo (base → atk → arma → % → crit → DEF; piso 20%) |
atk / matk stat contribuye al daño de Maid | Nuevo — jun 2026 |
| Piso de daño 20% (evita muros de DEF permanentes) | Nuevo — jun 2026 |
| Bonos globales de upgrades en daño / oro / vida / AS / crítico / revive | Listo |
| Velocidad de ataque: escala con nivel Maid Principal | Listo (0% nv1 → 100% nv15+) |
| Oro por enemigo: escala con nivel Maid Principal | Listo (35% nv1 → 100% nv20) |
| Disparo sin animación si SpriteFrames vacío (fix Pistola) | Listo |
| Game Over si toda la formación cae | Listo |
| Balas + perdigones (escopeta) | Listo |
Bazuka AOE (bala_bazuka.tscn, explosion_radius) | Listo |
Melee (tipo_ataque: "melee", sin Bala, sin anim) | Listo (Akane) |
Maids estacionarias (puede_moverse: false) | Listo (Minigun, Francotirador) |
| Reinicio oleada al cambiar Maid en formación | Listo |
| Progresión nivel/EXP por Maid | Listo |
Mensaje oleada siguiente (WaveMessage + Next_wave.png) | Listo |
Banner jefe / mini boss (BossBanner + BANER_BOSS.png) | Listo (centrado en mapa) |
| Animaciones de ataque (DISPARANDO / MOVIENDO) | Pendiente (no bloquean gameplay) |
Mapas y enemigos
| Feature | Estado |
50 mapas (5 mundos × 10) en maps_config.json | Config listo |
| Oleadas 1–9 normales, 10 = mini boss, X-10 = boss | Listo |
waves_config.json Zona 1 — intervalos 1-1 … 1-9 balanceados | Listo (1-4→1-9 rebalanceados jun 2026) |
waves_config.json Mundos 2–5 | Pendiente (spawner procedural) |
| Fin de oleada solo si spawn completo + 0 enemigos vivos | Listo |
Escalado de nivel enemigos Zona 1 (Z1_BONUS_LV) | Corregido — jun 2026 (0.40/mapa + 0.25/oleada) |
Multiplicador daño mobs desde mapa 1-5 (dano_mult) | Nuevo — jun 2026 (×1.5 → ×3.0) |
Multiplicador defensa mobs desde mapa 1-5 (def_mult) | Nuevo — jun 2026 (×1.4 → ×2.5) |
| 5 bosses con escena propia | Listo |
| Rey Ratón — state machine IA (AVANZAR/ATACAR/RETROCEDER/INVOCAR) | Nuevo — jun 2026 (furia <30% HP) |
Ratas invocadas por boss (es_invocado, no cierran oleada) | Nuevo — jun 2026 |
| Bosses 2–5 — IA / state machine | Pendiente |
| 9 tipos de enemigo en JSON | Listo |
| Escenas de enemigo reales | 3/9 |
| Resto de enemigos | placeholder + missingno |
| Fondos de mapa | 10 únicos (mundo 1); W2–5 reutilizan |
| Mansión: elegir mapa y reiniciar run | Listo (refresh mapas desbloqueados) |
Economía e items
| Feature | Estado |
| Oro por enemigos | Listo (escala por nivel Maid Principal) |
| Recompensas de mapa 1-x | Rebalanceadas (~40% menos en primeros mapas) |
| 143 armas + 18 piezas de equipo en JSON | Catálogo listo |
| 7 rarezas (común → demoníaca) | Listo |
| Cofres en oleadas pares | Listo (clic para reclamar; prob. escalada por mapa) |
Nivel de cofre según mapa + oleada (calcular_nivel_cofre_progresivo) | Listo (1-1…1-3 → LV1; progresivo por mundo) |
Cofre Glitch (LV6) al matar jefe en mapas X-10 (is_boss_map) | Listo (1-10, 2-10, 3-10…) |
| Equipar arma por Maid (drag & drop) | Listo |
| Equipo no-arma (traje, guantes, etc.) | Backend listo, sin UI ni loot |
UI / menús
| Menú | Estado |
| Inventario (tecla I / mini menú) | Listo |
| Formación (sobre inventario) | Listo |
| Progresión (árbol de Runas permanentes con Oro) | Listo |
| Almacén (5 secciones; solo 1 al inicio, resto en Progresión) | Listo |
| Mansión (zonas 1–5, mapas 1–10) | Listo |
| Ajustes, Mensajes, Ayuda, Salir | Listo |
| Stats detalladas de Maid | Listo |
| Mini menú en combate (mapa + progreso oleada) | Listo |
Guardado (user://save_game.json)
| Se guarda | Notas |
| Oro, inventario, almacén por sección (1–5), formación, Maids desbloqueadas, EXP/nivel, armas equipadas, ajustes, mensajes, posición ventana |
Estable |
Progresión mapas: current_map, desbloqueos, recompensas, maid principal |
Listo |
Progresión permanente: progression.runes (niveles por runa); migración desde upgrades_comprados |
Nuevo — jun 2026 |
almacen como dict {"1":[],…} |
Listo |
2. Roster de Maids (nombres y arte)
| ID | Nombre | Arma | Sprite combate | Avatar / Icono | Animación |
| maid_pistola | Akari 明莉 | Pistola | Akari.png | Listo | SpriteFrames vacíos |
| maid_revolver | Rin 凛 | Revólver | Rin.png | Listo | Sin anim (dispara directo) |
| maid_escopeta | Ran 蘭 | Escopeta | Ran.png | Listo | Revisar |
| maid_uzi | Hina 陽菜 | Uzi | Hina.png | Listo | Sin anim |
| maid_minigun | Tsubaki 椿 | Minigun | Tsubaki.png | Listo | Estacionaria / sin anim |
| maid_rifle_asalto | Misaki 美咲 | Rifle | Misaki.png | Listo | Sin anim |
| maid_melee | Akane 茜 | Melee | Akane.png | Listo | Melee funcional / sin anim |
| maid_bazuka | Hibiki 響 | Bazuka | Hibiki.png | Listo | AOE listo / sin anim |
| maid_ninja | Yoru 夜 | Ninja | Yoru.png | Listo | Shuriken animado (estrella.tscn) |
| maid_francotirador | Shizuka 静香 | Francotirador | Shizuka.png | Listo | Estacionaria / sin anim |
| maid_tanque | Mamori 守 | Tanque | Mamori.png | Listo | 600 HP / sin anim |
| maid_arizaka | Chiyo 千代 | Arizaka | Chiyo.png | Listo | Revisar |
| maid_escopeta_especial | Kurumi 胡桃 | Escopeta esp. | Kurumi.png | Listo | Sin anim |
Enemigos
3 con escena real • 6 con placeholder • 5 bosses completos
3. Corto plazo — prioridades
Prioridad 1 — Loop de progresión de mapas Completado
Guardar mapa actual y desbloqueos
Desbloqueo progresivo de mapas
Recompensas de oro por mapa
Maids gratis en formación
Prioridad 1b — Progresión permanente (árbol de Runas) Completado jun 2026
21 runas en JSON — slots, almacenes, bonos de combate con posiciones en canvas.
Menú Progresión con árbol interactivo, compra por Oro y panel de detalle por runa.
Integración en Formación, Almacén, maid_base.gd, EnemyBase.gd.
Guardado de progression.runes y migración desde saves antiguos.
Pendiente menor: iconos/arte dedicado por runa; limpiar slots_formacion legacy del JSON/código.
Prioridad 1e — Layout ventana y escala Completado jun 2026
Mapa anclado abajo con margen inferior y centrado horizontal.
Ventana dinámica que crece hacia arriba al escalar o abrir inventario.
Escala máxima 1.50× (antes 1.75×); saves antiguos se clampan al cargar.
Gameplay independiente de escala (movimiento, rango y velocidad de ataque).
Shuriken animado para Maid Ninja (estrella.tscn).
Prioridad 1c — Balance Zona 1 y tipos de ataque Completado jun 2026
waves_config.json mapas 1-1 … 1-9 — oleadas progresivas para Pistolera inicial.
Daño min/max en todas las Maids.
Melee sin Bala (tipo_ataque).
Bazuka AOE (bala_bazuka).
Francotirador / Minigun estacionarias.
Pendiente en esta línea: waves_config para mundos 2–5; animaciones melee/disparo; Tanque como melee opcional (tipo_ataque aún distancia).
Prioridad 1d — Balance de progresión y economía Completado jun 2026
Slots Maid 2/3 — compra en Progresión (1000 / 5000 oro) + requisito nivel 5 / 15.
daño_base centralizado en Stats_Manager con pipeline unificado.
Cofres por mapa/oleada (no por nivel Maid); Glitch LV6 en todos los jefes X-10.
Oro y velocidad de ataque escalados según nivel de Maid Principal.
Balance mobs Zona 1 (dex / str ajustados para early game).
UI oleadas: sprite siguiente oleada + banner WARNING de jefe centrado.
Fix ventana: passthrough de mouse con inventario cerrado.
Build Alpha Windows publicada en Google Drive.
Prioridad 1f — Balance RPG, IA de boss y escalado de mobs Completado jun 2026
Sistema de stats RPG — atk/matk contribuye al daño de Maid; piso del 20% elimina muros de DEF.
Escalado de nivel Zona 1 — bug de truncamiento corregido; +0.40 lv/mapa y +0.25 lv/oleada funcionan.
Intervalos wave 1-4 → 1-9 — cliff de dificultad eliminado; progresión suave de 3.7 s a 1.6 s.
Rey Ratón — state machine — AVANZAR → ATACAR → RETROCEDER → INVOCAR; fase furia <30% HP.
Ratas invocadas — es_invocado evita cierre prematuro de oleada del boss.
Multiplicador daño mobs 1-5+ — ×1.5 a ×3.0 escalado por mapa.
Multiplicador defensa mobs 1-5+ — ×1.4 a ×2.5 escalado por mapa.
vit_growth reducido en mobs tánkeros para no superar el piso de daño.
UI Progresión — texto marrón en panel info; arrastre de árbol con mouse.
Logs de depuración — DEBUG_ENEMY := false silencia prints de cada frame.
Prioridad 2 — Contenido visual y animación (1–2 semanas)
- 6 escenas de enemigo faltantes (66% del roster usa placeholder).
- Animaciones de combate para Maids con SpriteFrames vacíos (empezar por Akari); luego melee y bazuka. Shuriken de Yoru ya animado.
- Fondos únicos para mundos 2–5 (ahora reutilizan mundo 1).
waves_config.json mundos 2–5 (misma estructura que Zona 1).
- Limpiar escena
SeleccionMaidInicial_Menu (usar o eliminar del proyecto).
- Tooltip de Formación: mostrar rango de daño (
damage_min–damage_max).
Prioridad 3 — Profundidad RPG (2–3 semanas)
- Equipamiento completo en UI (cabeza, traje, guantes, botas, accesorios, reliquia).
- Loot mixto en cofres (no solo armas).
- Habilidades o pasivas por Maid (vinculadas a nombre/tipo).
- Auto-recogida de cofres (opcional idle).
- Mostrar número de oleada actual en mini menú (hoy solo mapa).
Prioridad 4 — Pulido Task Bar Hero
- Toggle “siempre arriba” en menú Ajustes (hoy solo por código / save).
- SFX / feedback de sonido (disparo, crítico, cofre, UI).
- Tutorial breve en primera partida.
- LoadingScreen — funcional con respaldo; opcional simplificar o saltar en dev.
- Afinar bosses 2–5 (colisión, barra de vida, spawn).
- Pruebas en GPU con driver D3D12 (pantalla transparente en algunos equipos).
4. Resumen numérico
| Área | Hecho | Parcial | Falta |
| Maids (combate por tipo) | distancia + melee + AOE + 2 estacionarias | animaciones | pasivas / tanque melee |
| Maids (animación combate) | varias sin anim | Akari frames | DISPARANDO / MOVIENDO global |
| Oleadas config JSON | Zona 1 balanceada (1-1→1-9 + intervalos) | mini boss vía maps_config | W2–5 |
| Escalado de mobs (daño + def) | Zona 1 (×1.4–×3.0 desde 1-5) | — | validar W2+ |
| Enemigos (escenas) | 3 | — | 6 placeholder |
| Bosses | 5 escenas | Rey Ratón IA completa | IA bosses 2–5 |
| Mapas (config + progresión) | 50 | fondos W1 | fondos W2–5 |
| Items en catálogo | 161 | 18 sin UI | — |
| Menús UI | 11/11 | — | — |
| Upgrades permanentes (árbol de runas) | 21/21 | iconos por runa | más runas futuras |
| Layout ventana / escala | anclado abajo + 1.50× max | — | — |
| Save (dominios) | 15+ | — | — |
| Loop progresión P1 + P1b + P1c + P1d + P1e + P1f | 29/29 | — | — |
5. Arquitectura clave (referencia rápida)
| Sistema | Archivo principal |
| Entrada | LoadingScreen.gd → Main.tscn |
| Progresión mapas + runas | progression_manager.gd, progression_config.json |
| Menú Progresión / árbol Runas | Progresion_Menu.tscn, rune_tree_canvas.gd, rune_icon_button.gd |
| Guardado | Save_Manager.gd |
| Maids datos/UI | maids.json, Maid_Manager.gd |
| Formación | Formation_Manager.gd, Formacion_Menu.gd |
| Combate / oleadas | enemy_spawner.gd, maid_base.gd, waves_config.json |
| Stats y daño | Stats_Manager.gd (resolver_dano_maid, daño_base) |
| UI oleadas / jefe | WaveMessage.gd, BossBanner.gd |
| Cofres y loot | chest_manager.gd, item_factory.gd, chests.json |
| Ventana / input | window_controller.gd, main.gd, inventory_menu.gd |
| Proyectiles | bala.gd, perdigon.gd, bala_bazuka.gd, estrella.tscn (shuriken) |
| Mapas | maps_config.json, mansion_menu.gd |
6. Conclusión
Lo sólido: idle de escritorio completo con input passthrough, ventana con mapa anclado abajo y escala hasta 1.50×, 13 Maids con identidad japonesa, combate por oleadas (distancia, melee, AOE, estacionarias), sistema RPG de stats (atk/matk + piso 20% de daño), Zona 1 balanceada con escalado de nivel corregido e intervalos suaves (1-1 a 1-9), mobs más fuertes desde 1-5 (daño ×1.5→3.0, defensa ×1.4→2.5), Rey Ratón con IA completa (avanza, ataca, retrocede, invoca ratas + fase furia), cofres por mapa/oleada y Glitch en jefes X-10, árbol de 21 Runas con arrastre de mouse, save robusto con migración, shuriken animado para Ninja, y build Alpha Windows disponible.
Lo más urgente ahora: 6 enemigos sin placeholder, waves_config mundos 2–5, animaciones de combate (Maids), fondos únicos W2–5, IA de bosses 2–5, equipamiento RPG en UI, SFX.