Configuración General de Fase
Las mecánicas, estadísticas y comportamientos del juego se calibran de forma visual y dinámica por cada fase.
Puedes modificar estas propiedades de dos maneras:
- Modal de Configuración en SMS Game Maker Studio: Haz clic en el botón «⚙️ Configuración» en la tarjeta de la fase activa. Se abrirá una ventana con buscador en vivo, interruptores para valores booleanos y selectores para valores enum.
- Propiedades del Mapa en Tiled: Menú Mapa ➔ Propiedades del mapa.
1. Identificación y Parámetros Globales
gameName(string): Nombre oficial del juego (ej."Mi Juego SEGA"). Se utiliza para nombrar la ROM de salida endist/<gameName>.smso.gg.gameView(enum:side/overhead):side: Vista lateral clásica de plataformas con gravedad analógica, salto y escaleras.overhead: Vista cenital bidireccional (8 direcciones o 4 direcciones).
2. Salud, Daño y Modo de Vidas
initialLife(int): Salud inicial del personaje (por defecto50).lifeAmount(int): Cantidad de salud que recupera el protagonista al recoger un ítem de vida (TILE_LIFE).damageAmount(int): Daño que recibe el protagonista al colisionar con un enemigo o con un tile de daño.mainCharacterInvincible(bool): Activa la invulnerabilidad total del protagonista (ideal para pruebas y testeo de niveles).livesMode(enum):disabled: Sistema estándar por barra/puntos de energía.instant respawn: Al perder la energía o una vida, reaparece de inmediato en el punto de entrada de la pantalla.show graveyard: Muestra el sprite de lápida/cementerio antes de reaparecer.
3. Físicas, Salto y Habilidades
disableContinuousJump(bool): Exige soltar y volver a pulsar el botón de salto para realizar un nuevo salto (evita rebotes automáticos continuos).dashEnabled(bool): Activa la mecánica de impulso rápido horizontal con salto largo.dashAlwaysAvailable(bool): Si está activo, el protagonista inicia la partida con el dash desbloqueado sin necesidad de recoger antes el ítem de dash en el mapa.wallJumpEnabled(bool): Permite rebotar en paredes sólidas pulsando el salto y la dirección opuesta mientras estás en el aire.laddersEnabled(bool): Activa el agarre automático y movimiento vertical a 60 FPS en escaleras.jetPackFuel(int): Cantidad máxima de combustible de propulsión. Si es mayor que 0, el salto se sustituye por vuelo propulsado continuo con estela de partículas de chispas en VRAM y recarga automática al tocar tierra.idleTime(int): Fotogramas de inactividad (por defecto 90 frames = ~1.5s) tras los cuales el protagonista entra en animación idle mirando al frente.
4. Disparo y Combate
shooting(bool): Habilita el disparo del protagonista con el Botón 1 del mando.ammo(int): Munición inicial (-1 representa munición ilimitada).ammoIncrement(int): Balas añadidas al recoger un ítem de munición (TILE_AMMO).bulletDistance(int): Alcance en tiles de la bala (0 = distancia infinita hasta chocar con un muro).killJumpingOnTop(bool): Permite eliminar enemigos saltando y cayendo sobre su cabeza (rebotando hacia arriba).
5. Enemigos y Balas Enemigas
enemyShootEnabled(bool): Interruptor maestro. Si está desactivado, ningún enemigo disparará proyectiles aunque su tipo seaWithShot.enemyShootSolidCollide(bool): Si está activo, las balas enemigas colisionan y se destruyen contra muros sólidos.enemiesRespawn(bool): Si los enemigos derrotados vuelven a aparecer al salir y regresar a la pantalla.maxEnemiesPerScreen(int): Límite de enemigos activos simultáneos por pantalla (por defecto 5).
6. Objetivos de Victoria y Puertas
finishGameObjective(enum):items: Completar la fase recolectando el número de items fijado engoalItems.killSpecificEnemy: Derrotar al enemigo jefe especificado enfinishGameEnemy.itemsAndKillEnemy: Requiere tanto recolectar los items como vencer al enemigo jefe.
finishGameEnemy(object): Referencia al enemigo designado como jefe de fase. Al pulsar en la lupa se abre el mapa donde hay que seleccionar que enemigo es al que hay que vencer.goalItems(int): Número de items requeridos para completar la fase.itemsCountdown(bool): Si está activo, el HUD muestra la cuenta regresiva de items que faltan por recolectar en lugar de los acumulados.keysEnabled(bool): Habilita las llaves y las puertas de llaves (TILE_DOOR_KEYS).itemsToOpenDoors(int): Número de items necesarios para que se abran las puertas de items (TILE_DOOR_ITEMS).
7. Bloques Rompibles y Escenario
useBreakableTile(enum:disabled/individual/all): Bloques destructibles por disparo.useBreakableTileByTouch(bool): Activa los bloques que se desmoronan tras pisarlos.useBreakableTileByTouchFrames(int): Fotogramas de espera antes de la destrucción (por defecto 30 frames).animatePeriodTile(int): Período de animación de los tiles alternos de fondo (por defecto 10 frames de VBlank a 60 Hz).
8. Cuadros de Texto y Diálogos
textsEnabled(bool): Activa el sistema de ventanas de texto descriptivo y diálogos.textsWindowX,textsWindowY,textsWindowWidth,textsWindowHeight(int): Posición y tamaño en tiles de la ventana flotante de texto.