ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Game

Leonardo TafurApuntes18 de Noviembre de 2021

7.476 Palabras (30 Páginas)69 Visitas

Página 1 de 30

El juego habla de la aventura de dos hermanos para derrotar Hue, un dios de otra dimensión que ha llegado al mundo para sacar el poder de las almas de sus habitantes. Para ello, deberán adentrarse en las mazmorras de Emeric, un poderoso mago del que Hue va a hacer servir el cuerpo como huésped. Allí encontrarán 5 criptas una por cada raza que habita el planeta, y deberán destruir el sello que da poder a Hue. El juego está dividido en dos partes con jugabilidad muy diferentes. La primera está ambientada en una de las mazmorras, donde el jugador tendrá que encontrar la entrada a la cripta, pasando por salas con enemigos llevados por Hue y misteriosos artefactos que le mejorarán las habilidades. No sólo tendrá que derrotar enemigos para sobrevivir, también podrá recolectar las almas, que le servirán como moneda para la segunda parte. El jugador cambiará a esta cuando encuentre la cripta y se adentre, y es la que se desarrolla en este proyecto.

Se podría definir su jugabilidad como un actionplatformer. Como subgénero de los videojuegos de plataformas, implica que una parte importante de la interacción se basa en caminar y saltar entre varias plataformas [1]. De este género también extrae características como un diseño de nivel en dos dimensiones, pero con una única dirección (en este caso, hacia la derecha) o el uso de scroll lateral, es decir que la cámara se mueve hacia la derecha independientemente del jugador, para forzarle a avanzar. En Conqueror Souls no se mueve solo, pero sí que se mueve únicamente a la derecha, impidiéndole retroceder.

Se diferencia, sin embargo, en las acciones que puede hacer el jugador y en cómo se comportan los enemigos. A los juegos de plataformas clásicos, la jugabilidad se centra en el movimiento, y los enemigos se suelen derrotar saltando sobre ella o con el uso de elementos del entorno. En Conqueror Souls el jugador puede atacar tanto con la espada como con el arco o lanzando proyectiles mágicos. Del mismo modo lo pueden hacer los enemigos, cambiando completamente la estrategia a la hora de jugar.

Como se indica en el nombre del trabajo, también tiene elementos que recuerdan al género souls-like [2]: al final de cada cripta el jugador se encontrará con un boss (un enemigo principal, y más difícil de vencer) y se penaliza la muerte del jugador hasta el punto de perder la partida. En cuanto a las competencias de la mención de computación, gran parte del desarrollo del proyecto se centra en el diseño de dos algoritmos inteligentes. El primero se encarga de la generación del nivel, que será principalmente aleatoria con ciertos parámetros como la longitud horizontal del nivel. Deberá tener en cuenta restricciones como que las plataformas sean alcanzables por el jugador, pero tampoco demasiado fáciles o que el número de enemigos sea razonable pero difícil y que estén bien posicionados en el terreno.

El otro se trata de la Inteligencia Artificial de los enemigos. Estos pueden ser de tres niveles, cada uno con más vida y más habilidades (por ejemplo, los de nivel 1 sólo disponen de un arma cuerpo a cuerpo). El comportamiento de los enemigos dependerá de su nivel y, sobre todo, del historial de ataques del jugador. Allí se tendrán en cuenta factores como la distancia al enemigo que ha recibido el ataque, el tiempo desde el último ataque o los puntos de vida restantes.

Objetivos del proyecto

El objetivo principal del proyecto es el correcto desarrollo del videojuego descrito en el apartado anterior, priorizando los elementos de algoritmia, pero también con atención a que el resultado final sea no sólo jugable si no el más divertido posible.

Para lograrlo, se han de fi noche tres objetivos específicos:

  • Implementar un algoritmo generador de niveles capaz de crear un nivel aleatorio que sea jugable y con todos los elementos que deben aparecer en posiciones coherentes.
  • Implementar un agente inteligente para los enemigos, específico por las características de Coqueror Souls y que suponga un reto para el jugador.
  • Integrar estos dos módulos en un videojuego con las mecánicas descritas, que tenga una meta alcanzable y sea divertido para el jugador a la vez que un reto.

Estado del arte

En cuanto al diseño de la jugabilidad de la cripta se ha sacado inspiración de videojuegos actuales, pero también de clásicos. Dead Cells [3] (2018) y Blasphemous [4] (2019) fueron las primeras inspiraciones para el diseño. Aunque tienen estéticas y jugabilidad diferentes, ambos son actionplaformers en dos dimensiones. Se diferencian, sin embargo, del diseño final de Conqueor Souls en que su sistema de plataformas es no lineal. Esto significa que, en lugar de ser en una única dimensión como las plataformas clásicas, el diseño de niveles también tiene cierta verticalidad e incorpora elementos del género metroidvania como el hecho de tener que conseguir llaves para abrir puertas en otras zonas del mapa, que obligan al jugador a volver por donde ya ha pasado.

[pic 1]

Ilustración 1 Personaje de Dead Cells disparando a un enemigo.

Aparte, Dead Cells también tiene parte de Souls-like, con enemigos y bosses que atacan con patrones o el concepto de PermaDeath (muerte permanente), es decir que, si el personaje muere, el jugador tiene que volver a empezar desde el inicio. Finalmente, el sistema de plataformas es más similar al de la clásica saga Megaman [5]. Su primera entrega, Rockman Y en japón, Megaman 1 en el resto del mundo (1987), es considerado el primer actionplatformer de la historia. Este sigue el diseño de niveles típicos del género, con una única dirección, pero añade al final de cada nivel un boss con un diseño específico y unas habilidades y debilidades características

En cada nivel, se van añadiendo enemigos de diferentes tipos, y el jugador gana varios tipos de armas. Parte de la jugabilidad se basa en que ciertas armas son más poderosas contra algún tipo de enemigo. El sistema de combate de Conqueror Souls contiene elementos similares.

En cuanto al uso de una inteligencia artificial que se adapte a los movimientos ya las estrategias del jugador existen modelos basados en scripting dinámico [6], donde una base de datos de normas determina el script de la IA. Esta base de datos se actualiza según los movimientos del jugador. También existen los modelos Case-Based [7], que incorporan Opponent Modeling. Debido a su naturaleza, estos últimos son más exitosos en videojuegos multijugador y por ello a Conqueror Souls se ha optado por un modelo basado en Normas. La inteligencia artificial de los enemigos tiene en cuenta la estructura piedra-papel-tijeras, el modo de ataque del Personaje y la distancia a la que se encuentra para decidir su estrategia.

REQUISITOS

Requisitos software

Para el desarrollo de este proyecto existían tres grandes opciones con licencia gratuita con respecto al motor del videojuego: Godot [8], Unity [9] y Unreal Engine [10]. Debido a que un objetivo secundario es fusionar las dos partes del juego en un mismo proyecto, se acordó utilizar el mismo motor. Se descartó Unreal Engine, porque se contaba con muy poca experiencia. Finalmente se escogió Godot por varias razones:

  • Es sencillo de usar para el desarrollo de videojuegos
  • Su lenguaje, GDScript, es sencillo y basado en python, este último muy utilizado para aplicaciones de algoritmos.
  • Es Open Source.
  • Es más intuitivo para los proyectos en dos dimensiones que Unity, la otra opción.

En cuanto a las herramientas, el editor gráfico de Godot cuenta con un IDE bastante completo y diseñado para ser integrado con el resto de los componentes. Además, las predicciones del editor de texto obtienen información del editor gráfico, facilitando así la tarea de programación. Es por ello por lo que en este proyecto no se utilizan herramientas de desarrollo externas en el editor de Godot.

Requisitos hardware

Para el desarrollo, las especificaciones hardware requeridas corresponden a las del motor Godot. Según la página oficial [11], el único requisito es tener una tarjeta gráfica compatible con OpenGL 2.1, y en la tienda de contenido digital Steam [12] los desarrolladores recomiendan que también sea compatible con OpenGL 3.3. Para poder jugar al juego final se requiere Windows 7 o posterior o una distribución con interfaz gráfica de Linux. En cuanto a hardware, los requisitos mínimos son una tarjeta gráfica compatible con OpenGL 3.3 y 35 MB de memoria disponible en el disco.

PLANIFICACIÓ DEL PROYECTO

El proyecto consta de cinco fases principales, cada una de una duración aproximada de un mes. Son las siguientes:

  1. Familiarización con el motor. Durante el mes de septiembre el foco principal será el aprendizaje del editor de Godot y del lenguaje que utiliza su motor, GDScript. Esta fase, sin embargo, se extenderá por todo el desarrollo.
  2. Mecánicas de juego. En octubre se dedica a implementar el movimiento y ataques del jugador, el sistema de colisiones para la generación del nivel, el sistema de puntos de vida y estamina y los puntos de reaparición. También se implementa una versión inicial reducida del agente inteligente que controla los enemigos.
  3. Diseño procedural del nivel. En noviembre se inicial a parte algorítmico del trabajo. Se diseña e implementación de un algoritmo capaz de generar un nivel jugable con cierto grado de aleatoriedad y colocar sus enemigos, puntos de reaparición y aliados encarcelados siguiendo un patrón lógico.
  4. Inteligencia artificial de los enemigos. La última etapa de desarrollo es la que se lleva a cabo en diciembre, y se centra en diseñar un agente inteligente para los enemigos, que tenga en cuenta el comportamiento anterior del jugador para planear sus movimientos.
  5. Testing y refinamiento. Finalmente, en enero se hacen pruebas para comprobar el correcto funcionamiento del juego, se arreglan los errores y se hacen los pequeños ajustes que sean necesarios para mejorar la experiencia de juego.

La planificación temporal de estas fases se puede representar gráficamente en un Diagrama de Gantt, como el que se puede ver en la Tabla 1.

Planificación

Septiembre

Octubre

Noviembre

Diciembre

Enero

Familiarización con el motor.

X

Mecánicas de juego

x

Diseño procedural del nivel

x

Inteligencia artificial de los enemigos

x

Testing y refinamiento

x

Tabla 1 Diagrama de Gantt simplificado

...

Descargar como (para miembros actualizados) txt (43 Kb) pdf (1 Mb) docx (1 Mb)
Leer 29 páginas más »
Disponible sólo en Clubensayos.com