En la Escuela Estech hemos participado un año más en la Feria de FP de Linares, organizada por la Cámara de Linares, en la Estación de Madrid. En la cual pusimos un amplio stand, con información de los diversos Técnico Superior que impartimos.
Ésta comenzó a las 9:00 de la mañana con la recepción de los visitantes. Desarrollándose a lo largo de la mañana una Zona Expositiva, un taller práctico, una Ágora y un punto de asesoramiento a Empresas.
Además, allí contamos con una serie de ordenadores que contenían ejemplos de videojuegos desarrollados por alumnos, entre los que encontramos videojuegos como Pi.exe. Pero no solo se llevaron a cabo estas actividades, sino que también hubo diversos alumnos dibujando con las tabletas en directo.
También se realizó un Taller de desarrollo apps iOS de la mano de nuestro profesor Alfonso Marín, así como una Actividad de dibujo en directo con el profesor Alberto Olea de la Escuela Estech.
Descubrir los incentivos para las empresas de la participación en programas de Formación Dual.
Conocer experiencias exitosas de empresas.
Conocer los beneficios de incorporar trabajadores/alumnos en el marco de este sistema.
Esta fue una mañana intensa en FERIA FP LINARES, con calor pero muy divertida y esperamos que fuera positiva para todos los asistentes. Además, deseamos que esta jornada haya ayudado a que los alumnos puedan decidir hacia donde dirigir sus estudios y orientación profesional.
Desde la Escuela Estech nos gustaría remarcar el gran éxito de esta feria, la cual esperamos repetir sin duda alguna con toda la ilusión que esto merece.
No hace mucho tiempo, hablaba sobre más experiencias con los efectos visuales. En la cual, la última experiencia fue con los efectos especiales en el largometraje “Todo acaba al final del día”. Pero esa no fue ni la primera vez, ni a última.
A continuación para conocer más experiencias con los efectos visuales hablaré de otras experiencias vividas con VFX en otros proyectos. El cortometraje de terror “S” utilizamos varios planos digitalizados como transformar en noche un plano de día y añadirle una luna, añadir imágenes a pantallas de ordenador y borrar digitalmente a una miembro del equipo.
Mientras que en el videoclip titulado “Daydream” unimos en una imagen a la cantante. En la cual interpretaba dos planos distintos, además transformamos a una persona en una energía de luz que se movía, creamos animaciones, transformamos a una actriz en una gigante, transformamos a un actor en figura de piedra que recobraba vida…
En el largometraje “Ida y vuelta”, borramos a parte del equipo que se nos coló en un plano. Ya comenté anteriormente, que sin duda, esa es una de las mejores aplicaciones que se le puede dar a los efectos visuales.
Por otro lado, en el largometraje Zombie World había bastantes planos con efectos visuales. Tales como añadir maquillaje zombi a una actriz, añadir un helicóptero o varios efectos de matte painting, añadir maquillaje a un cadáver.
Como conclusión, de nuevo insistir en que la mejor utilización de los efectos digitales es aquella que sirve para mejorar el plano. Sobre todo, teniendo cuidado con no cargarlo de manera que el plano parezca falso.
Sigue atento a más noticias de la Escuela Estech para conocer más experiencias con los efectos visuales y seguir aprendiendo más información sobre el desarrollo de videojuegos. Siendo sin lugar a duda, una gran oportunidad para la formación en este campo.
Probablemente uno de los primeros escollos con los que se encuentra un desarrollador cuando empieza a hacer juegos se da en el momento en que quiere hacer algo más grande que un Tetris (que también tiene su reto, ojo). Es por ello, que es de gran importancia tener presente la Escalabilidad a través de buenas prácticas en Unity.
El progreso habitual en la disciplina del gamedev cuando se trata de programar videojuegos comienza con intentar comprender las matemáticas de vectores, los sistemas de inputs y en general los principales módulos que participan en un videojuego. Al principio uno no sabe qué es un rigidbody o un collider, algo que pasado un tiempo se termina comprendiendo como básico y esencial.
Una vez adquiridas las nociones básicas sobre C# y el motor Unity quizás nos apetezca ir un poco más allá. Así que nos ponemos manos a la obra, intentamos hacer un juego con un sistema de inventario o una serie de IAs para el juego y bueno… pronto empezamos a notar que nuestro proyecto es como el cuarto desordenado de nuestro primo pequeño y no sabemos muy bien cómo hemos llegado a ello. Estábamos escribiendo código, solucionando e implementando y en un momento dado vemos que todo está hecho un lío y hacer cualquier cambio es difícil.
Siendo por ello tan importante, el hecho de tener presente la escalabilidad a través de buenas prácticas en Unity.
Código final vs Arquitectura
Lo primero que debemos entender es que cuando empezamos a aprender a usar C# en Unity la mayoría de tutoriales, para hacer las cosas más sencillas, están bastante centrados en hacer código final. El código final es aquel que implementa algo tangible en nuestra aplicación.
Lo primero que alguien podría pensar es que es perfectamente válido, ¿qué código vamos a hacer si no? Bien, hay una parte de verdad en ello: este código es necesario. Sin embargo, el problema nace en el momento en el que este código es la estructura de tu aplicación.
Lo mejor es verlo con un símil. Cuando vamos a construir una casa, si esta no es demasiado grande ni compleja, podemos simplemente contratar al constructor y manos a la obra. Tenemos un diseño y lo que hace falta es mano de obra y materiales: ladrillo aquí y allá, cemento, azulejos, ventanas… Los propios materiales finales son los que hacen la casa y los muros de carga son los que sujetan la casa.
No obstante, cuando queremos hacer algo más grande, esta estrategia ya no funciona: hace falta un arquitecto que realice los cálculos adecuados para crear una estructura: un esqueleto que soporte, por ejemplo, múltiples pisos, hacen falta vigas y otros elementos estructurales que si bien no son parte del “disfrute” del recinto, deben estar ahí para que el resto de elementos finales puedan existir en ese espacio.
Pues aquí pasa lo mismo.
A continuación vamos a hablar de esas vigas y elementos estructurales que no son más que herramientas del lenguaje y estrategias de código que nos permiten crear un proyecto escalable y sobre todo, desacoplado.
En esta noticia sobre escalabilidad a través de buenas prácticas en Unity, mostraremos un código desacoplado, el cual es aquel en el que las dependencias entre objetos y clases es la más pequeña posible.
Listado de las principales estrategias de arquitectura de código
A continuación vamos a hacer un listado breve de estas herramientas del código. Ojo, toca que cada uno dedique su tiempo a poder explorarlas y queda fuera de este artículo el profundizar en cada una, ya que dan para un curso entero. Bueno, dicho esto, vamos al lío:
Aplica el principio DRY (Don’t Repeat Yourself) para evitar duplicar código. Tu herramienta principal aquí son la herencia (métodos virtuales mayormente).
Usa las interfaces (no interfaces de usuario, si no de código) y las clases abstractas para crear código desacoplado que sea fácilmente accesible. Las interfaces son contratos que deben cumplir las clases que implementan estas interfaces y permiten que otras clases las reconozcan por cumplir dicho contrato. Por ejemplo, si creamos la interfaz IWeapon, cualquier clase que use un IWeapon podrá usar cualquier objeto que implemente dicha interfaz, siendo esto mucho más potente que usar una clase directamente.
No abuses de los monobehaviour. Las clases que heredan de Monobehaviour son las únicas que pueden interactuar con la escena. No obstante, muchas veces esto no es necesario. Si tienes un sistema gestor de inventario, ¿necesita ser un monobehaviour? Posiblemente no. Lo que necesitará será una clase monobehaviour que le informe de los cambios que realiza el usuario. Una buena forma de verlo es pensar en monobehaviour como clases que comunican los cambios en el juego a otro grupo de clases que están por detrás. Una clase normal consume muchísimo menos que un monobehaviour.
Usa ScriptableObjects. Los ScriptableObjects son objetos mucho más sencillos que los Monobehaviours y son persistentes en sus estados, es decir, que los cambios que hagas se quedan “grabados” más allá de la escena, ya que no son gameobjects, si no assets. Existen algunas estrategias de desacoplamiento muy potentes usando los ScriptableObjects.
Aprende patrones de diseño. Si bien hay una lista enorme de ellos, unos cuantos si que son muy útiles. Pensemos en los patrones como fórmulas para resolver problemas concretos enfocadas a tener un código escalable y desacoplado.
Aprende a usar delegates. Un delegate es un tipo de variable que permite referenciar una función. Para verlo de manera sencilla, tenemos por un lado variables y por otro lado funciones. Con eso hacemos nuestro código. Pues bien, las variables almacenan y referencian datos: números, texto, etc… Pues con los delegates es igual pero con métodos. Los delegates son muy potentes para desacoplar código ya que puede separar al invocador del invocado, sin que se tengan que conocer, siendo el delegate el intermediario entre ambos.
Aunque hay muchos más consejos sobre Escalabilidad a través de buenas prácticas en Unity. Estos son algunos de los principales, que servirán sin duda como el siguiente paso en la carrera del programador de videojuegos. Esperamos que os haya servido esta guía y que estéis buscando más información sobre estas herramientas
Durante tres fines de semana, la localidad sevillana acogerá competiciones de ‘League of Legend’ y ‘League of Legends: Wild Rift’, además de ‘webinars’ formativas.
Este año 2021, Linares ha tenido la suerte de ver nacer La Mina Games, que forma parte de un nuevo espacio de coworking y aceleración de empresas denominado La Mina Startup