Defensa Proyecto Daniel Hernández - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
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:
- 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
- Ciclo formativo de grado básico
- 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