lab 2: Life4m

Life4m is an alien life form that lives and breathes in a 3-dimensional space. It grows when it decides to grow and hides when a different entity gets too close, influencing its decisions. 

If there are aliens out there, there's a good chance they won't look like us or even any other animal we know. They will have to adapt to a planet that might be vastly different from earth, creating vastly different lifeforms. What would these lifeforms look like? Would they evolve to have the same type of intelligence as humans? How would they propagate through space and time?

These questions lead me to a life form that is living on this planet with us, but simultaneously seem to come from another world: slime molds. These interesting organisms can exist as a single cell, expanding and shrinking while searching for food, but can also form a network of slime molds to become a multicellular structure.

Implementation

The code for life4m can be found here.

To create this project I took inspiration from the prepackaged Open Frameworks example: 02_simpleVertexDisplacement. I also made use of the OF Addon ofxDelaunay.

The creation of life4m

I started off with the idea of creating a living and growing network that would respond to a user in some type of way. My first plan was to use an addon to create a mesh network or make a 3d connected object by using the ofPlanePrimitive object in OF. I was however not able to create a satisfactory object that would grow in the way I wanted, which is how I got to the Delaunay addon. This addon made it possible to create triangle structures that could connect to one another in 3d space.

 

By playing around with the different mouse controls I came to the idea of having the entity react to the mouse moving inside the program window instead of working with a mouse event. This turned out to be more stable and fitted in the dialogue of having an entity that would cower away when coming to close, or breaching its personal space.