Curso Godot Engine 3.0: introducción y comparativas
Godot Engine (en adelante Godot, para abreviar), es un motor de juegos del cual había hablado en algún momento, en ese entonces estaba empezando como entusiasta, actualmente he tenido progresos interesantes y de ayer a hoy siento que necesito hablar sobre el motor. Godot ha sido una grata sorpresa desde el primer momento, como entusiasta del software libre ya estaba al tanto del proyecto, sin tener en claro que tanto ofrecía ni conocer sobre la historia del motor, hoy puedo definir lo con claridad y recomendarlo con argumentos. Para empezar les defino que es un motor de juegos y porqué se define a Godot como uno.
Para ser honesto, me interesa "venderle" Godot a cuantas personas pueda, yo aprendí y soy el informático que soy utilizando recursos del software libre, resulta por tanto una forma de agradecimiento a incontables profesionales mis intentos de colaborar de cuantas formas se me hace posible con el desarrollo, difusión y consolidación de proyectos de software, Godot es especialmente importante, intenté comprender como funciona un motor grafico usando ogre3D y fracasé en el intento, ahora mismo mi objetivo es llegar a un flujo de trabajo constante con Godot, mi forma de agradecimiento será esta entrada y los posteriores años de trabajo que espero dedicarle a la difusión del proyecto.
No soy imparcial, al menos voy a dejar constancia de mis razones para creer que el proyecto vale la pena, llevo muchos años intentando empezar un proyecto en condiciones y con Godot he podido conseguir tres metas a corto plazo, metas que he cumplido hace un tiempo, ahora que comprendo un poco el funcionamiento del sistema, hablaré por que he rechazado hasta el momento todos los motores por los que he intentado pasar.
Hablando de Unreal Engine, resulta una gran opción para ciertos casos, tiene soporte nativo para 2D y 3D, tiene una desventaja importante, a partir de los tres mil dolares, unreal reclama un 5% de las ganancias, esto no es un problema, pero Epic Games es hijo de TENSEN, una empresa china que es dueña de casi todo el mercado de los videojuegos, personalmente no me gusta la idea, nadie sabe como se compila el juego y si el editor agrega algún contenido extra para monitorizar a nuestros usuarios, incluso es imposible saber si la empresa tiene acceso a los archivos de nuestros trabajos, si empresas como CAPCOM han confiado en el, puede ser que esto sea solo paranoia mía, para una empresa que no tiene necesidades económicas, un 5% de las ganancias parece un trato injusto.
Una vez mencionados los principales competidores, Godot en sus ultimas versiones ha llegado al nivel de Unity, los últimos añadidos al motor han sido una notable mejora en el 3D, iluminación Voxel(en tiempo real y calculada separando el escenario en cubos), es un proyecto licenciado bajo MIT, licencia de la cual ya he hablado, permitiendo que los productos derivados de Godot Engine puedan ser licenciados sin ninguna restricción.
La dificultad actual de Godot es mas bien un problema de velocidad, mas concretamente la velocidad de aprendizaje, el desarrollo del motor es bastante más veloz de lo que soy capaz de aprender, desde hace un tiempo he renunciado a entender todo lo que se puede hacer en Godot, disfrutando entonces de experimentar con la información que tengo y dedicarme a comprender los elementos que voy necesitando dentro del motor.
Actualmente estoy haciendo algunos proyectos pequeños que espero juntar algún día, una de mis teorías siempre ha sido que los proyectos de software deben ser pequeñas piezas independientes de código, perfectamente diseñadas, optimizadas, si cada pieza de código funciona perfectamente, debería ser posible unirlas teniendo solo que verificar sus interacciones.
Si logro avanzar de forma mas veloz en mis proyectos independientes, voy a empezar a explicar el código fuente de cada uno de ellos, como se parecen mucho a Python, cualquiera que haya leído mis entradas sobre este lenguaje podrá comprender los sin necesidad de largas explicaciones, la única diferencia será el uso de las clases propias de Godot, una vez estos proyectos estén terminados, se unirán en una producción completa, un juego con todas las mecánicas individuales ya probadas y que requerirá menos tiempo de integración, al menos eso postulo y tengo la completa intención de cumplir.
Primera entrada de 2019, espero organizarme mejor este año, entrar de lleno en la programación orientada a juegos, librarme de una serie de cursos universitarios que me interesa conocer y lo mas importante, activar este blog definitivamente y con la regularidad que logré tener en algún momento.
- Motor Gráfico: es un programa que administra la renderización(proceso de convertir coordenadas de elementos independientes en cierto numero de imágenes por segundo en pantalla), al igual que en una película, estas imágenes se llaman fotogramas, la cantidad de fotogramas se mide en fotogramas por segundo(FPS).
- Motor de audio: Es una especie de reproductor de sonido interno para el juego, este debe encargarse de reproducir tanto efectos especiales(disparos, pisadas), banda sonora, alertas(sonidos de victoria o derrota) y en general es el que reproduce los sonidos en el momento que sea necesario, incluso varios sonidos simultáneamente.
- Motor Físico(de colisiones): se le llama así por que gestiona las reglas físicas del mundo, cuales objetos son sólidos y por tanto no pueden ser atravesados, cuales te hacen mas lento por que brindan resistencia(corrientes de aire, líquidos), cuales ofrecen menos resistencia(carreteras, hielo) y todo lo relacionado con la física del mundo.
- Motor de animaciones: son una serie de condiciones que nos permiten controlar la animación de los elementos, personajes y objetos, técnicamente son programas diseñados para doblar las mayas que hacemos en 3D, en 2D su función es cambiar una imagen por otra, dando la impresión de movimiento, para hacer que este cambio sea mas corto, entonces solo se carga una imagen compleja que contiene todos los fotogramas de cada animación.
- Motor de redes: se encarga de gestionar la red local o conexión a internet, desde buscar partida, hasta mostrar la ubicación de los jugadores, barras de vida y demás, en ciertos juegos esto no hace falta por razones obvias.
- Lenguaje de programación: simplemente se les dice lenguajes puesto que cada motor usará uno existente o medios alternativos(programación gráfica), es un lenguaje de programación cualquiera quien nos permite recolectar los datos y trabajar con ellos, haciendo uso de jerarquías y modelos de programación podemos ordenar todo el juego con distintos programas pequeños que deben obedecer al loop del juego (ciclo infinito que inició el juego y al terminar se encarga de cerrar lo en su totalidad), el script viene siendo el pequeño programa que se encarga de una cosa, pequeños programas que se ejecutan una vez, deben ser llamados script's (guiones en español, pero se dice solo en Inglés)
Para ser honesto, me interesa "venderle" Godot a cuantas personas pueda, yo aprendí y soy el informático que soy utilizando recursos del software libre, resulta por tanto una forma de agradecimiento a incontables profesionales mis intentos de colaborar de cuantas formas se me hace posible con el desarrollo, difusión y consolidación de proyectos de software, Godot es especialmente importante, intenté comprender como funciona un motor grafico usando ogre3D y fracasé en el intento, ahora mismo mi objetivo es llegar a un flujo de trabajo constante con Godot, mi forma de agradecimiento será esta entrada y los posteriores años de trabajo que espero dedicarle a la difusión del proyecto.
No soy imparcial, al menos voy a dejar constancia de mis razones para creer que el proyecto vale la pena, llevo muchos años intentando empezar un proyecto en condiciones y con Godot he podido conseguir tres metas a corto plazo, metas que he cumplido hace un tiempo, ahora que comprendo un poco el funcionamiento del sistema, hablaré por que he rechazado hasta el momento todos los motores por los que he intentado pasar.
Hablando de Unreal Engine, resulta una gran opción para ciertos casos, tiene soporte nativo para 2D y 3D, tiene una desventaja importante, a partir de los tres mil dolares, unreal reclama un 5% de las ganancias, esto no es un problema, pero Epic Games es hijo de TENSEN, una empresa china que es dueña de casi todo el mercado de los videojuegos, personalmente no me gusta la idea, nadie sabe como se compila el juego y si el editor agrega algún contenido extra para monitorizar a nuestros usuarios, incluso es imposible saber si la empresa tiene acceso a los archivos de nuestros trabajos, si empresas como CAPCOM han confiado en el, puede ser que esto sea solo paranoia mía, para una empresa que no tiene necesidades económicas, un 5% de las ganancias parece un trato injusto.
Una vez mencionados los principales competidores, Godot en sus ultimas versiones ha llegado al nivel de Unity, los últimos añadidos al motor han sido una notable mejora en el 3D, iluminación Voxel(en tiempo real y calculada separando el escenario en cubos), es un proyecto licenciado bajo MIT, licencia de la cual ya he hablado, permitiendo que los productos derivados de Godot Engine puedan ser licenciados sin ninguna restricción.
La dificultad actual de Godot es mas bien un problema de velocidad, mas concretamente la velocidad de aprendizaje, el desarrollo del motor es bastante más veloz de lo que soy capaz de aprender, desde hace un tiempo he renunciado a entender todo lo que se puede hacer en Godot, disfrutando entonces de experimentar con la información que tengo y dedicarme a comprender los elementos que voy necesitando dentro del motor.
Actualmente estoy haciendo algunos proyectos pequeños que espero juntar algún día, una de mis teorías siempre ha sido que los proyectos de software deben ser pequeñas piezas independientes de código, perfectamente diseñadas, optimizadas, si cada pieza de código funciona perfectamente, debería ser posible unirlas teniendo solo que verificar sus interacciones.
Si logro avanzar de forma mas veloz en mis proyectos independientes, voy a empezar a explicar el código fuente de cada uno de ellos, como se parecen mucho a Python, cualquiera que haya leído mis entradas sobre este lenguaje podrá comprender los sin necesidad de largas explicaciones, la única diferencia será el uso de las clases propias de Godot, una vez estos proyectos estén terminados, se unirán en una producción completa, un juego con todas las mecánicas individuales ya probadas y que requerirá menos tiempo de integración, al menos eso postulo y tengo la completa intención de cumplir.
Primera entrada de 2019, espero organizarme mejor este año, entrar de lleno en la programación orientada a juegos, librarme de una serie de cursos universitarios que me interesa conocer y lo mas importante, activar este blog definitivamente y con la regularidad que logré tener en algún momento.
Comentarios
Publicar un comentario
Comente usted aquí