November 2008 – December 2008

Title screen

Avatar selection screen


The Project

Fluxus, the final project from my first term of the Masters of Digital Media program, is a 3D, networked social space. It allows 1-8 users to log into a virtual world and interact with one another, creating visual effects from the conversation.

There are three types of visual interaction in Fluxus:

  1. Pace of conversation: Every keystroke causes an incremental visual effect in the avatar that slowly fades away. Two people in active conversation will have avatars that are growing and shrinking rapidly (or something to that effect), while two people in silence will have static avatars.
  2. Composition of words: Every word typed causes a series of shapes to appear above the avatar. The shapes (and the colour thereof) are calculated from the composition of the word (consonants map to shapes, vowels define colour).
  3. Chat messages: Every time a chat message is sent, it appears in the chat windows for all chat participants. This allows an ongoing conversation, much like IRC or other text-based chat systems.

During the course of the project, two members of our team (both programming novices) learned Processing and Java and developed many of the visual effects contained in Fluxus. By the end of the project, we had six out of seven team members interacting with the version control system and running their own builds.

My Role

As technical lead on the seven-person Fluxus team, I developed the core client-server 3D virtual world system and co-ordinated with another programmer to create the UI elements, network messages, and visual effect support.

In addition, I mentored the rest of the team in learning about programming, source code version control, and software build processes.

Key Technologies

  • Processing
  • Java
  • OpenGL
  • Client-Server networking
  • TCP
  • UDP
  • Subversion


The making of Fluxus