Saltar navegación

Defensa Proyecto Daniel Hernández - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 22 de mayo de 2025 por Agustin N.

1 visualizaciones

Descargar la transcripción

Vale. Pues vamos a empezar, ¿vale, Daniel? 00:00:01
Genial. 00:00:05
Buenas tardes, Daniel. Hoy día, 22 de mayo, a las 18 horas, estamos convocados a través de Jefatura de Departamento 00:00:07
para la defensa del módulo profesional del proyecto del ciclo informativo de desarrollo de aplicaciones web, ¿no? 00:00:14
Sí. 00:00:21
Te informo que esta grabación se usará en el entorno cerrado de Educomadrid, con fines educativos, 00:00:22
y sólo estará disponible para los profesores a través del aula virtual 00:00:26
para que puedan llevar a cabo la evaluación y calificación de la defensa del proyecto. 00:00:31
En el aula virtual de proyecto habéis sido informados de los criterios de rúbrica de calificación. 00:00:37
El orden de la presentación del proyecto es el siguiente. 00:00:41
15 minutos máximos para defender el proyecto, 5 minutos para preguntas por parte del tribunal 00:00:45
y dicho esto, su tiempo de exposición comienza a partir de este momento 00:00:51
Adelante, Daniel, y mucha suerte. 00:00:56
Perfecto. Pues hoy vengo a explicar mi proyecto llamado Mooning Adventure. 00:00:58
Mooning Adventure es un juego de aventuras hecho en 3D en Unity. 00:01:03
El juego cuenta con tres mapas diferentes, música ambiental, una interfaz de usuario intuitiva y controles de música incorporados. 00:01:07
Los objetivos de este juego eran proporcionar una experiencia muy divertida, competitiva y emocionante a los jugadores. 00:01:14
Y para esto he necesitado crear, diseñar un entorno de 3D abstractivo, realista del juego que he querido realizar. Implementar unas mecánicas agradables para que los usuarios puedan jugar bien, crear varios niveles para mantener el interés de los usuarios e implementar un elemento sonoro para mejorar la experiencia de juego de los usuarios. 00:01:18
Ahora voy a empezar a explicar la interfaz de Unity 00:01:40
Que ha sido donde he creado yo el juego 00:01:43
Que para eso me voy a ir a Unity 00:01:45
Y como podemos ver por la parte izquierda 00:01:48
Tenemos las escenas cargadas 00:01:50
Las escenas es el contenedor de los objetos que se van a ver en el juego 00:01:53
Pueden ser tangibles o no tangibles 00:01:59
Así que en la parte de abajo está el apartado de carpetas 00:02:02
Llamado Assets 00:02:07
Y en el apartado de la derecha está toda la información de cada objeto, script, carpeta que se necesite. 00:02:08
En la parte de abajo podemos ver que hay una serie de carpetas y cada una de estas tiene que llevar un nombre específico sobre todo si son las escenas y los scripts. 00:02:21
En el apartado de escenas, aquí están todas las escenas que yo he creado para poder hacer que el juego funcione correctamente 00:02:31
En el apartado de script están todos los scripts que he necesitado para poder hacer que el juego funcione 00:02:41
El personaje se mueva, los menús hagan algo, la música suene y todo eso 00:02:51
En el apartado de imágenes, tengo la imagen de fondo, en el sonido los sonidos que he ido usando y todos estos de aquí, estos tres de aquí a la izquierda, son los assets públicos que he usado. Son todos públicos, se pueden usar, modelar como tú quieras, editar, así que por ese apartado, fenomenal. 00:02:57
ahora voy a entrar al código vale voy a enseñar sobre todo lo más importante porque al haber 00:03:19
tanto código aquí no todo hace todo lo importante que se necesita para aplicar aquí así que bueno 00:03:28
voy a explicar el seguimiento de la cámara el seguimiento de la cámara básicamente lo que hace 00:03:36
es que la cámara se enfoque solamente en el usuario independientemente de si hay algún 00:03:42
objeto delante suyo o no vale lo voy a explicar un momentito de una forma muy rápida vale si 00:03:49
nosotros nos vamos aquí al juego como podemos ver también suena tiene aquí su su su sus compañeros 00:03:58
que puedes ver pero si nos acercamos a algún objeto la cámara se acerca vale para no tener 00:04:08
que traspasar los objetos como tal básicamente lo que recojo es el personaje y mediante físicas 00:04:14
y posiciones del juego calculamos dónde está y lo vamos acercando alejando dependiendo de 00:04:22
dónde estén los objetos aparte del personaje este script que se llama recoger personaje es 00:04:29
es porque el juego se basa en recoger los personajes que han sido raptados por otros alienígenas, ¿vale? 00:04:37
Como podemos ver aquí, hay otro personaje. 00:04:49
Entonces, para poder recoger este personaje, he tenido que hacer este script que básicamente lo que hace es controlar 00:04:51
si mi personaje el personaje principal se acerca mucho al personaje al personaje que tenemos que 00:04:58
recoger vale mira voy a enseñar aquí como lo recoge y cuando lo recoge aquí se añade un 00:05:08
compañero salvado y el personaje desaparece también aquí a la hora de recoger el personaje 00:05:18
he controlado también que se puedan no se puedan recoger personajes malos vale que en este caso 00:05:25
estos personajes son personajes malos si nosotros lo tocamos nos han capturado y tendríamos que 00:05:31
volver a empezar el juego vale ahora voy a explicar el movimiento del personaje básicamente esto lo que 00:05:40
hace es que con las teclas w s de el espacio y con el shift izquierdo vale se pueda el personaje 00:05:49
mover con la w va para adelante la s va para detrás la la izquierda y la de la derecha vale 00:05:57
con el sip lo que hacemos es que el personaje corra más con el espacio lo que hacemos es que 00:06:04
salte eso sigue controlado que el personaje no pueda saltar infinitas veces porque aquí 00:06:09
en unity hay que controlar si el personaje está tocando el suelo o no vale por otra parte también 00:06:14
he tenido que aplicarle físicas 00:06:23
porque si no el personaje 00:06:24
se mueve y se para de una forma uniforme 00:06:25
y lo que yo quería era que fuese 00:06:29
andando progresivamente y bajando la velocidad 00:06:30
cuando se le vaya dejando 00:06:33
esto se consigue 00:06:34
recogiendo la posición 00:06:36
con un vector y con la velocidad que le 00:06:38
queremos dar al personaje 00:06:40
y por último 00:06:42
como hemos podido ver 00:06:44
si nos vamos 00:06:45
al principio del juego 00:06:47
hay una musiquita 00:06:49
Esta música, lo que he conseguido hacer es que la música no se pierda entre escenas 00:06:52
Porque cuando tú tienes una escena en Unity, las cosas de esa escena son únicas para esa escena 00:06:59
Entonces he conseguido que entre escenas la música siga estando 00:07:06
El usuario también puede subir el volumen o bajarlo 00:07:09
Y también he hecho un botoncito que si lo pulsamos se quita la música 00:07:13
y esto se queda guardado vale esto si el usuario cierra el juego y se vuelve a meter se le quedan 00:07:19
guardados las preferencias del usuario entonces la música si la ponemos a este volumen y la música 00:07:27
está encendida se queda así si nosotros paramos el juego y lo volvemos a dar vuelve a estar en 00:07:32
el mismo lado vale perfecto pues eso es lo más gordo que ha habido de programación he tenido 00:07:39
más que hacer más programaciones por ejemplo la configuración que es el apartado de cargar 00:07:47
en las escenas porque en unity las escenas se tienen que ir cargando de una forma correcta 00:07:52
no puede haber más de dos escenas a la vez porque si no hay hay problemas entre los scripts y he 00:07:59
tenido que irme ir jugando con las escenas vale después hay varios mundos hay tres mundos hecho 00:08:08
tres mundos cada mundo es diferente y no puedes pasar a los siguientes mundos si no si no consigues 00:08:15
que es pasarte el anterior vale y básicamente este es el juego la parte de programación como 00:08:22
se ve y todo eso ahora voy a explicar la parte d como lo he desplegado para que se pueda jugar en 00:08:29
página web a antes mencionar que unity se puede hacer juegos para windows linux mac android en 00:08:36
páginas web en este caso yo el juego lo he hecho solamente para que pueda funcionar bien en páginas 00:08:45
web pero gracias a unity esto es escalable vale si en algún momento este juego pongamos que tiene 00:08:50
éxito en una página web se puede pasar a que sea un juego de escritorio que se puede pasar a que 00:08:58
sea un juego móvil por ejemplo que tienen ahora mucho mucho peso en el mercado vale para eso he 00:09:02
tenido que hacer una build que la build está específicamente hecha para que sea para web vale 00:09:09
Y he tenido que optimizar bastante esta build porque obviamente las páginas web no pueden tirar tanto de recursos como si es una aplicación de escritorio, ¿vale? 00:09:17
Bueno, ahora sí que voy a explicar cómo lo he desplegado para que se pueda jugar en una página web, ¿vale? He usado esta página que se llama Itch.io, que es una página donde tú puedes subir videojuegos, videos y demás, ¿vale? Mira, lo voy a enseñar aquí. 00:09:29
Puedes descargarlos, puedes jugarlo en la web 00:09:48
Y hay juegos muy buenos 00:09:51
Puedes ponerlo de pago, puedes ponerlo gratuito 00:09:53
Yo lo he puesto gratuito 00:09:56
Y esta web te lo facilita muchísimo 00:09:57
Tú cuando te creas el proyecto en tu cuenta 00:10:00
Se te abre esta página 00:10:04
Tú le tienes que poner un título 00:10:07
La URL del proyecto 00:10:09
Si quieres le puedes poner aquí una imagen 00:10:11
Y le tienes que decir qué va a ser, si es un juego, si van a ser assets, si van a ser un juego físico, todo eso. Y esto es muy importante, aunque aquí haya la opción de Unity, cuando nosotros hacemos el juego en web, hay que decirle que sea HTML, porque si no, no carga directamente. 00:10:15
Porque como se compila de una forma diferente 00:10:40
Hay que decirle que es HTML 00:10:44
Después, aquí puedes poner el precio 00:10:46
En caso de que quieras ponerlo de pago 00:10:48
Y aquí es donde subimos la build 00:10:50
Siempre tiene que ser en zip 00:10:52
Porque ya la página se nos encarga de hacer que todo cargue 00:10:53
Aquí después hay opciones más avanzadas 00:10:59
Que esto es para poner sobre todo 00:11:04
Cómo de grande quieres que se vea 00:11:05
Yo he puesto el juego en pequeñito por si acaso se quiere jugar en portátiles, si se quiere jugar en pantallas más pequeñas, más grandes, se pueda ver bien todo. Y también he puesto un botón de pantalla completa, pero al fin y al cabo, como he puesto que el canvas sea pequeño, no se ve en pantalla tan grande. 00:11:08
por todo lo demás esto es hay que subirlo vale se guarda y nosotros podemos verse a la página 00:11:24
y jugar vale pero como podemos ver aquí yo estoy con mi usuario esto no es como lo vería el usuario 00:11:31
final vale después en esta página también podemos editar lo que es la página web vale podemos 00:11:37
cambiar el fondo cambiar lo que los colores de las letras los colores de los botones dejarlo 00:11:43
a nuestro gusto totalmente al fin y al cabo esto del ser una herramienta gratis tiene muchísimas 00:11:51
opciones de edición vale ahora voy a enseñar cómo lo vería un usuario normal vale así es 00:11:57
como lo vería un usuario normal si nosotros le damos aquí cargaría el juego vale y nosotros 00:12:04
podemos ya para el usuario final esto ya es lo que podría haber cualquier persona que se quiera 00:12:13
meter a este juego vale si nosotros nos metemos salimos en la base nosotros podemos mover saltar 00:12:23
todo y aquí nos pone que nos hemos salvado a todos los compañeros y que tenemos que ir a la 00:12:29
nave nosotros vamos corriendo y aquí salen los mapas vale nosotros vamos al primero tenemos que 00:12:33
conseguir a todos los personajes que en este caso si los conseguimos todos teniendo cuidado de que 00:12:42
no toquemos a los personajes malos esto ya cuando consigamos todos nuestros compañeros podemos pasar 00:12:48
al mundo siguiente. Voy a intentarlos conseguir rápido. 00:12:57
A ver si me acuerdo de dónde estaban. 00:13:01
No, aquí no está. 00:13:06
Estamos un mundito. 00:13:11
Una vez que ya hayamos conseguido todos los personajes 00:13:16
que suelen ser entre 4 y 5 00:13:18
personajes que tenemos que recoger, ¿vale? 00:13:20
Ya se nos pasaría 00:13:23
a la siguiente pantalla. 00:13:24
¿Vale? A la siguiente nos volvería 00:13:26
al mapa de mundos cuando volvamos 00:13:28
a la nave 00:13:30
y ahí nos dejaría seleccionar el siguiente 00:13:31
mapa. ¿Vale? 00:13:34
Como se puede ver, el juego actualmente funciona bastante bien. Además, los gráficos los intenté optimizar lo máximo posible para que el juego no llegase a explotar o a quedarse bastante pillado en una página web, porque los navegadores no pueden usar más de 2 GB de VRAM, que se llama. 00:13:35
Entonces 00:14:07
Ya que hemos salvado a todos los compañeros 00:14:09
Ya podemos volver a la base 00:14:11
Entonces este 00:14:12
Este mundo ya no lo hemos pasado 00:14:13
A ver si consigo llegar 00:14:17
Vale 00:14:18
Entonces, como ya hemos pasado el primero 00:14:20
Podemos irnos al segundo 00:14:24
Otro mapa, hay que conseguir a los personajes 00:14:25
¿Vale? 00:14:28
Y ya nos podríamos ir al tercer mundo 00:14:30
Una vez que nos cojamos a todos los personajes 00:14:32
Como puedes ver 00:14:34
los mapas son diferentes, sobre todo en color y en los visuales, ¿vale? Y hay diferentes 00:14:36
personajes malos. Como podemos ver ahora, en este mundo son azules, ¿vale? También 00:14:43
hay unos rojos, pero sobre todo son azules en este mapa, ¿vale? Una vez que consigamos 00:14:50
a todos los compañeros, ¿vale? Ya podemos pasarnos al último mundo. Como ya lo hemos 00:14:56
cogidos todos, vamos al último mundo 00:15:06
y aquí ya tenemos el último mundo 00:15:09
entonces una vez 00:15:12
que nos pasemos el último 00:15:15
mundo 00:15:17
una vez que vayamos a la base 00:15:17
nos pondrá que ya hemos salvado a todos 00:15:20
si no nos los hemos salvado 00:15:22
y nos hemos saltado a alguno, nos lo pondrá aquí 00:15:25
que no hemos salvado como ahora 00:15:26
entonces una vez que ya nos pasemos todos los mundos 00:15:28
vale, a ver si me lo consigo 00:15:30
pasar rápido 00:15:33
ya el juego habría terminado 00:15:34
El juego, al fin y al cabo, se puede mejorar y aumentar los personajes, aumentar sobre todo las animaciones de los personajes, mejorar lo que es la fluidez del juego, pero al fin y al cabo es lo que ha dado tiempo en estos tres meses que he estado con el proyecto. 00:15:39
Y sobre todo lo más complicado es que todo fluya bien 00:16:00
Porque si no fluye bien 00:16:04
El proyecto no 00:16:05
Para las páginas web no funciona nada bien 00:16:06
Así que, bueno, en este caso 00:16:09
A ver si consigo todos los personajes 00:16:12
Y ya el juego se termina 00:16:14
A ver 00:16:17
No lo encuentro 00:16:36
Vale, pues 00:16:37
Una vez que ya nos hayamos pasado todo el juego 00:16:56
Saldría aquí que nos lo hemos pasado, ¿vale? 00:17:00
Y el usuario podrá jugar a veces que quiera 00:17:02
Al fin y al cabo no se limita a que los personajes 00:17:04
Una vez que ya lo hayamos conseguido ya se ha terminado 00:17:07
Así que por esta parte 00:17:09
Así es como sería el videojuego 00:17:11
Por último 00:17:13
Vale 00:17:16
Por último 00:17:17
Quería también explicar 00:17:19
Que este juego ha sido hecho solo por mi 00:17:22
No ha habido ninguna persona más que se ha dedicado a este juego 00:17:25
Vale 00:17:29
Todos los visuales los he usado yo 00:17:30
Digo, los he recogido yo, toda la programación la he tenido que hacer yo. Así que lo único que me quedaría por mejorar, a mi gusto, en un proyecto tan pequeño y tan corto de tiempo, sobre todo, sería el rendimiento general del programa, porque al fin y al cabo se puede hacer que la programación sea más precisa o los modelados sean un poquito menos exigentes. 00:17:32
también la interfaz de usuario 00:17:59
la interfaz de usuario en Unity es un poquito básica 00:18:02
sobre todo con las cosas que te da Unity 00:18:05
y se podría mejorar 00:18:06
bastante, también para que 00:18:09
los usuarios que juegan al videojuego 00:18:11
puedan divertirse 00:18:13
más, sobre todo añadir más mapas 00:18:15
y más elementos visuales y animaciones 00:18:17
para los personajes y sonidos también 00:18:19
¿vale? y también lo que me gustaría 00:18:20
mejorar para que no quede tan 00:18:23
tan 00:18:24
como lo diría 00:18:27
tan robótico 00:18:30
sería la transición entre las escenas 00:18:31
hacer como un difuminado o algo así 00:18:34
quedaría muy bien pero no ha habido 00:18:36
tiempo para poderlo hacer 00:18:38
entonces 00:18:39
este ha sido todo 00:18:41
espero que os haya gustado el juego 00:18:43
que he hecho, el proyecto que he hecho 00:18:46
y esto ha sido un gran reto para mi 00:18:48
sobre todo porque a mi me encantan los videojuegos 00:18:50
me encanta hacerlos 00:18:52
probarlos, jugarlos 00:18:54
y me parece muy interesante que se puedan hacer 00:18:56
también para páginas web, sobre todo que la gente 00:18:59
ahora lo que más usa son páginas web 00:19:01
espero que os haya gustado 00:19:02
y un saludo 00:19:05
Muchas gracias Daniel por la presentación 00:19:07
¿Qué es lo que más te ha costado 00:19:09
el proyecto? 00:19:12
Lo que más me ha costado, sin duda 00:19:13
alguna, el tema de 00:19:15
que 00:19:17
el personaje y la cámara 00:19:18
se muevan a la vez 00:19:21
sin lugar a duda 00:19:22
¿Cómo lo has hecho? 00:19:24
¿En programación? Pues mira, sobre todo, mira, yo tengo un personaje, ¿vale? Te lo voy a enseñar un segundito. Vale, yo tengo este personaje, ¿vale? Y aquí tengo una cámara, como puedes ver, ¿vale? 00:19:26
Esta cámara en Unity son estáticas, ¿vale? Y para que una cámara se mueva y siga a un personaje, tengo que recoger ese personaje e indicarle que tiene que estar todo el rato en movimiento en base al movimiento del personaje, ¿vale? 00:19:45
Mira, en programación lo que he hecho ha sido recoger el personaje, referenciarlo y añadirle una suavidad a la cámara, porque si no se mueve como a trompicones, va como cachito a cachito, va así la cámara. 00:20:03
Entonces, para que la cámara vaya lentita y vaya suave, hay que meterle como un delay, un poquito de tiempo, para que se tarde en mover. 00:20:20
También he necesitado recoger la posición relativa a la que está el personaje, la izquierda, la derecha, la profundidad y la altura 00:20:29
Y la distancia máxima y mínima de la cámara para cuando se acerque o se aleje 00:20:38
También he tenido que recoger todos los obstáculos que son los objetos tangibles del juego 00:20:43
Por ejemplo, los árboles, las rocas, la nave, todo eso he tenido que recogerlo también, todo el rato lo estoy recogiendo 00:20:49
Y también he necesitado recoger la distancia, la dirección a la que se mueve el personaje y la velocidad. Aquí en Unity hay unos métodos predefinidos. Sobre todo se llama el método start, el update y el late update. 00:20:57
Que el late update tarda un poquito más que el update. En el start es cuando se inicia el script, la primera vez que se abre el script. Y ahí recojo lo que es la dirección del personaje y de la cámara. 00:21:18
En el late update lo que hago es asignarle al personaje y ponerle la posición de la cámara delante del personaje y ajustar la distancia que hay entre la cámara y el personaje. 00:21:32
Y ya una vez que el personaje se mueve 00:21:47
La cámara la va siguiendo 00:21:48
Y si se acerca a alguna 00:21:49
Alguna roca, por ejemplo 00:21:52
La cámara se acerca 00:21:55
Si se va de esa roca, la cámara se aleja 00:21:56
Porque si no, el personaje no se vería todo el rato 00:21:58
Eso ha sido lo que me ha más costado 00:22:00
Sin lugar a duda 00:22:03
Porque es lo que más hay que controlar 00:22:04
Sobre todo 00:22:05
Distancias 00:22:06
Las distancias en Unity son un poquito fastidiadas 00:22:08
Vale, vale, muy bien 00:22:11
Y, sustituyendo el código 00:22:13
simplemente algún tipo de interfaz cuando crea la aplicación y yo diría sí unity aquí mira cómo 00:22:16
enseñar cuando nosotros creamos el juego vale lo que el usuario siempre ve es la cámara para que 00:22:25
estos botones mira te voy a poner un ejemplo para que estos botones para que estos botones se vea 00:22:34
se tiene que hacer una cosa que se llama canvas vale entonces la interfaz siempre tiene que estar 00:22:44
dentro de un canvas vale todos los botones todas las letritas todas las cosas que se quieran tocar 00:22:50
del usuario que el usuario quiera que vea por encima de lo que es el juego se tiene que hacer 00:22:56
sobre un canvas que sabe es la interfaz y esa interfaz también se tiene que programar porque 00:23:01
por ejemplo los textos 00:23:08
no siempre 00:23:10
se pueden mostrar y tú lo puedes programar 00:23:11
para que se muestre cuando quieras o como quieras 00:23:14
o poner lo que tú quieras 00:23:17
los botones lo mismo, los botones 00:23:18
de por sí no hacen nada, a no ser que tú los programes 00:23:20
como he hecho aquí 00:23:23
son métodos que te aparecen porque tú implementas una interfaz 00:23:24
efectivamente 00:23:26
genial, vale 00:23:28
bueno Daniel, pues yo creo que 00:23:31
por mi parte ninguna pregunta más 00:23:40
perfecto 00:23:42
muchas gracias por hacer la presentación 00:23:43
muchas gracias a ti 00:23:46
voy a detener ahora la grabación, ¿vale? 00:23:47
genial 00:23:49
Idioma/s:
es
Materias:
Programación
Etiquetas:
Gestión de proyectos
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Formación Profesional
    • Ciclo formativo de grado básico
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado medio
      • Primer Curso
      • Segundo Curso
    • Ciclo formativo de grado superior
      • Primer Curso
      • Segundo Curso
Subido por:
Agustin N.
Licencia:
Todos los derechos reservados
Visualizaciones:
1
Fecha:
22 de mayo de 2025 - 18:35
Visibilidad:
Clave
Centro:
IES CIFP a Distancia Ignacio Ellacuría
Duración:
23′ 54″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
142.06 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid