2.2. Herramientas de programación creativa
2.2.5. vvvv
vvvv fue creado en 1998 por Max Wolf y Sebastian Oschatz como una herramienta para la creación de proyectos multimedia. Junto con Sebastian Gregor y Joreg, todos ellos miembros del estudio MESO, decidieron desarrollar su propio software al comprobar que las herramientas comerciales con las que contaban entonces (Opcode Max, Macromedia Director, Flash y otros) no les ofrecían suficiente libertad creativa. Tras un trabajo que se extendió durante cinco años desarrollaron el entorno de programación que se lanzó en 2002, logrando una gran aceptación entre pogramadores y diseñadores posteriormente. Como software gratuito (para uso no comercial), vvvv sigue desarrollándose en base a las aportaciones de una extensa comunidad de usuarios y el vvvv group, que forman los cuatro creadores originales.
El objetivo de Wolf, Oschatz, Gregor y Joreg era poder programar en tiempo real para producir entornos multimedia complejos que pudiesen modificarse por medio de una interfaz gráfica.
Este planteamiento hace de vvvv una herramienta ideal para VJs que crean espectáculos en directo, así como para artistas que desarrollan instalaciones interactivas o diseñadores que buscan crear prototipos de producto de manera rápida y efectiva. Entre sus principales características están el permitir trabajar con código a la vez que se visualizan los resultados, pudiendo organizar los diferentes elementos que forman un programa y las relaciones entre sí por medio de una interfaz gráfica.
Como otros entornos de programación, vvvv cuenta con librerías y plugins desarrollados por los propios usuarios, que expanden sus posibilidades y facilitan el desarrollo de proyectos sin tener que empezar de cero. Los principales usos de vvvv son la animación 2D y 3D, instalaciones multipantalla (gracias a una técnica denominada boygrouping es posible controlar y sincronizar varios ordenadores desde un ordenador-servidor), motion graphics, vídeo mapping, visualización de datos (a partir de un archivo de base de datos o de datos obtenidos en la red), informática física (vvvv es compatible con Wii, Leap, Kinect, Oculus Rift, Arduino y otros dispositivos), sonido (si bien admite no llegar al nivel de PureData y MaxMSP) y visión artificial (incluyendo detección de movimiento, rostro, color, gesto, etc.). Las posibilidades de creación que facilita este entorno de programación son inmensas y han sido exploradas por numerosos artistas y diseñadores.
Una parte importante del desarrollo y la popularización de vvvv se da en el contexto de la organización NODE Forum for Digital Arts, fundada en 2010 en Frankfurt. Esta organización sin ánimo de lucro crea eventos tales como talleres de programación, exposiciones, performances y debates que tienen lugar en un festival bienal que, durante una semana, reúne a profesionales, estudiantes y artistas de todo el mundo. Entre las colaboraciones desarrolladas en NODE, cabe destacar la convocatoria abierta a artistas que ofrece la empresa FRM, creadora del marco de arte digital FRAMED*, un dispositivo compuesto por una pantalla de 24 pulgadas con un ordenador, cámara y sensores integrados pensado para colgarse en la pared como si se tratara de un cuadro y que puede mostrar una amplia variedad de obras digitales creadas con tecnologías como openFrameworks, Processing, vvvv, Cinder o HTML5, entre otras. FRM promueve, de esta manera, la creación de obras de arte con vvvv exclusivamente para un dispositivo diseñado para acogerlas.
FRAMED*, un marco de arte digital
Desarrollado desde 2010 por la empresa FRM, FRAMED* es un dispositivo pensado para mostrar arte digital y objetos digitales de diseño que se cuelga en la pared como un cuadro. Es compatible con numerosos entornos de programación creativa como openFrameworks, Processing, vvvv o Cinder.
El trabajo en vvvv se lleva a cabo en una ventana en la que no hay absolutamente nada; esta ventana se denomina patch (la programación en este entorno se conoce como patching) y es el espacio en el que se colocarán los nodos, que son los elementos con los que se construye un determinado programa. Cada nodo genera, procesa o envía información y lo hace por medio de una serie de entradas (inlets) y salidas (outlets). En estas entradas o salidas se crean enlaces con otros nodos para ir construyendo el programa. Un tipo de cajas particular son las IOBoxes, que permiten introducir valores que posteriormente se comunican con un nodo para que este procese o envíe la información recibida. Para visualizar los resultados del programa que se está creando con los diferentes nodos, es preciso introducir un nodo denominado Renderer, que lleva a cabo el renderizado en tiempo real del código que se está escribiendo al conectar las cajas.
En vvvv, por tanto, la programación se basa en nodos que se conectan entre sí.
Los datos circulan de un nodo a otro en función de si los enlaces se establecen en sus inlets o outlets y los resultados se hacen visibles por medio de un renderer. Al modificar los datos, es posible ver cómo los cambios afectan a la visualización en tiempo real. Como herramienta pensada para trabajar con datos en tiempo real, su interfaz presenta similitudes con la de Max/MSP y Pure Data, si bien presenta sus propias particularidades y puede resultar más compleja de usar.
Programar con vvvv
La web vvvv.org reúne los recursos para conocer y empezar a trabajar con este software. Los primeros pasos pueden resultar poco intuitivos, por consiguiente se recomienda seguir la guía paso a paso. Entre los recursos de aprendizaje, podéis consultar un tutorial básico en español en el enlace https://vvvv.org/documentation/sp.tutorial-001.