Niixer

Juego de Aventura y Supervivencia en Tercera Persona – Unity 6

Tecnología Core: Unity 6 (v6000.0.33f1) | Universal Render Pipeline (URP)
Fecha de Referencia: Mayo de 2026
Integrantes: Esteban Sanabria y Omar Gaitan


El presente documento define la arquitectura técnica y el planteamiento operacional de un videojuego de
aventura, recolección y escape en tercera persona, diseñado e implementado sobre el motor de última
generación Unity 6. Desde una perspectiva comercial, el proyecto capitaliza mecánicas probadas de alta
retención (retos de tiempo, plataformeo/parkour y dinámicas de persecución de alta tensión) bajo un marco
de desarrollo ágil y eficiente, optimizado mediante el uso de assets modulares de alta calidad y sistemas de
renderizado modernos.
El núcleo competitivo y la propuesta de valor radican en una experiencia escalonada de dificultad distribuida
en tres fases claramente diferenciadas (Tutorial, Parkour y Laberinto). El diseño arquitectónico está
centralizado en un sistema de control inteligente denominado Nivel_Final, estructurado bajo patrones de
diseño de software de alto rendimiento, permitiendo la reconfiguración dinámica del juego en tiempo de
ejecución. Esta versatilidad técnica reduce drásticamente el tiempo de salida al mercado (Time-to-Market) y
facilita futuras expansiones de contenido o monetización (tales como la venta de nuevos avatares o pases de
nivel).

Especificaciones Técnicas y Requisitos de Ejecución

Entorno de Desarrollo y Herramientas

Para garantizar la estabilidad del pipeline gráfico y de código, el entorno se encuentra estrictamente acotado
a las siguientes herramientas de desarrollo de software:
Editor Base: Unity 6 en su revisión específica 6000.0.33f1. Cualquier migración de subversión
requerirá validación de regresión en las APIs del nuevo Input System y del paquete de AI Navigation.
Pipeline Gráfico: Universal Render Pipeline (URP) versión 17.0.3 (identificado en el registro de paquetes
como com.unity.render-pipelines.universal). Proporciona optimización de llamadas de dibujo
(draw calls) y soporte avanzado de shaders mediante Scriptable Render Pipelines.
Entornos de Desarrollo Integrados (IDEs): Soporte directo preconfigurado en el manifiesto de paquetes
para JetBrains Rider y Microsoft Visual Studio, asegurando el tipado estricto y la depuración eficiente de
hilos nativos de Unity.

Configuración de Escenas en el Pipeline de Compilación (Build Settings)

El orden secuencial de empaquetado es crítico para la correcta invocación del método
SceneManager.LoadScene. Se establece la siguiente matriz de indexación oficial:

Ciclo de Vida y Flujo Operacional

El flujo lógico del videojuego opera de manera secuencial y persistente. A continuación, se detalla la lógica
de transición y los disparadores del sistema:

Fase 1: Inicialización en Menú Principal
El usuario selecciona entre dos identidades gráficas (Omar o Esteban). El sistema realiza dos
operaciones atómicas en disco: setea la clave PersonajeElegido y purga los datos previos
inicializando ScoreTotal en 0.

Fase 2: Nivel Tutorial (Escena 1)
Bucle de recolección activo. El mapa instancia 6 objetos del tipo estrella. Al capturar la totalidad de los
ítems antes de 240 segundos, el flag de transición automatizada invoca la carga inmediata de la escena
con índice 2.

Fase 3: Nivel de Habilidad – Parkour (Escena 2)
Incremento de la complejidad espacial. El jugador debe recolectar 7 estrellas en un entorno vertical en
menos de 200 segundos. La compleción exitosa realiza un bypass directo hacia la escena 3.

Fase 4: Nivel Crítico – Laberinto (Escena 3)
Se despliegan 8 estrellas con un tiempo límite de 240 segundos. Al recolectar la octava estrella, se
desactiva el comportamiento estándar de carga de nivel y se ejecuta la Fase Final de Persecución
(Modificación en tiempo real del agente de Inteligencia Artificial: velocidad ajustada a 8 m/s y factor de
daño multiplicado por dos). La victoria se valida únicamente si el jugador pisa el trigger de la zona de
salida poseyendo el inventario completo.

Estructura Arquitectónica del Repositorio

El código fuente y los recursos artísticos se organizan bajo una jerarquía estricta para mitigar conflictos de
merge en el control de versiones y optimizar los tiempos de compilación:

Matriz de Progresión y Balance de Niveles

El balance del juego está parametrizado para inducir una curva de aprendizaje fluida pero con un pico de
tensión hacia el final del trayecto. Los valores económicos y de rendimiento se resumen a continuación:

El límite teórico máximo acumulable para una partida perfecta se define mediante la suma de las
progresiones parciales, resultando en un ScoreMax = 4,400 puntos. Sin embargo, debido a la naturaleza del
almacenamiento local, si el usuario repite niveles de forma consecutiva sin realizar un cambio de avatar en el
menú de inicio, la puntuación continuará acumulándose de forma lineal.

Ingeniería de Mecánicas y Sistemas Técnicos

Subsistema de Movimiento y Control de Cámara
El sistema hereda y extiende el paquete Starter Assets Third Person Controller. Opera acoplado a un
componente CharacterController, abstrayendo el cálculo físico de fuerzas mediante un modelo
cinemático directo.
Locomoción: Soporta estados combinados de caminata, sprint y salto mediante interpolación de vectores
de movimiento en el plano bidimensional (X, Z).
Física de Gravedad Custom: Se implementa un cálculo manual de aceleración de caída libre para evitar
las fluctuaciones de la simulación por defecto, permitiendo un control preciso en las fases de parkour.
Control Óptico: Gestionado por Cinemachine. La cámara se acopla de manera virtual a las
coordenadas del jugador mediante un rig de seguimiento que previene colisiones con la geometría
estática del escenario mediante raycasting en tiempo real.

Lógica de Recolección y Arquitectura de Eventos


Las estrellas actúan como triggers estáticos volumétricos.
Al detectarse la colisión física con el objeto que ostenta el Tag Player, se dispara el siguiente protocolo secuencial de ejecución:
Invocación a la base de datos de sesión persistente para incrementar el marcador global.
Llamada de actualización al patrón estructural singleton de Nivel_Final.RecolectarEstrella().
Destrucción atómica del objeto en escena mediante Destroy(), liberando la memoria de transformación
asignada en el árbol relacional.

Sistema de Gestión de Salud y Algoritmo de Daño Cinético

La salud del personaje está acotada en un rango cerrado de 0 a 100 unidades, gestionada por la clase
PlayerVida. El sistema procesa el daño entrante desde dos fuentes diferenciadas:


A) Daño por Combate Melee: Originado por el componente Ataque_Enemigo. Aplica una deducción
constante de 20 unidades de salud con un tiempo de enfriamiento (cooldown) riguroso de 1.5 segundos,
validando que el jugador se encuentre dentro de un radio de acción inferior o igual a 1.5 metros. En la fase
final del laberinto, este valor sufreuna modificación por multiplicación escalar neta (×2), infligiendo 40
unidades de daño por impacto.

B) Daño Dinámico por Caída Libre: El sistema evalúa el vector de velocidad vertical en el instante preciso
del impacto con una superficie firme. Si dicha velocidad supera el umbral crítico de 13 unidades por segundo,
la magnitud del daño aplicado se calcula bajo la siguiente expresión matemática:
DañodeCaída = (VelocidadVertical – 13) × 8

Protocolo de Muerte y Respawn: A diferencia del temporizador, el agotamiento de la salud (Vida ≤ 0) no
penaliza al jugador con la recarga completa de la escena. El software captura el evento, restaura la salud al
100% de su capacidad y reubica la posición del objeto de manera instantánea en coordenadas
seleccionadas aleatoriamente a partir de una matriz preconfigurada de componentes de transformación
(puntosSpawn[]).

Inteligencia Artificial de Persecución (NavMesh)
El componente EnemigoPro gobierna la entidad hostil a través de la API de AI Navigation.

Optimización de Ruta: El agente recalcula la ruta óptima hacia las coordenadas del jugador cada 0.2
segundos exactos. Esto mitiga la sobrecarga del procesador central, evitando llamadas continuas en el
ciclo Update().

Rotación Cinemática: Se anula la rotación por defecto del sistema de navegación artificial para aplicar
una interpolación angular manual (Lerp/Slerp), resultando en giros orgánicos y fluidos durante la
persecución.

Diseño de Audio Inmersivo: Se integra un modulador de audio que ajusta la amplitud del sonido de
tensión ambiental en función de la distancia euclidiana entre el perseguidor y el objetivo, acotado entre un
radio de acción máximo de 20 metros y un mínimo absoluto de 1.5 metros.

Arquitectura del Software y Patrones de Diseño


El desarrollo de los scripts se rige bajo principios de alta cohesión y bajo acoplamiento, estructurando los
componentes bajo responsabilidades atómicas:

Persistencia de Datos

El almacenamiento inter-escénico de información se implementa a través de la API nativa de PlayerPrefs,
centralizando las siguientes claves de registro:
PersonajeElegido (Tipo: Integer): Almacena los índices binarios 0 (para el perfil de Omar) o 1 (para el
perfil de Esteban).

ScoreTotal (Tipo: Integer): Registra el valor numérico acumulado del puntaje del jugador. Su
persistencia se garantiza mediante la invocación explícita de la operación de escritura en disco
PlayerPrefs.Save() tras cada evento exitoso de recolección de estrellas.

Link Unity web juego:https://play.unity.com/en/games/f17109dd-b05b-43ed-8791-9b9d35ac44d1/red-terror

Créditos:

Autor: Esteban Sanabria Cortes, Omar Daniel Gaitan Porras

Editor: Carlos Ivan Pinzon Romero

Código: UCMVG1-9

Universidad: Universidad Central

Morion Tutoriales [Morion VO]. (2020, 24 de mayo). IA para enemigos en Unity - Cap 1 [Video]. YouTube. https://www.youtube.com/watch?v=pKMp_MKIamc&list=PLjCKKt9GhZuK7mSzeecIeANnjrt7YEqi8

Programación Videojuegos. (2020, 11 de agosto). UNITY Desde 0/Tutorial/UI-HUD Canvas/ 3-Capitulo/Programación Videojuegos [Video]. YouTube. https://www.youtube.com/watch?v=rXMeDUJGsOo

Imphenzia. (s.f.). Maze Modular Puzzle Kit [Asset de Unity]. Unity Asset Store. https://assetstore.unity.com/packages/3d/environments/maze-modular-puzzle-kit-302221

Synty Studios. (s.f.). POLYGON Starter Pack - Art by Synty [Asset de Unity]. Unity Asset Store. https://assetstore.unity.com/packages/3d/environments/polygon-starter-pack-art-by-synty-156819

Unity Technologies. (s.f.). Starter Assets - Third Person Character Controller [Asset de Unity]. Unity Asset Store. https://assetstore.unity.com/packages/essentials/starter-assets-thirdperson-urp-196526