| Nombre | Apellidos | Correo | Github |
|---|---|---|---|
| Sergio | García Delgado | s.garciade.2019@alumnos.urjc.es | https://github.com/sergiogarcia21 |
| Daniel | Jimenez Morales | d.jimenezm.2019@alumnos.urjc.es | https://github.com/DanielJimenezMorales |
| David | Rodríguez Rives | d.rodriguezr.2019@alumnos.urjc.es | https://github.com/miniesda |
| Fernando | Expósito Arribas | f.exposito.2019@alumnos.urjc.es | https://github.com/fernanditicus |
- Video de nuestro videojuego
- Plataformas en la que esta disponible de forma online: https://danieljimenezmorales.itch.io/dishonor-factions
- Utilizando la contraseña: WithoutBrakes
- INTRODUCCIÓN
- CARACTERÍSTICAS DEL VIDEOJUEGO
- GÉNERO
- PÚBLICO OBJETIVO
- CARACTERÍSTICAS PRINCIPALES
- FLUJO DEL JUEGO
- CONTROLES
- CONTROLADORES SOPORTADOS
- INTERFAZ
- ARTE
- PERSONAJES
- Orcos
- Elfos
- Humanos
- ESCENARIOS
- HISTORIA
- AUDIO
- Música
- Efectos de sonido
- FUNCIONAMIENTO DE LA RED EN EL JUEGO
- Funcionamiento del servidor
- Clases y métodos implementados
- JUEGOS SIMILARES
- PASOS PARA EJECUTAR EL JUEGO
Proyecto colaborativo de la asignatura de Juegos en Red
Dishonor Factions es un juego en dos dimensiones para PC donde se podrá jugar de forma online competitiva contra otro jugador. El concepto principal del juego es el siguiente: dos jugadores se enfrentarán en un campo de batalla. Cada jugador deberá elegir una facción, cada facción posee unas características distintas que se especificarán más adelante. Cuando el jugador ha elegido su facción, el principal objetivo que tiene será el de destruir la base enemiga. Cada jugador controlará a un personaje principal (llamado campeón) el cual podrá mover a lo largo del escenario y dichos personajes tendrán una habilidad, tropas y características principales. Las tropas salen cada segundo desde la base e irán hacia la base enemiga para atacar y disminuir su vida o si se encuentran a otro enemigo por el escenario dichas tropas la atacarán, en cuanto a la habilidad especial de cada personaje, cada jugador podrá usarla cada x segundos. Por último, cabe destacar que si el personaje principal controlado por cada jugador muere en la partida volverá a aparecer a los 10 segundos ya que consideramos que hace más interesante el transcurso de la partida, haciendo que el personaje principal sea de vital importancia. Los personajes controlados por el usuario podrán atacar a la base enemiga pero estos ataques harán menos daño que el de los minions, haciendo de vital importancia la defensa y eliminación de estos.
El videojuego será del género Tower Defense Competitivo . Se trata de un subgénero de estrategia en el cual el objetivo de los jugadores es defender un edificio obstruyendo o eliminando a los atacantes.
El juego irá destinado sobre todo a jóvenes de entre 10 y 25 años que jueguen en ordenador. Este público objetivo se ha decidido siguiendo el razonamientode que a los jugadores entre estas edades les parecería más atractivo las mecánicas y estética de nuestro videojuego.
-
Planteamiento sencillo: “Dishonor Factions” no posee gran carga histórica, sino que se utiliza un simple argumento para el desarrollo del juego y que los jugadores tengan el objetivo del juego claro.
-
Dinamismo: “Dishonor Factions” debe ser dinámico y crear una sensación de tensión y satisfacción al jugador.
-
Juego táctico: En “Dishonor Factions”, los jugadores no tendrán tropas infinitas, sino que deberán organizarse de forma inteligente para poder aguantar los ataques del enemigo y controlar su personaje como crean conveniente para ganar.
En una partida ambas facciones comenzarán con la vida al máximo. Las tropas saldrán cada segundo de una posición aleatoria de ambas bases dirección el bando contrario hasta que lleguen a la base enemiga o se encuentren con otras tropas enemigas y deban luchar. Mientras tanto, los jugadores controlarán a su campeón el cuál puede decidir entre atacar a las tropas enemigas, a la base enemiga o al campeón enemigo. Cuando un campeón muera, deberá esperar un tiempo de 10 segundos. El primero que derribe la torre al contrario ganará la batalla.
El flujo de pantallas sigue el siguiente orden:
El sistema de controles para el movimiento se basa en el sistema típico en los juegos pc: -Primer jugador - W A S D: Movimiento horizontal y vertical. - F: Ataque básico. -Segundo jugador - Flechas de dirección: Movimiento horizontal y vertical. - L: Ataque básico.
- Teclado para el movimiento de los personajes además del ratón para navegar entre pantallas.
La interfaz que se realizará será sencilla y sin muchos elementos para no entorpecer la experiencia del usuario. Además, el estilo visual que se emplea para la interfaz será cartoon, en cuanto a la disposición de los elementos en las interfaces será la siguiente:
- Pantalla de carga: En esta pantalla, se cargarán todos los recursos necesarios para el correcto funcioamiento del videojuego. Para informar al jugador de cómo va progresando este proceso, se mostrará por pantalla una pequeña barra de progreso.
- Pantalla de inicio de sesión: En esta pantalla el jugador podrá iniciar sesión con su usuario y contraseña, esto permitirá que el jugador pueda jugar de forma online con otros usuarios.
- Menú principal: En el menú principal estará el nombre del videojuego en la parte central arriba del todo, más abajo, también en la parte central vendrán tres botones uno debajo de otro, con forma de pergamino (acorde a la temática medieval) con las opciones de jugar, ajustes y salir del juego.
- Pantalla de controles: Esta pantalla mostrará al jugador los controles para poder mover su campeon y para poder atacar.
- Pantalla de créditos: Una simple pantalla de créditos con los nombres del equipo de desarrollo de Dishonor Factions y la fuente de la cual hemos importado los minions.
- Pantalla de salir: En el caso de esta pantalla, hemos decidido incluir una pantalla oscura la cual simulará el cierre del juego.
- Pantalla del juego: En cuanto a la pantalla del juego cada jugador verá la disponibilidad de su habilidad en la parte inferior donde esté colocada su base, dicha habilidad será visible en un círculo con una imagen dentro que vaya acorde a la habilidad, arriba a la derecha habrá un botón que permita al jugador cambiar los ajustes como el sonido, y también poder salir del juego, dicho botón tendrá también una forma circular.
- Pantalla de pausa: Esta pantalla permitirá a los jugadores pausar la partida mientras están jugando en caso de que lo deseen. Esta pantalla será expuesta cuando un jugador pulse la tecla E.
- Pantallas de victoria: Estas pantallas serán únicas para cada personaje victorioso e incluirán un pequeño ranking cuando varios jugadores jueguen a la vez.
El arte del videojuego tendrá un estilo Cartoon. A continuación se presentará un boceto de los campeones de las tres facciones:
Princesa Noveny . / . Sir Thomas . / . General Kalapax
Se han tomado referencias del videojuego "Brawlhalla" en la estética de los personajes además referencias culturales de los juegos de rol y películas de fantasía como "War of Warcraft" o "El Señor de los Anillos" al incorporar civilizaciones no humanas como en este caso los orcos y los elfos.
Ejemplos de referencias:
En cuanto a la elección de las distintas facciones es una clara referencia al videojuego "For Honor":
_Fuente: "For Honor"_En los personajes, el jugador podrá elegir entre tres facciones bien diferenciadas: Los orcos, los elfos y los humanos.
Además, en cada facción, existen dos tipos de grupos de unidades: Los campeones y las tropas. A continuación, se detallarán las características principales de cada una de las unidades de todas las facciones:
-
Orcos:
-
Elfos:
-
Humanos:
Todas estas tropas son cortesía de la página web opengameart.org
En cuanto a la elección de los colores utilizados podemos destacar los distintos patrones de colores:
- Elfos:
- Orcos:
- Humanos:
- Aparte de estos colores utilizados cabe destacar la inclusión de pqueñas referencias al videojuego WoW en la simbología de los campeones orco y humano con los símbolos de la Orda y la Alianza respectivamente.
El escenario será una zona rectangular con una estética correspondiente a la temática del juego, como por ejemplo un bosque o un páramo. En la parte izquierda está la base de un jugador, y en la parte derecha la base del jugador contrario. Por último, cabe destacar que los personajes principales se podrán mover por todo el mapa. A continuación, vamos a presentar unas imágenes del escenario de nuestro videojuego.
La cámara que se utilizará a lo largo de la partida será una cámara inclinada con un plano picado.
Este argumento se centra en el personaje de Issabell II, difunta reina del reino de los elfos. Tras su muerte, las facciones de los humanos, orcos y elfos entraron en batalla para poder gobernar el territorio con sus tropas y campeones.
El juego tendrá distintos audios, en primer lugar habrá un audio para la interfaz del juego, antes de comenzarlo, otro mientras se está jugando y por último, un audio que se reproducirá en caso de que el jugador pierda la partida. Además, cabe añadir que ciertas acciones que se produzcan durante el juego tendrán su propio audio.
-
Música:
- Música de menú principal Menu principal
- Música de fondo inGame Musica inGame
- Música de selección de personaje: Seleccion de campeon
-
Efectos de sonido:
- Sonidos de reloj inicial. Tic Tac
- Sonidos del ataque. Ataque de campeon
- Sonidos de explosion por minions. Explosion de minions
- Funcionamiento del servidor del juego
Se ha creado una API Rest en Java usando el IDE Eclipse y el framework Spring. En esta imagen se muestra su diagrama de clases:
- Elementos que se comunicarán al servidor
- Que está esperando para iniciar una partida
- Qué personaje ha elegido
- La posición del jugador
- La acción de atacar y su dirección
- La posición y número de sus minions
- La salud de las torres y los personajes
Clase manejador: GameWebSocketHandler:
- La clase manejador implementada tiene una tabla Hash llamada sesiones en la que se guardan todas las sesiones que se unen al servidor. Tambien incluye una lista de sesiones sin sala además de una lista de lobbies.
- Funciones implementadas
- afterConnectionEstablished(): Asigna a los usuarios conectados un identificador cuando se conectan.
- afterConnectionClosed(): Elimina el identificador de los usuarios cuando estos se desconectan.
- handleTextMessage(): Recibe un mensaje JSON de la nueva información en partida de un usuario de un usuario y reenvia el mensaje a su contrincante.
- getOpponentSession(): Buscará en la lista de lobbies al identificador del jugador recibido y devolverá el identificador de su contrincante.
- createLobby(): Recibirá los identificadores de dos sesiones y añadirá la nueva sala a la lista de lobbies.
A continuación, se añadirán una serie de videojuegos similares a Dishonored factions:
_Fuente: "Stickman War Legacy"_ _Fuente: "Plantas Vs Zombies"_ _Fuente: "Empire Defense"_Primero es necesario levantar el servidor:
Descargar el proyecto. Importarlo con Eclipse o con Spring Tool Suite (opción Existing Maven Project) Ejecutarlo como SpringApplication (desde el fichero App.java). Acceder al servidor desde un cliente:
El cliente será un navegador de la misma máquina que ha levantado el servidor o de otra.
El navegador preferiblemente será Google Chrome.
Buscar la dirección IP de la máquina que ha levantado el servidor en el puerto 8080.
¡Jugar!
- Video tutorial de como descargar y ejecutar el servidor:


.png)















