- Open the project in Unity 6000.2 or higher
- Load the scene:
Assets/Scenes/PA4.unity - Press Play in the Editor
- Use the controls listed below for each player
- Reach the goals to complete the level
- A / D – Move left/right
- Space – Jump
- Numpad 4 / Numpad 6 – Move left/right
- Numpad 8 – Jump
- Local multiplayer for 2 players
- Independent level lanes for each player
- Ground detection system (OverlapCircle)
- Death zones with automatic respawn
- Individual goal triggers with celebration
- Automatic level reset when both reach their goals
- 4 cameras total:
- 2 main cameras for split-screen
- 2 minimap cameras
- Cinemachine virtual cameras with smooth follow
- Camera boundaries using Confiner 2D
- Minimap indicators for players and goals
- Snow particles (Player 1)
- Wind/dust particles (Player 2)
- Confetti explosion every 3 sec on reaching goal
- Camera shake on player goal
- Per-camera particle visibility using culling masks
Handles player movement and physics:
- Rigidbody2D horizontal movement
- Jump system with ground check
- Integration with Unity Input System
- Ability to enable/disable controls
- Respawn support for death zones
Manages death areas:
- Trigger detection
- Teleportation to custom spawn points
- Resets Rigidbody2D velocity
Handles goal completion:
- Detects when each player reaches their own goal
- Disables controls on completion
- Activates camera shake
- Coroutine for looping confetti bursts
- Level restart when both players finish
Implements screen shake:
- Singleton pattern
- Independent shake for both cameras
- Uses Cinemachine BasicMultiChannelPerlin
- Configurable duration and strength
- Ensure Layer Collision Matrix allows Player ↔ Ground
- Tilemaps must include a
Rigidbody2Dset to Static
- Player: Both player characters
- Ground: Platforms & ground tiles
- Minimap: Icons and minimap elements
- Player: Assigned to both characters for trigger logic
- Unity Input System (1.14.2)
- Cinemachine (3.1.5)
- Universal Render Pipeline (URP) (17.2.0)
- 2D Animation (12.0.3)
- 2D Tilemap (1.0.0)
- Unity Recorder (5.1.3)
- Ninja Frog (Player 1)
- Virtual Guy (Player 2)
- Custom background per player
- Tilemap level set
Aldhair Vera Camacho
🌐 Portfolio: https://aldhairvera.netlify.app/
Educational project. Sprite assets belong to their respective authors.
- Abre el proyecto con Unity 6000.2 o superior
- Carga la escena:
Assets/Scenes/PA4.unity - Presiona Play en el Editor
- Usa los controles indicados para cada jugador
- Llega a la meta para completar el nivel
- A / D – Moverse izquierda/derecha
- Espacio – Saltar
- Numpad 4 / Numpad 6 – Moverse izquierda/derecha
- Numpad 8 – Saltar
- Multijugador local para 2 jugadores
- Carriles independientes para cada jugador
- Sistema de detección de suelo (OverlapCircle)
- Zonas de muerte con respawn automático
- Metas individuales con celebración
- Reinicio automático cuando ambos llegan a su meta
- 4 cámaras en total:
- 2 cámaras principales con pantalla dividida
- 2 minimapas independientes
- Cámaras Cinemachine con seguimiento suave
- Límites de cámara con Confiner 2D
- Indicadores para jugadores y metas en minimapas
- Partículas de nieve (Jugador 1)
- Partículas de viento/polvo (Jugador 2)
- Explosión de confeti cada 3 segundos al llegar a la meta
- Cámara temblorosa (camera shake) al ganar
- Partículas visibles solo en cámaras específicas (culling masks)
Controla movimiento y físicas:
- Movimiento horizontal con Rigidbody2D
- Salto con detección de suelo
- Integración con Input System
- Habilitar/deshabilitar controles
- Respawn para zonas de muerte
Gestiona áreas de muerte:
- Detección por trigger
- Teletransporte a puntos de respawn
- Reinicio de velocidad del Rigidbody2D
Controla las metas:
- Detecta llegada del jugador
- Desactiva controles al completar
- Activa camera shake
- Coroutine de confeti repetitivo
- Reinicio del nivel cuando ambos ganan
Efecto de vibración:
- Patrón Singleton
- Shake independiente por cámara
- Cinemachine BasicMultiChannelPerlin
- Duración configurable
- Asegurar colisión Player ↔ Ground en Layer Collision Matrix
- Tilemaps deben tener un
Rigidbody2Dtipo Static
- Player: Ambos jugadores
- Ground: Suelo y plataformas
- Minimap: Elementos del minimapa
- Player: Para detección de triggers
- Unity Input System (1.14.2)
- Cinemachine (3.1.5)
- URP – Universal Render Pipeline (17.2.0)
- 2D Animation (12.0.3)
- 2D Tilemap (1.0.0)
- Unity Recorder (5.1.3)
- Ninja Frog (Jugador 1)
- Virtual Guy (Jugador 2)
- Background personalizado por jugador
- Tilemap del nivel
Aldhair Vera Camacho
🌐 Portafolio: https://aldhairvera.netlify.app/
Proyecto educativo. Los sprites pertenecen a sus respectivos autores.
