Programación Kismet 2

Seguimos con una serie de programación en kismet, con este podemos programar como en cualquier lenguaje de programación, podemos realizar bucles de condición como el while o el Repeat que asta que no se cumpla una condición en particular, no finalizará.

Pero con estos bucles, los cuales veremos en el vídeo de una forma sencilla, utilizaremos la funcion teleport para hacer cambiar de lugar de forma instantánea un objeto insertado en el nivel, en este caso un tigger.

Los tigger como hemos podido observar funcionan de detectores de objetos o jugador, cuando este toca o colisiona con el ejecuta un aviso o mejor dicho activa una secuencia.

La función teleport, sirve también para generar por ejemplo una secuencia aleatoria de salida de enemigos o un tele-transporte para el jugador y hacer que este aparezca en otro nivel u otra habitación.

En el vídeo el ejemplo está realizado con los tigger para atender también una duda, para poder generar un movimiento de los mencionados tigger por el nivel cada vez que este toca uno de ellos. En vez de realizar el proceso tal cual, muestro como incrementar con una función de comparación, para ver como  realizar operaciones matemáticas simples y comparar los resultados. Al realizar un reinicio de la variable numérica, forzamos a que el bucle sea indefinido y este no cese nunca.


Programación Kismet

Con kismet se pueden programar muchas cosas, es un editor gráfico repleto de funciones prediseñadas para poder generar una programación tal cual se escribe.

Con está se puede generar muchísimas programaciones del juego ahorrándonos escribir los códigos y facilitando mucho la programación de ciertos elementos de un vídeo juego. Solo con kismet y el unreal se pueden generar mini-juegos completamente funcionales, un juego de naves, un árcade  la imaginación pone los limites efectivamente y el conocer las funciones y como utilizarlas, es lo que ara que podamos generar lo que deseemos.

Con ejemplos prácticos podemos aprender estas funciones y como operar con estas para generar eventos en el juego sin necesidad de acudir a la programación.

En este ejemplo vemos como generar un bucle indefinido de enemigos en una sala por la cual se moverán aleatoria-mente atacando al jugador. Tenemos que tener en cuenta que en el ini del defaultgame donde se almacena la información del juego hay un número máximo de muertes y cuando el jugador llega a eliminar a 25 enemigos el juego te declara el vencedor, por lo que tenemos que tener en cuenta este punto:

DefaultGame.ini

[UTGame.UTGame]
BotRatio=+1.0
GoalScore=25 <-- tener en cuenta este dato si pensáis que el jugador llegue a matar más

Podemos ampliarlo perfectamente y declarar el número más idóneo.
No recomiendo borrar la entrada pues esta afecta principalmente al juego ut y puede provocar fallos o problemas en su programación aun que no se aprecien.


Importar hightmaps

En una consulta, he podido ver que al importar un mapa de alturas a udk este no aparece, realmente si aparece no con las especificaciones que nos agradarían y mucho menos en la posición que deseamos que este se inserte. En el vídeo podemos ver como solventar el problema.

Sabías que se pueden generar mapas de alturas desde Photoshop, si efectivamente es factible aun que hay que tener un buen dominio para generar un buen mapa de alturas solo viendo tonos grisaceos. 

Para generar un mapa de alturas desde Photoshop, debemos de generar una imagen del tamaño que admite el editor de terrenos de udk, 128x128, 256x256, sucesivamente y con valores inferiores. Seleccionar modo escala de grises a 16 bits, también puede ser a 8bits. Guardar en formato RAW.

Con este generamos un mapa de alturas listo para ser importado a UDK. También admite formatos t3d con el cual podemos importarlos desde un editor externo a udk.

En el video veremos como importarlo, solventar este problema que surge por algún motivo y solventarlo, a demás de generar un material muy simple para el terreno el cual mejoraremos más adelante.


Kismet y matinee

Kismet y matinee son elementos fundamentales para la edición de nuestro juego pues con ellos crearemos la mayor parte de ínter-actividad de nuestro juego, salvo seamos programadores avanzados y sepamos programar todo por supuesto.

Kismet es la herramienta de programación visual de la que dispone udk, con ella se pueden programar juegos enteros sin ser demasiado exigentes pero es totalmente factible y su utilización se hace muy amena y similar permitiendo ser muy intuitivo a la hora de programar ciertas cosas.

Matinee es el editor de cinemáticas de la que disponemos para generar animaciones o como no cinemáticas en nuestros niveles.

Una forma de aprender como funcionan ambos es trabajando con ellos y que mejor forma que generando puertas? si puertas, ¿ por que puertas? precisamente por que son unos de los elementos más cotidianos en los juegos y que precisan de ambos para funcionar, sin la programación no sabremos si precisa de ser abierta y sin la cinemática no podrá moverse y hacer la abertura o cierre de esta ¿verdad?

Veamos diferentes tipos de puerta que podemos generar con udk, eso no quiere decir que sean los únicos.



Niveles y subniveles


¿El gran talón de aquiles de UDK? ¿generar tremendos escenarios? por supuesto que se puede, solo basta conocer como agilizar las cargas para evitar el colapso, parece que un gran motor pueda crear grandes construcciones y ciudades megalíticas, pero en todo tiene que haber un orden y una organización.

En udk existen los niveles y al igual que los objetos que introducimos en el nivel se pueden configurar para agilizar sus cargas, ocurre lo mismo con los niveles.

¿Por que es importante este apartado?

Veamos lo del siguiente modo, vamos caminando por un pasadizo, en cada lado hay puertas, dentro de estas habitaciones con mas de 100 mallas estáticas, si todo está en el mismo nivel ¿que crees que ocurrirá? pues que o colapsamos la computadora o simplemente derrocharemos una cantidad de recursos innecesaria provocando un lag en el juego innecesario. Es más lógico que si el jugador va a entrar ha una habitación esta se cargue entonces y ahorramos el resto de habitaciones que sinceramente en ese momento ni va a ver.

Ocurre lo mismo con los grandes escenarios, ciudades, bosques, continentes? si también. No hay ninguna razón por la que debamos de generar un terreno de dimensiones impensables, cuando podemos es generar 100 terrenos y cargar solo los 5 que el jugador realmente va a ver. Simulando un nivel interminable para la visual pero fragmentado para ahorrar recursos.

En este vídeo vemos como fusiono dos niveles en uno y genero las cargas de estos de forma exagerada para ver como se carga y descarga los niveles conforme el jugador pasa por ellos.



Sonidos y particulas


Udk dispone de una gran librería de objetos, incluidas las partículas y los sonidos, veremos como adecuarlos a nuestros niveles, cada objeto que insertamos consume recursos de la computadora vale la pena saber como ponerlas bien sin derrochar estos recursos tan preciados.

Existen formatos distintos en udk de sonidos, unos son envolventes otros se ajustan a la zona donde los ponemos, pero debemos de saber que diferencia hay entre ellos y como ajustar estos parámetros.

También podemos importar nuestros propios sonidos, queremos poder ajustarlos bien al nivel de juego,  en este vídeo explico como ajustar los volúmenes y el radio, entre muchas otras funcionalidades que nos aporta el motor.

Algunos trucos para generar efectos al entrar y visuales para darle un poco de ficción a nuestros niveles o realismo según necesitemos.


La verdad es que a este apartado, muchas veces me he percatado que se le da poca importancia, cuando en realidad la tiene toda. Que seria de muchos juegos de terror sin esos sonidos que nos ponen los pelos de punta y esos efectos visuales que nos rizan el bello, pues no serian nada la verdad sea dicha, muchos juegos centran la mayor implicación en este apartado, pues es la que ara entrar al jugador más en énfasis o acercarse más a la historia del juego haciéndole vivir un sin fin de sensaciones.
Es la mejor herramienta de la que disponemos para ayudar al jugador a sentirse parte del juego.

Decoración estática



Bien sabemos que en este tipo de aplicaciones  se permite el insertar mallas 3D en el nivel que estemos generando, ya sean de su propio contenido o realizadas por uno mismo. Me agradaría decir que con un insertar ya hay más que suficiente, pero como insertarlas en el nivel , manipularlas correctamente y conocer bien como trabajar con las importaciones para evitar sobre cargar nuestro nivel es fundamental.

Un nivel puede disponer de un sin fin de mallas, ¿cargar todas a la vez? espero que no! no solo consiste en insertar y ya está, los objetos insertados tienen sus propiedades y debemos de saber como ajustarlas para no colapsar nuestras cpu's o las del usuario/a a que lo va a utilizar en un futuro. Hay que saber como optimizar el contenido de nuestro nivel y muy importante si se trabaja con una aplicación donde su principal potencia está en la calidad gráfica que está otorga o da. 

UDK consume muchos recursos de nuestra tarjeta gráfica y por esa razón hay que ir con mucho cuidado a la hora de insertar objetos en UDK o en cualquier otro motor gráfico. 

En este vídeo veremos como insertar las mallas y como se ajustan los parámetros para una carga más agilizada en el juego.




Texturizar



Principalmente para texturizar un nivel en udk precisamos de Materiales, como pintar o mejor dicho como texturizar desde el editor es bastante complejo, pues dispone de su propia herramienta de texturizado. Es bastante sencilla de utilizar, pero si no se conoce, puede convertirse en un auténtico quebradero de cabeza.

Pero ¿por que es importante saber texturizar?

Pues ni más ni menos es fundamental para nuestra calidad visual. Por que para poder otorgar de una alta calidad, debemos de saber como cuadrar las texturas a nuestro nivel de juego, como ampliar y reducirlas, según donde las deseamos aplicar y para aprender este paso no precisamos de generar nuestros propios materiales.  Para texturizar correctamente un nivel, es mucho mejor utilizar materiales avanzados de gran calidad. 

Que mejor que los propios de utgame, calidad profesional a nuestro alcance sin coste alguno, con los cuales podremos practicar y ver que ocurre manipulando y tratando con esos materiales nuestras construcciones, de ese modo cuando generemos nuestros materiales sabremos aprovecharlos aun que no sean tan complejos como los de los diseñadores gráficos que realizaron los propios para el engine.

En este vídeo veremos como utilizar la herramienta de texturizado de la que dispone la aplicación.






Diseñar



¿Quien dice que todo lo que generemos debe de realizarse en una aplicación externa?

 UDK dispone de su propio editor gráfico, es muy flexible  y similar a un editor 3d del mercado actual. Como todas las aplicaciones hay que saber como agregar y manipular las mallas o en este caso los actores que podemos agregar a nuestros niveles y como para poder crear y generar así nuestros propias zonas de juego. 

Existen varias formas geométricas con las que construir en el editor de UDK y no solo eso, también 4 formatos distintos de trabajar con ellos. 

ADD CSG: Agregar actores, estos se agregaran siguiendo la forma del pincel rojo.

Substract CSG: Agrega un actor que substrae del actor con el que este en contacto generando un vacío en este siguiendo la forma del pincel rojo donde se adhiere.

Intersect: Tomará la forma de los actores en los que esté el pincel rojo en contacto.

Desintersect: Tomará la forma a la inversa que intersect, adopará la forma evitando los actores que estén en contacto con el pincel rojo.

En el siguiente vídeo veremos como generar un escenario utilizando distintas formas geométricas y viendo los 4 formatos de inserción de las que disponemos.





Configuración


Llegados a este punto, podemos configurar la aplicación para que se adapte a nuestras necesidades de desarrollo y a la potencia de la que disponemos en nuestra computadora para aprovechar al máximo el rendimiento que podamos.

Pues no trabajaremos con un editor a máxima calidad gráfica consumiendo los recursos de forma innecesaria cuando estamos programando o depurando los códigos ¿verdad? 

Hay que saber como cambiar estos parámetros en la aplicación para poder echar mano de ella y ahorrar lo máximo en recursos para trabajar cómodamente. 

Con este vídeo veremos como ajustar el editor y no tener que soportar esos colapsos de memória o la lentitud de la gráfica por un exceso innecesario de recursos o simplemente por que nuestra CPU corre con los mínimos requeridos, no por eso debemos de trabajar peor, pues podemos realizar grandes proyectos.


La Interfaz

Obviamente sin conocer como trabajar con la aplicación, se puede considerar una perdida de tiempo.

Debemos destinar tiempo y dedicación a conocer la interfaz y las herramientas de que dispone, a lo largo del tiempo y trabajar con este nos vamos familiarizando con sus funcionalidades y cuales nos serán más afines a la hora de desarrollar nuestros proyectos.

En el siguiente vídeo nos introduciremos en la interfaz de la aplicación para conocer las herramientas de las que dispone el Editor. es un paso un poco aburrido, pero esencial pues no se pueden elaborar niveles ni juegos si no se conoce el programaa con la que se va a trabajar. 

A demás aprenderéis algunos atajos de teclado muy útiles para trabajar de forma más cómoda.



Instalar UDK

Como instalar UDK, es un paso fundamental para comenzar a trabajar como desarrollador de video juegos.

Existen muchos motores para el desarrollo de video juegos, crees que udk es el más propicio para ti?

Antes de escoger bien donde nos introducimos, debemos de atenernos bien a plantear que nociones tenemos y que conocimientos nos van a servir para desarrollar un juego. En el desarrollo de vídeo juegos hay muchos oficios interesantes, programar, diseñar, modelar, animación  texturizado, ... si somos quisquillosos asta la arquitectura es uno de los oficios.

De primeras debemos de saber bien que para desarrollar un proyecto tenemos que tener clara la idea y ser capaces de plasmarla en papel, metafóricamente hablando, pero debemos de ser capaces de sacar la idea de nuestra cabeza y plasmarla en una historia la cual seguirá unas secuencias. Por lo que deberán de existir unos personajes principales, unos enemigos y como no sus secuaces. Pero ¿no tiene por que ser así verdad? que hay de los juegos de ingenio, pulzles, de carreras, educativos  existen un sin fin de variedad y si puede ser que no tenga enemigos pero si secuencias de ejecución, un avance o progreso el cual deberemos de respetar y eso lo tenemos que tener claro desde buen principio.

Entonces sabremos de que necesitamos para poder analizar que software precisaremos. ¿Estas seguro que UDK es el que mejor se adpta?

Aquí os dejo un vídeo de como descargar e instalar la aplicación de Febrero 2013.


Espero que la elección sea la correcta y animaros a proseguir por difícil que pueda parecer. Es mejor empezar y acabar que desistir a medio camino, aprender a trabajar en UDK no es una labor nada sencilla aunque aveces hagamos que parezca muy sencillo. Llegar a realizar tu propio video juego es un proyecto muy ambicioso y nada sencillo salvo seas un desarrollador de video juegos experto.

Solo me queda desearte un buen progreso y poder ayudarte con tu aprendizaje con UDK



Fenix Discom

Fenix Discom, es una comunidad donde participo y elaboramos cursos gratuitos dirigido por un equipo de formadores. Podéis encontrar muchos cursos y información, donde se atienden dudas sin coste ninguno.

Podéis encontrar tutoriales de UDK que yo mismo elaboré y aunque algunos ya están desfasados y precisan de una actualización, son un punto de referencia para aprender muchas cosas sobre el diseño y la edición.


A demás podréis acceder a tutoriales sobre modelado 3d, unity , poser y blender, también una pequeña seccion de zbrush. Disponen de un foro donde atienden las dudas, en udk yo mismo las atiendo e intento ayudar a todos, en la sección de udk. Además de poder compartir vuestros trabajos y mostrar vuestros avances para que otros vean lo que habéis logrado realizar.


Es una comunidad agradable donde encontraréis gente maravillosa y más de un experto en su labor dispuestos a ayudar.

Un buen sitio donde comenzar!

Bienvenidos



Bienvenidos a mi blog, en este iré realizando todo tipo de aportaciones sobre UDK y para UDK con las versiones más recientes. Avisar sobre todas las noticias que encuentre sobre el motor, tutoriales  e información interesante que encuentre favorables para aprender.

Dispondremos de dos secciones una de otras webs donde se puedan encontrar recursos o información sobre el engine y la otra sobre recursos, materiales que yo mismo generaré o otros miembros de la comunidad que deseen compartir sus creaciones.

Espero que podamos aprender muchas cosas juntos y que este blog sea un punto de referencia para muchos para aprender a desarrollar vídeo juegos con UDK.

Me agradaría compartierais vuestros avances con migo, comentarais y por favor cualquier sugerencia o petición la atenderé gustosamente, todo lo que pueda realizar se ara.

Atentamente Alejandro