Skip to content

Propuesta del proyecto ‐ To The Top

Tomás Raiter edited this page Jul 18, 2026 · 3 revisions

Propuesta del Proyecto: To The Top

Tema: Videojuego multijugador de escalada con físicas 2D.

Integrantes:

  • Julián Guido Bollinger
  • Santino Gennuso Musmanno
  • Tomás Raiter

1. Introducción

To The Top será un videojuego 2D de escalada vertical con vista frontal (front-view), centrado en la superación de obstáculos, la toma de decisiones y la interacción física entre los jugadores dentro de un entorno vertical en constante evolución. El juego podrá jugarse tanto de forma individual como en partidas multijugador cooperativas de hasta cuatro participantes.

La propuesta sitúa a los jugadores en una montaña volcánica compuesta por diferentes secciones temáticas, cada una con elementos, obstáculos y desafíos propios. Para progresar, los jugadores deberán utilizar un sistema de movimiento basado en físicas tipo ragdoll y en el control de las extremidades, permitiéndoles agarrarse de las superficies, balancearse, impulsarse y utilizar el propio cuerpo para superar las distintas dificultades que presenta el ascenso.

En el modo multijugador, la cooperación surgirá de manera natural a partir de la interacción física entre los personajes y con el entorno. Los jugadores podrán ayudarse mutuamente, utilizar a sus compañeros como apoyo o incluso interferirse accidentalmente, dando lugar a situaciones emergentes e impredecibles durante cada partida.

El objetivo principal consistirá en alcanzar la cima de la montaña antes de que ocurra la erupción del volcán y la lava impida completar la misión, poniendo a prueba tanto la habilidad individual como la capacidad de cooperación y adaptación de los jugadores.

El proyecto toma inspiración de diversos videojuegos del género de escalada y físicas. De PEAK adopta el enfoque cooperativo, la progresión a través de secciones temáticas, la variación del recorrido entre partidas y la existencia de un límite de tiempo integrado en el propio escenario. De Getting Over It with Bennett Foddy toma la filosofía de juego basada en las físicas, la ausencia de una interfaz permanente, el carácter desafiante de la experiencia y el enfoque de escalada en dos dimensiones. Finalmente, incorpora influencias de Mount Your Friends en la vista frontal, el uso de las extremidades como principal medio de desplazamiento y las interacciones físicas entre personajes. Si bien estos videojuegos constituyen referencias importantes durante la etapa de diseño, To The Top busca combinar y reinterpretar estas ideas dentro de una propuesta original, incorporando su propia jugabilidad original.

Asimismo, el juego contará con una historia original de carácter sencillo, cuya finalidad será proporcionar contexto y propósito a la experiencia sin desplazar el protagonismo de la jugabilidad. La narrativa se presentará de forma breve y se adaptará naturalmente a la cantidad de jugadores presentes en cada partida.

- Peak -

peak

image Peak - Co-op Longplay Full Walkthrough [No Commentary] 4k

Aspectos tomados como inspiración: enfoque cooperativo, progresión a través de secciones temáticas, variación del recorrido entre partidas y utilización de un límite de tiempo integrado en el propio escenario.

- Getting Over It-

goi

image Getting Over It with Bennett Foddy (FULL GAME WALKTHROUGH, NO COMMENTARY)

Aspectos tomados como inspiración: filosofía de juego basada en las físicas, ausencia de una interfaz permanente en pantalla, carácter desafiante de la experiencia y enfoque de escalada en dos dimensiones.

- Mount Your Friends -

myf

image Mount Your Friends PC Gameplay [No Commentary]

Aspectos tomados como inspiración: vista frontal (front-view), utilización de las extremidades como principal medio de desplazamiento e interacciones físicas entre personajes.

1.1 Objetivo

El objetivo del presente trabajo es diseñar y desarrollar To The Top, un videojuego 2D de vista frontal (front-view) para uno a cuatro jugadores, enfocado en la escalada mediante físicas y con modalidades tanto individual como multijugador cooperativo.

Para ello, se implementará

un sistema de movimiento basado en el uso de las extremidades y en la interacción física con el entorno y con otros jugadores, permitiendo escalar, balancearse, impulsarse y colaborar para superar los distintos desafíos que presenta la montaña volcánica. Asimismo, se buscará desarrollar una experiencia que combine el desafío individual, el trabajo en equipo y las situaciones emergentes generadas por las físicas, manteniendo el foco principal en la escalada y la cooperación entre los jugadores.

El proyecto será desarrollado utilizando Java 21 como lenguaje de programación, el framework LibGDX para la creación del videojuego, la librería Box2D para la simulación física de personajes y objetos, y la herramienta Tiled para el diseño del mapa, la definición de colisiones y la ubicación de los elementos del entorno.

Además de la construcción del videojuego en sí, el desarrollo del proyecto tiene como finalidad aplicar e integrar los conocimientos adquiridos en las materias Programación Sobre Redes, Desarrollo de Sistemas y Administración de Sistemas y Redes. Para ello, se abordarán aspectos como la sincronización de estados en aplicaciones multijugador, la organización y planificación de proyectos de software, la modularización de sistemas, la administración de recursos y el diseño de soluciones escalables y mantenibles. Particularmente desde el área de Programación Sobre Redes, se diseñará e implementará una arquitectura cliente-servidor para aplicaciones multijugador en tiempo real, en la que el servidor será responsable de administrar las salas de juego, ejecutar la simulación física principal y sincronizar el estado de las partidas con los clientes conectados a través de una red local.

Finalmente, se busca llevar adelante el desarrollo del proyecto de manera organizada y realista, aplicando metodologías de trabajo colaborativo, definiendo objetivos alcanzables y administrando adecuadamente el tiempo y los recursos disponibles, con el propósito de obtener un producto funcional dentro del período establecido para la realización del trabajo final.

1.2 Alcance

El alcance del proyecto "To The Top" involucra la creación del videojuego utilizando las tecnologías mencionadas, incluyendo tanto la versión para un jugador como la versión multijugador en red. El juego consistirá en una experiencia de escalada basada en físicas a través de diferentes secciones y obstáculos, donde los jugadores deberán cooperar y adaptarse al entorno para alcanzar la cima. En términos de contenido y funcionalidades, el alcance se define de la siguiente manera:

1.2.1 Alcance mínimo

Se busca desarrollar para el alcance mínimo del proyecto:

  • Recorrido vertical jugable: Implementación de un único mapa vertical escalable que permita ascender desde un punto inicial hasta una cima claramente definida. El mapa deberá incluir al menos algunas secciones diferenciadas visualmente y presentar obstáculos o elementos que demuestren la progresión de la escalada, sin requerir necesariamente la totalidad del contenido planteado para el alcance deseable.
  • Terreno de escalada funcional: El mapa deberá estar compuesto por rocas y superficies de diferentes formas y tamaños que colisionen con el jugador y permitan la escalada mediante agarres.
  • Personaje jugable basado en físicas: Implementación de un personaje tipo ragdoll compuesto por múltiples partes del cuerpo conectadas entre sí, controlado principalmente mediante las manos y capaz de realizar las acciones fundamentales de escalar, colgarse, balancearse y efectuar pequeños impulsos.
  • Sistema multijugador en red: Implementación de partidas de entre uno y dos jugadores mediante una arquitectura cliente-servidor dedicada y ejecutada sobre una red local. El servidor mantendrá el estado autoritativo de la partida y será responsable de ejecutar la simulación física principal y sincronizar las posiciones y el estado de los personajes, mientras que los clientes únicamente enviarán las acciones de los jugadores y representarán el estado recibido. Los personajes podrán colisionar físicamente entre sí, permitiendo la interacción directa y la cooperación durante la escalada. El alcance mínimo contempla que el servidor sea capaz de administrar una única sesión de juego simultánea.
  • Eventos dinámicos básicos: Implementación de al menos algunos elementos del entorno que afecten la jugabilidad, como cuerdas, superficies especiales o fenómenos climáticos simples.
  • Sistema de finalización de partida: Implementación de una condición de victoria al alcanzar la cima del recorrido y de una condición de derrota asociada a un límite de tiempo simplificado. La partida se considerará completada cuando al menos un jugador alcance la cima de la montaña antes de que finalice dicho límite de tiempo. El alcance mínimo no contempla la implementación de cinemáticas, historia ni del sistema completo de erupción volcánica, quedando los efectos visuales, sonoros y la lava ascendente como parte del alcance deseable.
  • Interfaz y menús básicos: Implementación de un menú principal y un menú de pausa con las opciones fundamentales de configuración gráfica y de sonido, manteniendo la ausencia de un HUD permanente durante la partida.

1.2.2 Alcance deseable

Se pretende desarrollar un mapa que será una montaña volcánica de aproximadamente 1000 metros de altura dividido en cinco secciones temáticas (montaña, jungla, cañón, nieve y volcán), cada una con mecánicas y elementos propios.

El mapa estará compuesto por un fondo que dará contexto, justificación y forma a la montaña visualmente. En el interior, o sea la parte que el jugador estará escalando, estará compuesta por rocas de distintas formas y tamaño que colisionan con el jugador y le permiten agarrarse de sus superficies externas. Estas rocas serán el terreno principal del juego, por el que el jugador deberá escalar, y deben estar posicionadas de manera que el jugador tenga que tomar decisiones sobre el camino para subir, haciendo uso del trabajo en equipo, la habilidad individual o los elementos y sucesos del entorno.

El juego contará con un personaje basado en físicas tipo ragdoll, compuesto por 12 partes del cuerpo (cabeza, torso, 2 brazos, 2 antebrazos, 2 manos, 2 piernas y 2 pantorrillas) controladas principalmente mediante las manos utilizando el mouse, también utilizando algunas teclas que permiten balanceo y pequeños saltos para alcanzar superficies, permitiendo escalar, balancearse y realizar impulsos. Este puede recibir el efecto de inconsciencia durante unos segundos luego de un golpe o caída grande, para incrementar la tensión de una caída.

Se implementará un sistema multijugador para hasta cuatro jugadores, con interacción física entre los personajes y la posibilidad de cooperar durante la escalada. Además, se buscará desarrollar un sistema de servidor capaz de alojar múltiples partidas de manera simultánea, permitiendo que distintos grupos de jugadores puedan jugar de forma independiente al mismo tiempo. Se contempla la incorporación de un sistema de salas con códigos de acceso, el descubrimiento automático del servidor mediante UDP Broadcast dentro de la red local y la implementación de optimizaciones en el intercambio de paquetes, con el objetivo de mejorar la escalabilidad y el rendimiento general del sistema.

Se buscará incorporar eventos dinámicos del entorno, como derrumbes, ráfagas de viento, lluvia, nieve, superficies especiales y una erupción volcánica que limite la duración de las partidas. Además de esos eventos interactivos, el juego contará con eventos dinámicos del entorno visuales, los cuales no solo mejoran el aspecto gráfico del juego, sino que funcionarán como indicador de cuánto falta para la erupción volcánica. Algunos de estos pueden ser nubes que se oscurecen, sonidos de truenos más constantes, temblores ruidosos que hagan vibrar la pantalla, la aparición de partículas de cenizas en el aire y una leve tonalidad roja que ilumina todo en la pantalla.

También se contempla la inclusión de una historia inspirada en Japón que añade contexto y propósito al juego, explicada mediante cinemáticas, apenas comienza la partida o en el final, teniendo diferentes finales según el resultado de la partida. La historia completa y sus cinemáticas se contemplan como alcance deseable. En el alcance mínimo, la misión estará representada de forma simple mediante el objetivo de alcanzar la cima.

Se incluye una generación parcialmente aleatoria de las secciones de la montaña mediante módulos reutilizables para incrementar la rejugabilidad. Menús principal y de pausa simples pero completos, con configuración de gráficos y sonido.


2. Temas a investigar

2.1 Bibliotecas y frameworks

  • LibGDX: Investigar y utilizar el framework LibGDX para el desarrollo del videojuego, incluyendo el proceso de renderizado 2D con vista frontal (front-view), el manejo de entradas mediante teclado y mouse, la administración de pantallas y estados del juego (menú principal, sala de espera, partida, pausa y finales), la gestión de recursos gráficos y de audio y otros sistemas necesarios para el funcionamiento general del proyecto.
  • Box2D: Investigar y utilizar la librería Box2D para la simulación de físicas del videojuego, incluyendo la creación del personaje tipo ragdoll compuesto por múltiples cuerpos y articulaciones, la detección y resolución de colisiones, la aplicación de fuerzas e impulsos, las interacciones físicas entre jugadores y entorno, y la implementación de elementos dinámicos del escenario como cuerdas, derrumbes, superficies especiales y demás mecánicas basadas en físicas.

2.2 Herramientas de desarrollo

  • Software Tiled: Aprender y utilizar la herramienta Tiled para el diseño y construcción visual de los mapas del juego, incluyendo la creación de las capas gráficas de cada sección de la montaña, la definición de colisiones, la ubicación de las superficies escalables y elementos interactivos, el posicionamiento de jugadores y sucesos del entorno, y su posterior integración con LibGDX para el funcionamiento del escenario dentro del videojuego.

2.3 Redes y concurrencia

Investigar y aplicar los conceptos y técnicas necesarios para implementar el sistema multijugador en red del videojuego, abarcando tanto la arquitectura general como los detalles de implementación en Java:

  • Arquitectura cliente-servidor: Comprender el modelo de comunicación en el que un servidor centralizado actúa como autoridad del estado del juego y los clientes se limitan a enviar entradas y recibir actualizaciones.
  • Sockets UDP en Java: Investigar el uso de DatagramSocket y DatagramPacket para el envío y recepción de paquetes UDP desde Java.
  • UDP Broadcast: Implementar el mecanismo de descubrimiento automático del servidor dentro de la red local mediante la emisión y escucha de paquetes broadcast.
  • Serialización de paquetes: Diseñar e implementar un protocolo de paquetes propio que permita convertir los datos del juego en bytes para su transmisión y reconstruirlos en el destino.
  • Servidor autoritativo: Estudiar el modelo en el que el servidor es el único que ejecuta la simulación física y los clientes no realizan cálculos propios del juego.
  • Sincronización de físicas en red: Investigar cómo mantener una representación coherente del estado de la simulación Box2D en todos los clientes a partir de los datos enviados por el servidor.
  • Manejo de latencia: Estudiar el impacto de la latencia en la experiencia de juego y las estrategias para mitigar sus efectos en una aplicación multijugador en tiempo real.
  • Interpolación o suavizado visual en clientes: Investigar técnicas que permitan representar fluidamente en pantalla los estados recibidos del servidor, reduciendo la percepción de saltos o discontinuidades visuales.
  • Manejo de salas: Implementar la lógica de creación, unión y cierre de salas de juego, incluyendo la generación de códigos únicos y el seguimiento del estado de cada sala.
  • Manejo de desconexiones: Estudiar cómo detectar y gestionar la desconexión inesperada de un cliente, garantizando que el servidor y los demás jugadores puedan reaccionar adecuadamente.
  • Concurrencia e hilos: Investigar el uso de hilos en Java para permitir que el servidor ejecute múltiples sesiones de juego de manera simultánea e independiente, y gestionar correctamente el acceso concurrente a los recursos compartidos.
  • Pruebas en entorno local y LAN: Definir una estrategia de pruebas que contemple la ejecución de múltiples clientes en una misma computadora y posteriormente en computadoras distintas conectadas a la misma red local.

2.4 Identidad artística

2.4.1 Diseño visual

Investigar referencias y estilos gráficos adecuados para el videojuego, evaluando distintas propuestas visuales que permitan representar correctamente la temática de escalada y las diferentes secciones de la montaña. Se buscará desarrollar un estilo gráfico simple, ligeramente minimalista y agradable a la vista, manteniendo una coherencia visual entre personajes, fondos, elementos interactivos e interfaces.

La mayoría de los recursos gráficos serán desarrollados mediante ilustraciones digitales realizadas principalmente con Adobe Illustrator, realizando prototipos y ajustes de diseño durante el proceso de desarrollo.

2.4.2 Diseño de sonido

Se investigarán, buscarán y seleccionarán recursos de audio que se adapten a la ambientación y al estilo del videojuego, incluyendo música y efectos de sonido. La música buscará acompañar el progreso de la partida y la temática de cada sección de la montaña, manteniendo una atmósfera de exploración, tensión y superación. Los efectos de sonido buscarán proporcionar retroalimentación al jugador y reforzar la inmersión, representando acciones como los agarres, las caídas, los derrumbes, los fenómenos climáticos y los demás sucesos del entorno.

En todo momento se procurará mantener una coherencia sonora y visual que permita que todos los elementos del juego formen parte de una misma identidad audiovisual.

2.5 Assets

  • Gráficos y Recursos Visuales: Recursos y técnicas para la creación, diseño, adaptación y obtención de los elementos gráficos del videojuego, incluyendo las texturas de los personajes, los fondos, las rocas, los elementos interactivos y los efectos visuales del entorno.
  • Música y Efectos de Sonido: Investigar, buscar y seleccionar recursos de audio adecuados para el videojuego, libres de derechos o con las licencias adecuadas.
  • Tipografías e Interfaz: Seleccionar tipografías y recursos de interfaz visualmente consistentes con la identidad del videojuego.
  • Cinemáticas y Videos: Técnicas y herramientas para la creación y presentación de cinemáticas y secuencias visuales.
  • Mapas y Datos del Escenario (Tiled): Utilizar la herramienta Tiled para la creación y organización de los mapas del juego, y su integración con LibGDX.

2.6 Gestión del proyecto

  • Control de versiones: Investigar y definir una estrategia de control de versiones utilizando Git y GitHub para gestionar el desarrollo colaborativo del proyecto, estableciendo convenciones para ramas, commits e integración de cambios.
  • Metodología ágil: Investigar y definir la implementación de una metodología de trabajo basada en Kanban para la organización y seguimiento del proyecto, mediante un tablero Trello.

3. Descripción de la propuesta

3.1 Concepto

To The Top nace de la idea de trasladar la tensión, la cooperación y la satisfacción de superar obstáculos presentes en juegos de escalada a una experiencia multijugador basada en físicas. El juego busca que los jugadores deban adaptarse constantemente al entorno, tomar decisiones sobre qué caminos seguir y utilizar tanto su habilidad individual como el trabajo en equipo para alcanzar la cima de una montaña volcánica antes de que esta entre en erupción.

La historia del juego tiene un papel secundario y sirve principalmente como un elemento de contextualización. Esta decisión busca equilibrar la experiencia entre jugabilidad, narrativa y libertad de interpretación, considerando que no todos los jugadores disfrutan el juego de la misma forma, pero todos tienen que tener la posibilidad de divertirse a su manera. Mediante una breve introducción, se presenta a los personajes y se les asigna el objetivo de ascender hasta la cima del volcán para evitar una catástrofe, dejando que la experiencia principal del juego se centre en la escalada y en las situaciones emergentes que surgen durante cada partida, pero sin dejar de lado un propósito.

Queremos que To The Top haga que los jugadores se sientan en una experiencia completa, no en una jugabilidad vacía ni en una historia aburrida. Los principios a la hora de diseñar la idea principal del juego fueron hacer lo mejor que podamos, con nuestras oportunidades y limitaciones, un juego original, que no se sienta genérico, que sea interesante y que los jugadores puedan disfrutar de distintas maneras, permitiendo una jugabilidad casual y divertida, como también jugarlo de forma competitiva.

3.2 Historia

El o los personajes, dependiendo de la cantidad de jugadores, son los nietos de un anciano sabio perteneciente a un pueblo inspirado en la cultura japonesa, ubicado al pie de una gran montaña volcánica. En su lecho de muerte, el anciano percibe la inminente erupción del volcán y estima que esta provocará la destrucción total del pueblo. Antes de fallecer, les entrega a sus nietos un antiguo amuleto capaz de calmar al volcán y les encomienda una última misión: ascender hasta la cima de la montaña y arrojar el amuleto en el núcleo del volcán para detener la erupción y salvar a todos los habitantes.

A partir de ese momento comienza la partida. Los jugadores emprenden el ascenso conociendo el propósito de su viaje y enfrentando los desafíos que presenta la montaña. La historia será presentada mediante una breve cinemática al inicio del juego y se complementará con distintos finales según el resultado obtenido por los jugadores. Si ningún jugador consigue alcanzar la cima, se mostrará una cinemática en la que el volcán entra en erupción y el pueblo es destruido. En cambio, si al menos uno de ellos logra completar el ascenso y cumplir la misión, el volcán se calmará y el pueblo será salvado.

Determinados elementos fantásticos presentes en el universo del juego no serán explicados en profundidad de manera intencional, evitando sobrecargar al jugador con información adicional y permitiendo una mayor libertad de interpretación.

3.3 Vista y aspecto gráfico

To The Top utilizará una vista frontal (front view) en dos dimensiones, donde la cámara permanecerá centrada en el personaje del jugador durante toda la partida. El área visible abarcará aproximadamente 10 metros de ancho y 5,6 metros de altura.

El juego no contará con una interfaz permanente (HUD). Como excepción, los personajes de los demás jugadores tendrán su nombre visible sobre ellos para facilitar su identificación y la coordinación durante las partidas multijugador.

El apartado gráfico buscará mantener un estilo visual simple, ligeramente minimalista y agradable a la vista. Los personajes presentarán diseños sencillos, compuestos principalmente por formas geométricas rectangulares y cuadradas. Los jugadores se diferenciarán principalmente mediante el uso de colores, mientras que otros personajes, como el anciano presente en las cinemáticas, incorporarán algunos rasgos físicos adicionales.

3.4 Controles

  • Mover la mano izquierda: Mantener presionado el clic izquierdo del mouse y mover el cursor. Si la mano estaba previamente agarrada se va a soltar.
  • Agarrar con la mano izquierda: Soltar el clic izquierdo cuando la mano haga contacto con una superficie agarrable.
  • Mover la mano derecha: Mantener presionado el clic derecho del mouse y mover el cursor. Si la mano estaba previamente agarrada se va a soltar.
  • Agarrar con la mano derecha: Soltar el clic derecho cuando la mano haga contacto con una superficie agarrable.
  • Balancearse hacia la izquierda: Mantener presionada la tecla A.
  • Balancearse hacia la derecha: Mantener presionada la tecla D.
  • Realizar un pequeño salto o impulso desde el torso: Presionar la barra espaciadora.
  • Abrir el menú de pausa: Presionar la tecla Esc.

3.5 Objetivo del juego

El objetivo principal de cada partida consiste en alcanzar la cima de la montaña volcánica y completar la misión encomendada al comienzo del juego. Para ello, los jugadores deberán ascender progresivamente a través de las diferentes secciones de la montaña, superando los desafíos que presenta el entorno y utilizando las mecánicas de escalada basadas en físicas.

La partida se considera completada cuando al menos un jugador consigue llegar al núcleo del volcán y cumplir la misión. En la propuesta de diseño completa, correspondiente al alcance deseable, la escalada estará además condicionada por una erupción volcánica y el ascenso de la lava, que actuarán como un límite de tiempo y una condición de derrota para los jugadores.

3.6 Bucle del juego

Cada partida comienza con una breve cinemática que presenta la situación inicial y el objetivo de la misión. Una vez finalizada, los jugadores aparecen al pie de la montaña volcánica y tienen la libertad de iniciar el ascenso de la manera que consideren más conveniente.

La principal actividad del juego consiste en observar el entorno, identificar posibles rutas y progresar verticalmente utilizando las mecánicas de escalada basadas en físicas. Durante la progresión, los jugadores se encontrarán con diferentes desafíos propios de cada sección de la montaña, así como eventos dinámicos del entorno que podrán modificar temporalmente las condiciones de la escalada.

En el modo multijugador, la interacción física entre los personajes adquiere un papel fundamental. Los jugadores podrán ayudarse mutuamente para superar determinadas situaciones, coordinar movimientos, utilizar el cuerpo de otro jugador como apoyo o intentar recuperarse conjuntamente de errores y caídas.

A medida que transcurre el tiempo, en la propuesta de diseño completa correspondiente al alcance deseable, el volcán comenzará a manifestar señales cada vez más evidentes de una inminente erupción, generando una creciente sensación de tensión y urgencia.

El bucle principal del juego se basa en la repetición continua de un ciclo de observación, toma de decisiones, escalada, adaptación al entorno y progresión vertical hasta alcanzar la cima de la montaña. La partida finaliza cuando al menos un jugador consigue llegar al núcleo del volcán y completar la misión. En el alcance deseable, la erupción volcánica y el ascenso de la lava constituirán además una condición de derrota que ejercerá presión temporal sobre la partida.

3.7 Personaje principal

El personaje principal de To The Top será un personaje humanoide basado en físicas tipo ragdoll, diseñado específicamente para que el movimiento, la escalada y la interacción con el entorno se sientan dinámicos, impredecibles y satisfactorios. A diferencia de los personajes tradicionales de plataformas, el jugador no controlará directamente la posición del personaje, sino que deberá manipular sus extremidades y aprovechar las fuerzas físicas para desplazarse por el escenario.

3.7.1 Diseño visual

Visualmente, los personajes tendrán un diseño simple y ligeramente minimalista, manteniendo una coherencia estética con el resto del juego. Su apariencia estará compuesta principalmente por formas rectangulares y cuadradas.

Cada parte del cuerpo estará representada por una textura propia que le otorgará más personalidad visual que la propia hitbox. Estas características tendrán únicamente un propósito visual y no modificarán las colisiones físicas del personaje.

La simplicidad del diseño tiene varios objetivos:

  • Permitir que el jugador identifique rápidamente la posición y orientación de su personaje.
  • Facilitar la lectura de los movimientos y de las físicas.
  • Mantener la coherencia visual con el estilo artístico del juego.
  • Reducir la sobrecarga visual durante situaciones de cooperación o de alta complejidad.

Los distintos jugadores se diferenciarán principalmente mediante colores, permitiendo reconocer rápidamente a cada personaje en las partidas multijugador.

Diseño pjs

Propuesta visual preliminar de los personajes jugables: boceto conceptual propio realizado con fines ilustrativos, sujeto a modificaciones durante el desarrollo del proyecto

3.7.2 Estructura física

Desde un punto de vista técnico, el personaje estará compuesto por doce cuerpos físicos independientes conectados entre sí mediante articulaciones rotacionales (Revolute Joints de la librería Box2D):

  • Cabeza
  • Torso
  • Brazo izquierdo
  • Antebrazo izquierdo
  • Mano izquierda
  • Brazo derecho
  • Antebrazo derecho
  • Mano derecha
  • Pierna izquierda
  • Pantorrilla izquierda
  • Pierna derecha
  • Pantorrilla derecha

Esta estructura permite que cada extremidad reaccione de manera natural ante las fuerzas del entorno, las colisiones y las acciones realizadas por el jugador, generando movimientos más orgánicos y situaciones emergentes difíciles de reproducir con un sistema de animaciones tradicionales.

3.7.3 Movimiento mediante las manos

El sistema de movimiento principal estará basado en el control independiente de las manos utilizando el mouse.

Mano izquierda:

  • Se controla mediante el clic izquierdo.
  • Mientras el botón se encuentra presionado, la mano sigue el movimiento del mouse.
  • Si el botón se suelta mientras la mano se encuentra sobre una superficie válida, esta permanecerá agarrada hasta volver a presionar el botón correspondiente.

Mano derecha:

  • Funciona de manera idéntica a la mano izquierda, controlada mediante el clic derecho.

Movimiento simultáneo:

  • Ambos botones pueden mantenerse presionados al mismo tiempo, moviéndose de forma sincronizada.

Este sistema permite escalar, colgarse, arrastrarse, mantenerse sujeto a superficies, impulsarse, recuperarse de una caída, y ayudar o sujetar a otros jugadores.

3.7.4 Impulso o pequeño salto

  • Se activa mediante la barra espaciadora.
  • La fuerza se aplica desde el torso.
  • Solo puede utilizarse cuando el personaje está apoyado sobre una superficie.
  • No puede utilizarse mientras el personaje está colgando o cayendo.

Su función principal es permitir alcanzar pequeñas superficies que de otra manera resultarían inaccesibles y ofrecer una herramienta adicional de recuperación ante errores menores.

3.7.5 Balanceo

  • Tecla A: aplica una fuerza lateral hacia la izquierda.
  • Tecla D: aplica una fuerza lateral hacia la derecha.

Este movimiento solamente puede realizarse cuando el personaje se encuentra agarrado a alguna superficie o elemento del entorno. La aplicación repetida y sincronizada de estas fuerzas permite ganar velocidad, realizar saltos más largos, alcanzar superficies alejadas, utilizar cuerdas de manera más eficiente, y recuperarse de determinadas situaciones de riesgo.

3.7.6 Interacción física

Al tratarse de un personaje completamente basado en físicas, todas las acciones del jugador están influenciadas por la gravedad, la inercia, la fricción de las superficies, las colisiones con el entorno y con otros jugadores, y las fuerzas producidas por eventos dinámicos del escenario. Como consecuencia, pequeñas diferencias en la ejecución de un movimiento pueden producir resultados distintos, generando situaciones imprevisibles.

3.7.7 Estado de inconsciencia

Puede producirse por caídas superiores a aproximadamente tres metros, o impactos producidos por derrumbes de roca o de hielo.

Mientras el personaje se encuentra inconsciente:

  • El jugador pierde completamente el control del personaje.
  • El ragdoll continúa reaccionando únicamente a las fuerzas físicas del entorno.
  • La pantalla adquiere un efecto de sombra que la oscurece parcialmente.
  • Los compañeros pueden agarrar al personaje para evitar que siga cayendo.

La intensidad del efecto depende de la gravedad de la caída, con un límite aproximado de siete segundos para caídas superiores a diez metros.

3.8 Diseño del mapa

El escenario principal de To The Top será una única montaña volcánica de aproximadamente 1000 metros de altura, diseñada como un mapa completamente vertical y orientado al progreso ascendente.

El terreno principal de escalada estará compuesto por distintas formaciones rocosas que, técnicamente, se encontrarán suspendidas en el espacio, pero visualmente representadas como protuberancias que emergen hacia el exterior de la montaña. La montaña se dividirá en cinco secciones temáticas, cada una con una identidad visual, ambientación y desafíos propios.

3.8.1 Montaña (Sección 1)

Ambientada como una montaña natural convencional, con rocas de tonalidades grises, pequeñas zonas de vegetación decorativa y un cielo despejado celeste. Rocas relativamente redondeadas y caminos amplios que permiten experimentar con las mecánicas sin castigar excesivamente los errores. Longitud aproximada: 150 metros. Funciona como introducción jugable.

3.8.2 Jungla (Sección 2)

Ambientación densa y abundante en vegetación, dominada por tonalidades de verde. Rocas más difíciles de recorrer, troncos caídos y ramas. Se introducen lianas/cuerdas para balancearse.

Elementos introducidos:

  • Lianas: permiten balancearse para alcanzar otros caminos.
  • Lluvia: hace que determinadas superficies se vuelvan resbaladizas.
  • Vegetación: funciona como superficie de buen agarre.
  • Vegetación rompible: puede romperse tras ser utilizada, generando riesgo.

Altura aproximada: 200 metros. Representa el primer incremento significativo de dificultad.

3.8.3 Cañón (Sección 3)

Ambientada como un gran cañón rocoso, tonalidades anaranjadas y arenosas. Formaciones rocosas más anguladas, pequeñas y numerosas, exigiendo mayor precisión.

Elementos reutilizados: cuerdas (antes lianas), escaleras de madera (antes vegetación), escaleras rompibles (antes vegetación rompible).

Elementos introducidos:

  • Ráfagas de viento: aplican fuerzas laterales al personaje.
  • Derrumbes de roca: al impactar producen inconsciencia y pérdida temporal del control.

Altura aproximada: 200 metros.

3.8.4 Nieve e hielo (Sección 4)

Región montañosa cubierta de nieve y hielo, colores blancos y celestes, atmósfera fría.

Elementos reutilizados: cuerdas, derrumbes de carámbanos (reemplazan derrumbes de roca), nevada (reemplaza la lluvia).

Elementos introducidos:

  • Superficies heladas: fricción muy resbaladiza.
  • Hielo rompible: puntos de apoyo que se destruyen si el jugador permanece demasiado tiempo.
  • Nieve profunda: incrementa la fricción y ralentiza el movimiento.

Altura aproximada: 200 metros.

3.8.5 Volcán (Sección 5)

Ambientada en las proximidades del cráter, tonalidades rojizas y anaranjadas, cenizas en el ambiente.

Elementos introducidos:

  • Géiseres: expulsan vapor a gran presión, pueden lanzar al jugador violentamente.
  • Superficies calientes: impiden mantenerse agarrado y dificultan el control.
  • Nubes de ceniza: reducen parcialmente la visibilidad.

Altura aproximada: 250 metros, la más extensa y difícil de todo el recorrido.

3.9 Multijugador

El multijugador constituye uno de los pilares principales de To The Top. El juego podrá jugarse en solitario o en partidas de entre dos y cuatro jugadores, donde cada participante controla su propio personaje desde su computadora.

La interacción física entre los personajes será completamente funcional, permitiendo que colisionen entre sí y reaccionen de manera natural a las fuerzas del entorno. Esto posibilita situaciones emergentes: los jugadores podrán ayudarse mutuamente, obstaculizarse accidentalmente o utilizar a otros jugadores como apoyo.

El sistema multijugador estará basado en salas. Un jugador podrá crear una sala y el resto podrá unirse mediante un código único generado automáticamente. Una vez que la sala tenga al menos dos jugadores conectados y todos estén listos, el anfitrión podrá iniciar la partida (máximo cuatro jugadores por sesión).

Desde el menú principal, al seleccionar "Multijugador", el juego buscará automáticamente el servidor dentro de la red local, sin necesidad de introducir manualmente una IP.

3.10 Modalidad en red

Desde un punto de vista técnico, el sistema multijugador seguirá una arquitectura cliente-servidor dedicado. El servidor será la única aplicación encargada de ejecutar la simulación física del juego mediante Box2D, actuando como autoridad sobre el estado de todas las partidas activas. Los clientes no realizarán cálculos relacionados con la simulación del juego; únicamente enviarán las acciones del jugador y recibirán periódicamente el estado actualizado de la partida.

La conexión inicial se resolverá mediante UDP Broadcast dentro de la red local. Toda la comunicación del juego se realizará mediante el protocolo UDP, con un protocolo de paquetes propio y serialización manual.

El servidor dispondrá de un único componente receptor encargado de escuchar todos los paquetes entrantes desde un mismo puerto de comunicación. Cada mensaje incluirá un identificador de sesión que permitirá determinar a qué partida pertenece y redirigirlo a la instancia correspondiente.

Cada partida activa estará representada por una sesión independiente, encapsulando su propio mundo Box2D, su propio game loop y ejecutándose en un hilo de ejecución independiente. Esto permitirá que un mismo servidor pueda alojar múltiples partidas simultáneamente.

El ciclo de vida de una sesión comenzará cuando un jugador cree una sala y otros se unan a ella, y permanecerá activa hasta que finalice o todos los jugadores la abandonen, momento en el cual los recursos asociados serán liberados.

3.10.1 Comunicación entre cliente y servidor

El cliente enviará al servidor por UDP en cada tick de la simulación:

  • Coordenada X e Y del cursor del mouse en el mundo del juego.
  • Estado del botón izquierdo del mouse (agarrando o suelto).
  • Estado del botón derecho del mouse (agarrando o suelto).
  • Estado de la tecla A (balanceo hacia la izquierda).
  • Estado de la tecla D (balanceo hacia la derecha).

Las coordenadas enviadas corresponden a posiciones dentro del mundo del juego (no píxeles de pantalla), conversión que realiza el cliente antes de transmitirlas. El servidor utiliza esa posición para calcular las fuerzas que Box2D debe aplicar sobre cada mano.

El cliente enviará al servidor por TCP, como eventos puntuales que no pueden perderse:

  • Impulso mediante la barra espaciadora.
  • Pausa o abandono de la partida.

El servidor devolverá a todos los clientes por UDP en cada tick:

  • Posición y rotación de cada parte del ragdoll de todos los jugadores.
  • Estado de agarre de cada mano de cada jugador.
  • Estado de inconsciencia de cada personaje.
  • Eventos activos del entorno.
  • Estado general de la partida.
  • Finalización de la partida y resultado.

3.11 Tácticas de trabajo / Metodología de desarrollo

El desarrollo de To The Top se llevará a cabo de manera incremental e iterativa, implementando progresivamente las distintas funcionalidades del videojuego y realizando pruebas continuas sobre cada una de ellas antes de avanzar a la siguiente etapa.

Para la organización y seguimiento del proyecto se utilizará la metodología ágil Kanban mediante un tablero Trello. El control de versiones se realizará mediante Git y GitHub, utilizando un repositorio compartido entre los integrantes del equipo.

3.11.1 Etapas de desarrollo

Etapa 1: Prototipo físico del personaje

  • Configuración inicial del proyecto en LibGDX y Box2D.
  • Construcción del personaje ragdoll.
  • Implementación de cuerpos físicos y articulaciones.
  • Ajuste de gravedad, masas, fricción y estabilidad.

Etapa 2: Sistema de movimiento

  • Implementación del movimiento de las manos.
  • Implementación de agarres y soltado de superficies.
  • Implementación del balanceo.
  • Implementación de impulsos y pequeños saltos.
  • Pruebas generales de escalada.

Etapa 3: Escenario de pruebas

  • Creación de un mapa vertical de prueba.
  • Incorporación de superficies escalables.
  • Validación de las mecánicas de movimiento y recuperación de caídas.

Etapa 4: Multijugador mínimo

  • Implementación de la arquitectura cliente-servidor.
  • Comunicación entre servidor y clientes.
  • Envío de acciones de los jugadores.
  • Simulación física autoritativa en el servidor.
  • Sincronización de posiciones y estado físico de los personajes.

Etapa 5: Pruebas de red local

  • Pruebas de funcionamiento en una misma computadora.
  • Pruebas entre múltiples computadoras en red local.
  • Corrección de problemas de sincronización y estabilidad.

Etapa 6: Desarrollo del mapa principal

  • Construcción de las distintas secciones de la montaña.
  • Integración de Tiled.
  • Incorporación de obstáculos y elementos propios de cada sección.

Etapa 7: Mecánicas complementarias

  • Sustitución progresiva de los gráficos temporales por las ilustraciones y assets definitivos.
  • Ajustes de la identidad visual y la coherencia estética del juego.
  • Implementación de eventos dinámicos del entorno.
  • Incorporación de interacciones especiales y superficies diferenciadas.
  • Implementación de las condiciones de victoria y finalización de partida.

Etapa 8: Interfaz y salas

  • Desarrollo del menú principal.
  • Desarrollo del sistema de salas multijugador.
  • Implementación del menú de pausa y pantallas complementarias.

Etapa 9: Pulido y pruebas finales

  • Integración de música y efectos de sonido.
  • Incorporación de efectos visuales.
  • Optimización del rendimiento.
  • Corrección de errores y pruebas finales.

3.11.2 Distribución inicial de responsabilidades

La distribución de responsabilidades constituye una planificación inicial del trabajo y podrá modificarse a medida que avance el desarrollo del proyecto.

  • Julián Bollinger: desarrollo del sistema de físicas del personaje, implementación de Box2D, estructura ragdoll, controles y mecánicas de movimiento.
  • Santino Gennuso: desarrollo de la arquitectura de red, implementación del servidor, comunicación entre clientes y servidor, sincronización de estados y gestión de salas multijugador.
  • Tomás Raiter: desarrollo del mapa y de los elementos del entorno, integración de Tiled, implementación de la interfaz, incorporación de assets, sonido y realización de pruebas del juego.

4. Aportes

4.1 Sistema de escalada híbrido basado en físicas

La jugabilidad combina la escalada cooperativa y la progresión por secciones inspiradas en PEAK, el movimiento 2D y la filosofía de castigo mediante pérdida de progreso de Getting Over It, y el uso de extremidades junto con las colisiones cooperativas presentes en Mount Your Friends. La combinación de estos conceptos adaptados a un diseño propio, da lugar a un sistema de juego que no replica directamente a ninguno de estos títulos.

4.2 Cooperación emergente mediante físicas reales

La ayuda entre jugadores no está determinada por acciones predefinidas o botones específicos de cooperación. Las interacciones surgen naturalmente a partir de las físicas del juego.

4.3 Presión temporal integrada en la narrativa y el entorno

La erupción volcánica no funciona únicamente como un límite de tiempo, sino también como un elemento narrativo y ambiental que modifica progresivamente la atmósfera de la partida.

4.4 Escalada en un entorno parcialmente aleatorio

La montaña mantiene una estructura general y una progresión temática definidas, pero la disposición de determinadas secciones y elementos varía entre partidas mediante módulos reutilizables, buscando favorecer la rejugabilidad.

4.5 Arquitectura multijugador orientada a múltiples sesiones simultáneas

El servidor estará diseñado para alojar varias partidas independientes de forma concurrente, manteniendo una simulación física autoritativa para cada una de ellas y permitiendo su monitoreo en tiempo real desde una única aplicación de servidor.

Clone this wiki locally