Multi-Move
Sandbox de plataformas 2D con 6 modos de movimiento intercambiables
Sobre el proyecto
Multi-Move es un sandbox de plataformas 2D desarrollado en Unity con C# durante la asignatura de Programación del primer año de DAM. El proyecto demuestra un sistema de movimiento avanzado con múltiples configuraciones intercambiables en tiempo real, cada una con físicas, gravedad y comportamiento únicos.
El jugador controla un cubo que puede moverse, saltar y cambiar entre 6 modos de movimiento distintos presionando la tecla M. Cada modo está implementado como un ScriptableObject, permitiendo una arquitectura modular y fácilmente extensible. El sistema incluye partículas visuales, cambios de color dinámicos según el estado (suelo, subida, pico, caída) y una cámara con seguimiento suave.
Modos de movimiento
Cada modo es un ScriptableObject con parámetros independientes. Presiona M para cambiar entre ellos.
Basic
Movimiento estándar de plataformas. Equilibrado para la mayoría de situaciones.
Underwater
Movimiento subacuático con gravedad reducida y saltos ilimitados.
Glider
Planeo con caída lenta y mayor control en el aire. Ideal para distancias largas.
Hectic
Velocidad extrema con aceleración brutal. Para jugadores que buscan caos.
Rocket
Salto potente con caída rápida. Como un cohete que sube y estrella.
Slippy Flappy
Superficie resbaladiza con fricción mínima. Saltos múltiples tipo Flappy Bird.
Mecánicas principales
ScriptableObjects
Cada modo de movimiento es un asset ScriptableObject con parámetros configurables desde el editor de Unity.
Cambio en tiempo real
Presiona M para alternar entre los 6 modos sin interrumpir el gameplay.
Colores dinámicos
El sprite cambia de color según el estado: suelo (verde), subida (azul), pico (amarillo), caída (rojo).
Sistema de partículas
Partículas de salto, colisión, movimiento y "no salto" para feedback visual inmediato.
Gravedad por fases
Tres valores de gravedad distintos: subida (ligera), pico (mínima) y caída (pesada) para un salto más natural.
Cámara suave
Seguimiento con SmoothDamp que se adapta a la velocidad del jugador.
Controles
Movimiento
- A / ← Mover izquierda
- D / → Mover derecha
- W / ↑ Saltar (mantener para altura)
Acciones
- M Cambiar modo de movimiento
Stack Tecnológico
Motor & Lógica
- Unity 2D
- C# (Scripts)
- Rigidbody2D
- Physics2D
Gameplay Systems
- ScriptableObjects
- State Machine (gravedad)
- Raycast2D (ground check)
- Multi-jump system
Visual & FX
- Particle System
- Gradient (colores aéreos)
- SpriteRenderer
- SmoothDamp (cámara)
Galería