Jump to content
UnitySpain

Aceptamos donaciones vía Paypal.

UnitySpain.com es un servicio gratuito, pero mantener la Comunidad conlleva una serie de gastos.

Fondo Anual Unityspain: Donados 58,34€ de 150,00€

  • Servidor: Dominio.com y Hosting Web
  • Mantenimiento de los Foros
  • Contenido y Servicios Extras
  • Mantenimiento para Redes Sociales
xeleh

GameFlow, una ayuda para vuestros "atascos" con el scripting

Recommended Posts

Hola de nuevo,

Como prometí en

Regístrate para acceder a este contenido.
, abro hilo sobre
Regístrate para acceder a este contenido.
, una herramienta de Visual Scripting para Unity creada por mí y que creo que os podría ayudar a solucionar gran cantidad de los problemas de scripting que he visto que soléis consultar en la sección de ayuda.

La idea de GameFlow es simple: es un componente programable. Eso significa que una vez que hayáis añadido el componente a vuestro GameObject o Prefab podréis no sólo modificar sus settings como hacéis habitualmente con cualquier otro componente sino que podréis hacer mucho más: podréis construir programas completos con control de flujo, que reaccionan a eventos y que funcionarán tan bien como vuestros propios scripts en C#, pero con la comodidad de poder trabajar en el propio Inspector, sin tener que escribir una sola línea de código y sin tener que salir del editor de Unity para nada.

¿Os suena bien? pues veamos que pinta tiene el componente GameFlow:

Inspector 2019-07-22 23.26.23.png

Lo que veis es un componente conteniendo dos bloques de programa de evento que a su vez contienen sus respectivos bloques de acción. Lo que hacen estos programas es bastante fácil de deducir: vamos a pintar de color rojo (acción Set Color) el cubo cuando hagamos click con el ratón (programa On Mouse Down) y a continuación vamos a reproducir un sonido (acción Play Sound). Luego, cuando soltemos el botón del ratón (program On Mouse Up) lo pondremos otra vez de blanco (otra acción Set Color).

Por supuesto es un ejemplo tonto, como los otros 30 ejemplos que se incluyen en el paquete con el objetivo de que vayáis pillando poco a poco la idea, pero GameFlow puede hacer cosas mucho más complejas, llegando hasta cosas muy avanzadas como permitiros construir vuestras macros y ventanitas de utilidad para el editor. Por ejemplo:

Screen Shot 2019-07-22 at 23.33.54.png

Sí, esa ventanita "Duplicate Randomly" está hecha también con GameFlow (concretamente con el programa que se ve debajo) y la podéis usar para ayudaros con tareas de edición de niveles y cosas así. Os prometo que incluso aquellos que tengáis experiencia con Editor scripting vais a fliparlo bien fuerte cuando veáis lo fácil que es montaros un ejercito de macros y utilidades de este tipo.

Volviendo al tema de características, os puedo contar que GameFlow trae como unas 500 acciones combinables, más de 50 tipos de programas de evento y como una docena de otros bloques de utilidad que os ayudarán a hacer ciertas cosas: Timer para esas cosas que queréis hacer cada X tiempo, Path para waypoints (soporta splines), Ray para cosas de raycasting, Force para rollos de física, etc.

En fin, me podría enrollar hasta el infinito hablando de la herramienta, pero creo que aquí en el foro ya hay alguna persona que la ha usado con éxito en sus juegos, por lo que me encantará poder cederles el micro para que os cuenten ellos de primera mano su experiencia como usuarios, que al fin y al cabo es lo verdaderamente importante. De todas formas os dejaré aquí algunos enlaces para aquellos que tengáis ganar de saber más al respecto: 

  • Regístrate para acceder a este contenido.
  • Regístrate para acceder a este contenido.

Supongo que alguno de vosotros estará pensando ahora que todo este rollo es para intentar venderos licencias de la herramienta y tal, y bueno, lo cierto es que sí, pero es por esa manía mía de querer cobrar por mi trabajo para poder comer todos los meses... no me lo tengáis muy en cuenta, eh? ;P

No, ahora en serio, la idea era presentar este recurso porque después de darme una vuelta por el foro he visto claro que realmente os puede solucionar muchas papeletas. Si os interesa y la podéis comprar ($20), hacedlo, por favor, no os vais a arrepentir. Si por el contrario no os podéis permitir comprarla ahora mismo porque estáis estudiando o lo que sea, pues sin problema, todos hemos tenido problemas de pasta alguna vez. Contactad conmigo por aquí, por email o por el grupo de Telegram, contadme quiénes sois y qué queréis hacer, y os regalaré una licencia. Eso sí, sólo puedo hacer esto con las 4 primeras personas que me lo pidan porque el número de códigos promocionales está limitado en la Asset Store y esos son los que me quedan.

Otra cosa importante: estaré encantado de contestar aquí dudas generales sobre el producto, pero NO voy a contestar dudas de soporte ni cosas en plan "cómo hago tal con GameFlow?" ni aquí ni en ningún otro hilo del foro. Para ese tipo de cuestiones os ruego que os pongáis en contacto conmigo directamente de modo que no contaminemos un foro que está dedicado a Unity, no a herramientas externas.

Un saludo!

- - - - - - - - - - - 

ACTUALIZACIÓN: GameFlow ha pasado a ser gratuito. Lo tenéis ya

Regístrate para acceder a este contenido.
y en las próximas semanas pasará a ser gratis también en la Unity Asset Store.

 

Edited by xeleh

Share this post


Link to post
Share on other sites

Gameflow es una herramienta fantástica para crear juegos sin necesidad de tener conocimientos de programación.

Aquí podéis encontrar un Asset que os ayudará a comprender su funcionamiento:

Regístrate para acceder a este contenido.

57b13b2d-a06b-41ec-9f75-359f6e889fe6.jpg

Donde se encuentran demos en forma de tutorial de juegos tipo:

- Hill Climb
- Hill Climb Moto
- Flappy Bird
- Runner
- Angry Birds
- Racer 2D

Además aquí hay un Asset del conocido juego Crossy Road:

Regístrate para acceder a este contenido.

1200x630-1.jpg

Todo esto está creado con GameFlow.

Espero que sea de ayuda para entender mejor cómo funciona y las capacidades que ofrece GameFlow.

 

Share this post


Link to post
Share on other sites

Hola @xeleh, muy buena herramienta, tiene linda pinta. Te pregunto:

  1. ¿Todas las acciones se agregan desde el inspector o tenés además algun editor aparte?
  2. ¿El componente de GameFlow es un monobehavioursolamente o además se pueden crear assets individuales (scriptableObjects)?
  3. ¿Existe alguna comparativa en rendimiento de hacer un behaviour con GameFlow vs C#? ... Por supuesto nadie espera que ninguna heramienta de este tipo sea comparable con puro C# (en velocidad), pero por lo menos para tener alguna idea.

 

Saludos

Share this post


Link to post
Share on other sites

Gracias, @lightbug. Te comento:

On 7/26/2019 at 6:09 PM, lightbug said:

¿Todas las acciones se agregan desde el inspector o tenés además algun editor aparte?

Sí, todo se hace desde el Inspector. Cuando haces click en los pequeños botones de agregar aparece una ventana filtrable con los programas, acciones o condiciones que puedes agregar según el punto donde agregues. Por ejemplo, dentro de la sección de condiciones de la acción IF sólo te van a aparecer en el selector los bloques de tipo Condition.

Otro detalle importante que no comenté es que GameFlow está muy pensado para usarse con teclado. Con esto quiero decir que una vez el componente GameFlow coge el foco veréis aparecer un cursor azul en forma de línea que te indica el punto de inserción de los nuevos bloques. Ahora puedes mover ese "cursor" con Tab (y hasta 2019.1 con flechas arriba y abajo) y si presionas Return automáticamente lo interpretará como agregar bloque. Este sistema de edición es en muchos casos aún más rápido que escribir el código equivalente, y no, no exagero, realmente tenéis que probarlo para daros cuenta de lo que digo.

Eso no quita que además haya un soporte estupendo para ratón pudiendo hacer drag and drop de los bloques (para moverlos de un programa a otro o simplemente reordenarlos) y muchos otros detalles de usabilidad bastante agradecidos (como por ejemplo poder colapsar o expandir todos los bloques del componente con un click).

On 7/26/2019 at 6:09 PM, lightbug said:

¿El componente de GameFlow es un monobehavioursolamente o además se pueden crear assets individuales (scriptableObjects)?

Es un MonoBehaviour pensado para ser añadido a GameObject y Prefabs, no fue diseñado para crear ScriptableObjects.

On 7/26/2019 at 6:09 PM, lightbug said:

¿Existe alguna comparativa en rendimiento de hacer un behaviour con GameFlow vs C#? ... Por supuesto nadie espera que ninguna heramienta de este tipo sea comparable con puro C# (en velocidad), pero por lo menos para tener alguna idea.

No existe una comparativa más allá de las pruebas que fui haciendo durante el desarrollo para verificar que la capa de ejecución se mantenía ligera. Lo que sí puedo contarte es que en mis pruebas vi que, efectivamente, hay una mínima (del orden de microsegundos) pérdida de rendimiento por cada bloque de acción ejecutado.

Lógicamente esas micro-pérdidas se pueden llegar a acumular hasta formar unos pocos milisegundos si hacemos cosas brutas como bucles con miles de iteraciones en el mismo fotograma y cosas así, pero lo que yo observé en mis pruebas (y lo que los usuarios de la herramienta me han venido confirmando) es que para un uso normal (donde lo que predominarán serán programas cortos y sin apenas complejidad ciclomática) la pérdida de rendimiento es virtualmente imperceptible.

En cualquier caso recordad que GameFlow es un complemento a C#, no un sustituto. No hay, por tanto, ninguna razón por la que no podáis seguir escribiendo en C# puro aquella partes en las que necesitéis estar seguros de que no hay pérdida ninguna de rendimiento dejando GameFlow sólo para aquellos otros usos en los que sí os convenga usarlo.

Share this post


Link to post
Share on other sites
On 7/27/2019 at 7:53 PM, xeleh said:

No existe una comparativa más allá de las pruebas que fui haciendo durante el desarrollo para verificar que la capa de ejecución se mantenía ligera. Lo que sí puedo contarte es que en mis pruebas vi que, efectivamente, hay una mínima (del orden de microsegundos) pérdida de rendimiento por cada bloque de acción ejecutado.

Lógicamente esas micro-pérdidas se pueden llegar a acumular hasta formar unos pocos milisegundos si hacemos cosas brutas como bucles con miles de iteraciones en el mismo fotograma y cosas así, pero lo que yo observé en mis pruebas (y lo que los usuarios de la herramienta me han venido confirmando) es que para un uso normal (donde lo que predominarán serán programas cortos y sin apenas complejidad ciclomática) la pérdida de rendimiento es virtualmente imperceptible.

En cualquier caso recordad que GameFlow es un complemento a C#, no un sustituto. No hay, por tanto, ninguna razón por la que no podáis seguir escribiendo en C# puro aquella partes en las que necesitéis estar seguros de que no hay pérdida ninguna de rendimiento dejando GameFlow sólo para aquellos otros usos en los que sí os convenga usarlo.

On 7/27/2019 at 7:53 PM, xeleh said:

Sí, todo se hace desde el Inspector. Cuando haces click en los pequeños botones de agregar aparece una ventana filtrable con los programas, acciones o condiciones que puedes agregar según el punto donde agregues. Por ejemplo, dentro de la sección de condiciones de la acción IF sólo te van a aparecer en el selector los bloques de tipo Condition.

Otro detalle importante que no comenté es que GameFlow está muy pensado para usarse con teclado. Con esto quiero decir que una vez el componente GameFlow coge el foco veréis aparecer un cursor azul en forma de línea que te indica el punto de inserción de los nuevos bloques. Ahora puedes mover ese "cursor" con Tab (y hasta 2019.1 con flechas arriba y abajo) y si presionas Return automáticamente lo interpretará como agregar bloque. Este sistema de edición es en muchos casos aún más rápido que escribir el código equivalente, y no, no exagero, realmente tenéis que probarlo para daros cuenta de lo que digo.

Eso no quita que además haya un soporte estupendo para ratón pudiendo hacer drag and drop de los bloques (para moverlos de un programa a otro o simplemente reordenarlos) y muchos otros detalles de usabilidad bastante agradecidos (como por ejemplo poder colapsar o expandir todos los bloques del componente con un click).

Ok gracias por las respuestas :91_thumbsup:.

Saludos.

Share this post


Link to post
Share on other sites

Sólo una cosita rápida para informaros de que GameFlow ha pasado a ser GRATUITO debido a que ha entrado en fase de mantenimiento.

Lo tenéis ya

Regístrate para acceder a este contenido.
y en las próximas semanas pasará a estar gratis también en la Unity Asset Store.

 

Share this post


Link to post
Share on other sites

×
×
  • Create New...