Publicado por

Pedal to the Metal

Publicado por

Pedal to the Metal

HELL to the King «HELL to the King» es el nombre de mi prototipo para la segunda Práctica de Evaluación Continua (PEC2)…
HELL to the King «HELL to the King» es el nombre de mi prototipo para la segunda Práctica de…

HELL to the King

«HELL to the King» es el nombre de mi prototipo para la segunda Práctica de Evaluación Continua (PEC2) de la asignatura Programación de Videojuegos 3D del Máster Universitario en Diseño y Programación de Videojuegos de la UOC.

El objetivo de la práctica era desarrollar un shooter en primera persona utilizando los conocimientos adquiridos en el estudio del primer módulo de la asignatura y realizando investigación por cuenta propia.

Vídeo explicativo

Repositorio en GitLab

UOC – M7.458 – PEC2 en GitLab

Versión de Unity

La versión de Unity utilizada para el desarrollo de la práctica es la 2021.3.19f1 LTS.

El orden de las escenas está definido en los builds settings del proyecto, siendo Assets/Scenes/Opening.scene la primera escena que debe cargarse.

Cómo jugar

El objetivo del juego es llegar hasta el final del nivel, acabando con tantos demonios como sea posible, y haciéndose con las llaves que permiten acceder a varias zonas inaccesibles.

El jugador disponer de varias armas, cada una de ellas con sus propias características,

El control se lleva a cabo mediante teclado y ratón, aunque también está preparado para ser compatible con gamepad:

  • Las letras WASD mueven al personaje.
  • El Espacio hace que el personaje salte.
  • La tecla Mayúsculas izquierda sirve para que el personaje esprinte.
  • El botón izquierdo del ratón dispara.
  • La rueda del ratón permite cambiar el arma activa.
  • La tecla Escape sirve para pausar el juego y abrir el menú de pausa.

Desarrollo

De cara a completar el desarrollo de la práctica, se han llevado a cabo todas las tareas obligatorias y gran parte de las opcionales, aunque por falta de tiempo no ha podido llegarse a todo cuanto se esperaba.

A modo de resumen:

URP

El proyecto de Unity se creó utilizando la plantilla 3D URP para habilitar URP desde el principio y evitar así problemas en caso de querer cambiar la render pipeline en fases posteriores. Pese a ello, debido a que muchos de los assets disponibles de manera gratuita no disponen de versión URP, fue necesario modificar el pipeline en un gran número de materiales para poder aprovechar los recursos. De hecho, un gran número de assets de terceros fue desestimado porque requerían rehacer manualmente sus shaders para poder utilizarlos.

Armas

Para completar tanto el objetivo obligatorio como el opcional, se han creado tres armas diferentes:

Guitarra (pistola)

  • Automática: no
  • Cadencia: baja
  • Daño: equilibrado
  • Retroceso: leve
  • Velocidad de recarga: baja

Bajo (ametralladora)

  • Automática: sí
  • Cadencia: alta
  • Daño: bajo
  • Retroceso: medio
  • Velocidad de recarga: alta

Micrófono (escopeta)

  • Automática: no
  • Cadencia: muy baja
  • Daño: muy alto
  • Retroceso: alto
  • Velocidad de recarga: alta

Enemigos

De igual modo, también se han creado tres tipos de enemigos, utilizando modelos diferentes y atribuyéndoles valores diferentes en la cadencia y en el daño. A uno de ellos, además, se le ha dado la condición de francotirador, que le permite no sólo disparar desde más lejos utilizando una mira de láser, sino también estar continuamente observando al jugador desde el momento en el que entra en esfera de colisión.

El resto de enemigos utilizan la inteligencia artificial mínima que se solicitaba en el enunciado de la práctica, patrullando una zona determinada y buscando al jugador en caso de que pase muy cerca.

Además, todos los enemigos desaparecen lentamente al morir.

Pantallas

Debido a la falta de tiempo, sólo ha podido completarse la pantalla requerida por las tareas obligatorias, que consta de una zona montañosa, una zona urbana (en ruinas) y una zona interior.

Salud, escudo, munición y HUD

El jugador dispone de una barra de escudo que absorbe la mayor cantidad del daño, aunque no evita que una parte se consuma de la salud.

Durante la partida, el jugador puede ver en todo momento la salud, el escudo y la munición del arma equipada en el HUD de la parte superior de la pantalla.

Objetos

El jugador puede encontrar objetos repartidos por la pantalla o dejados por los enemigos al morir que le permiten recuperar salud, escudo y munición.

Puertas y plataformas móviles

En lo referente a las puertas, se ha creado una única puerta con tres comportamientos diferentes posibles:

  • Automática: se abre cuando el jugador pasa cerca.
  • Bloqueada: el jugador necesita una llave para abrirla.
  • Cronometrada: el jugador debe encontrar la placa de presión que la activa y llegar a ella antes de que se cierre.

También se han incorporado plataformas móviles que permiten al jugador desplazarse de manera horizontal y vertical.

Puntos de control y zonas de muerte

Por falta de tiempo, no ha sido posible incorporar puntos de control o zonas de muerte. No obstante, sí se incorporaron en la práctica anterior, por lo que su ejecución hubiera sido la misma.

Música y sonido

Se ha añadido música de fondo tanto a la escena del menú principal como a la de juego y se han añadido sonidos a las diferentes acciones que se suceden: disparar, abrir puertas, recoger objetos, etc.

Escenas

Finalmente, además de la principal, el juego dispone de una única escena adicional, la del menú principal.

Pendientes

En el momento de la entrega, se dejan como pendientes las siguientes tareas e intenciones:

  • Implementación de los puntos de control
  • Implementación de las zonas de muerte
  • No se han podido subir todos los sonidos de los que se disponía, incluyendo voces del personaje y de los enemigos que ya se encontraban grabadas.
  • Retoques finales a los atributos de los enemigos para ajustar la dificultad.

Elecciones de diseño

  • Se ha optado por hacer desaparecer a los enemigos reduciendo su tamaño en vez de haciendo un fade por una cuestión puramente visual. No obstante, el código para hacer el fade está igualmente implementado y se ha conservado en el código a pesar de no estar siendo utilizado.
  • Se ha optado por mostrar el final de juego y de partida directamente en la escena de juego, sin crear una escena adicional, por una cuestión de economía de recursos.

Créditos

Paquetes completos

Fuentes

Imágenes

Sonidos

Referencias

General

Colisiones y raycast

NavMesh

Partículas

Render pipelines

TextMesh Pro

Debate2en Pedal to the Metal

  1. Marc Rost Peñalosa says:

    Por la descripción parece muy divertida tu PEC Salvador!

    El tema de la guitarra como arma y el Rock es muy original :D

Publicado por

PEC2 – First Person Shooter

Publicado por

PEC2 – First Person Shooter

URL del repositorio en GitLab: https://gitlab.com/dsahuquillod/firstpersonshooterpec2   Enlace videos de muestra:     2. ¿Serías capaz de desarrollar First Person Shooter? …
URL del repositorio en GitLab: https://gitlab.com/dsahuquillod/firstpersonshooterpec2   Enlace videos de muestra:     2. ¿Serías capaz de desarrollar First…

URL del repositorio en GitLab:

https://gitlab.com/dsahuquillod/firstpersonshooterpec2

 

Enlace videos de muestra:

 

 

Debate0en PEC2 – First Person Shooter

No hay comentarios.

Publicado por

PEC2 – They Will Come! (FPS)

Publicado por

PEC2 – They Will Come! (FPS)

Para la entrega de la PEC 2 teníamos que realizar un «First Person Shooter» con enemigos y varios puzles. En mi caso…
Para la entrega de la PEC 2 teníamos que realizar un «First Person Shooter» con enemigos y varios puzles.…

Para la entrega de la PEC 2 teníamos que realizar un «First Person Shooter» con enemigos y varios puzles.

En mi caso he querido aprovechar y utilizar el HDRP para conseguir un escenario lúgubre con infectados como enemigos. Además, he introducido varios puzles con tarjetas magnéticas y enemigos controlados por «NavMesh».

Aquí dejo el Gameplay:

https://www.youtube.com/watch?v=tmvGePB7CNA

 

Debate3en PEC2 – They Will Come! (FPS)

  1. Anna Zango Palau says:

    Fua, me genera una tensión solo mirando el vídeo jajajaja! Es fantástico Marc, has conseguido una ambientación buenísima!

  2. Marc Rost Peñalosa says:

    Muchas gracias compañeros!

    La verdad es que hay puntos flojos, pero le he dedicado muchas horas, espero que de sus frutos :) !

Publicado por

Prog 3D PEC 2 – Un First Person Shooter

Publicado por

Prog 3D PEC 2 – Un First Person Shooter

¡Hola! Os dejo mi entrega para la segunda PEC de Programación 3D. En esta ocasión he titulado al juego «Street Gunner» debido a que el trasfondo detrás del juego es una pelea entre bandas. Algunas de las funcionalidades implementadas son:  Escenario situado en terreno montañoso y con entorno cerrado Varios tipos de armas Barra de vida y escudo Gestión de munición Mostrar la información en el HUD Plataformas móviles Puertas con llave Distintos tipos de enemigos Items consumibles Pantalla de…
¡Hola! Os dejo mi entrega para la segunda PEC de Programación 3D. En esta ocasión he titulado al juego…

¡Hola! Os dejo mi entrega para la segunda PEC de Programación 3D. En esta ocasión he titulado al juego «Street Gunner» debido a que el trasfondo detrás del juego es una pelea entre bandas.

Algunas de las funcionalidades implementadas son:

 Escenario situado en terreno montañoso y con entorno cerrado

  • Varios tipos de armas
  • Barra de vida y escudo
  • Gestión de munición
  • Mostrar la información en el HUD
  • Plataformas móviles
  • Puertas con llave
  • Distintos tipos de enemigos
  • Items consumibles
  • Pantalla de muerte
  • Pantalla de final de la partida
  • Sonorización con audio mixer
  • Puertas con tiempo
  • Desaparecer enemigos con fade
  • Dead zone

En el readme del repositorio está ampliada la documentación con toda la información sobre las decisiones tomadas a la hora de diseñar el juego por lo que si alguien quiere echarle un ojo y sigue privado podéis darme un toque ?

Gameplay

Enlaces

Recursos usados

Debate4en Prog 3D PEC 2 – Un First Person Shooter

  1. Anna Zango Palau says:

    Muy fan de la temática Ismael, original y divertida jajaja! Además la parte del puente me ha encantado, es una pasada!!

    1. Ismael Navarro Páez says:

      Muchas gracias! Con el tema de las puertas que se cerraban con el tiempo he intentado hacer algo un poco más original y aprovechando para combinar varios puntos de los requisitos.

      Me alegro de que te guste.

  2. Nino Dafonte Blanco says:

    Es un currazo extremo Isma! a topeee! El detalle de la torreta me encanta, me ha recordado al Hidden and Dangerous de hace mil años, enhorabuena!!

    1. Ismael Navarro Páez says:

      Muchas gracias!

      La verdad que en esta ocasión me he entretenido mucho con el diseño de nivel. Es un poco como montar una maqueta digitial xD

Publicado por

PEC2 – First Person Shooter

Publicado por

PEC2 – First Person Shooter

Hola compañeros. Este es mi intento de juego para la PEC2: Un first person shooter. Aquí tenéis un pequeño video con una demo: También lo podéis jugar en mi itch.io tanto en escritorio como en web, al igual que la PEC anterior. Los controles son los siguientes: Movimiento: W A S D Salto: espacio Disparo primario: click izquierdo del ratón Disparo secundario: Click derecho del ratón Cambio de arma: rueda del ratón Sprint: Shift + movimiento 2. ¿Serías capaz de…
Hola compañeros. Este es mi intento de juego para la PEC2: Un first person shooter. Aquí tenéis un pequeño…

Hola compañeros. Este es mi intento de juego para la PEC2: Un first person shooter. Aquí tenéis un pequeño video con una demo:

También lo podéis jugar en mi itch.io tanto en escritorio como en web, al igual que la PEC anterior. Los controles son los siguientes:

  • Movimiento: W A S D
  • Salto: espacio
  • Disparo primario: click izquierdo del ratón
  • Disparo secundario: Click derecho del ratón
  • Cambio de arma: rueda del ratón
  • Sprint: Shift + movimiento

Debate0en PEC2 – First Person Shooter

No hay comentarios.

Publicado por

Programación 3D – FPS

Publicado por

Programación 3D – FPS

En esta PEC he implementado un FPS donde controlaremos a un oficinista que se despierta como una capsula en su día libre, lo que no le hace nada de gracia. Repositorio: https://gitlab.com/truizmar/pec2 2. ¿Serías capaz de desarrollar First Person Shooter? …
En esta PEC he implementado un FPS donde controlaremos a un oficinista que se despierta como una capsula en…

En esta PEC he implementado un FPS donde controlaremos a un oficinista que se despierta como una capsula en su día libre, lo que no le hace nada de gracia.

Repositorio: https://gitlab.com/truizmar/pec2

Debate1en Programación 3D – FPS

  1. Anna Zango Palau says:

    Buenísimo lo del oficinista!! Has implementado cosas muy top, como la barrita de vida encima de cada enemigo! Yo también quería hacerlo pero no me ha dado tiempo, si me animo igual lo hago más tarde! Por cierto, las balas que rebotan son geniales también

Publicado por

PEC 2 – Un FPS – Quim Colobrans Ramírez

Publicado por

PEC 2 – Un FPS – Quim Colobrans Ramírez

Entrega de la PEC 2 de la asignatura Programación de videojuegos 3D. Como jugar La practica «FPS» trata de un prototipo de shooter en primera persona. El jugador explorará el mapa, resolviendo puzzles plataforma y eliminando enemigos haciendo uso de las armas disponibles. El juego cuenta con 3 zonas separadas por puertas bloqueadas. El jugador deberá encontrar la llave acorde a la puerta bloqueada para acceder a la siguiente zona. Controles Movimiento: Teclas W-A-S-D. Saltar: Tecla Espacio. Correr: Tecla Shift.…
Entrega de la PEC 2 de la asignatura Programación de videojuegos 3D. Como jugar La practica «FPS» trata de…

Entrega de la PEC 2 de la asignatura Programación de videojuegos 3D.

Como jugar

La practica «FPS» trata de un prototipo de shooter en primera persona. El jugador explorará el mapa, resolviendo puzzles plataforma y eliminando enemigos haciendo uso de las armas disponibles.

El juego cuenta con 3 zonas separadas por puertas bloqueadas. El jugador deberá encontrar la llave acorde a la puerta bloqueada para acceder a la siguiente zona.

Controles
  • Movimiento: Teclas W-A-S-D.
  • Saltar: Tecla Espacio.
  • Correr: Tecla Shift.
  • Rotación: Posición del Ratón.
  • Disparar: Botón izquierdo del ratón.
  • Apuntar: Botón derecho del ratón.
  • Cambiar arma: Deslizar rueda del ratón arriba y/o abajo.
Walkthrough Video
Acceso al repositorio de Git
https://gitlab.com/qcolobrans/prog.3d_pec-2
Créditos:

Desarrollado por:  Quim Colobran Ramirez – @quicorax
Todos lo assets usados en el desarrollo de este proyecto son de uso público o han sido proporcionados por la UOC.

Debate1en PEC 2 – Un FPS – Quim Colobrans Ramírez