Collating the pieces to create a cinematic scene is quite an intricate task. I love real life examples, applications to reality…, and an idea I had a few months ago comes to mind.


I am not a designer, coder, or even a developer, but I am a good online content manager. I also love writing, fiction, non-fiction, mixed reality scripts, dystopian short stories, and somewhere deep in my head, hip-hop allegories.


I also really want to create an African-themed video game / interactive story. Like a never ending one. So, even before the new film ‘Black Panther,’ and pop culture’s awareness of Wakanda, I had a vision of creating a realistic world of African-themed ‘pieces’. These objects (coder word here,) would be pieced together like a jigsaw puzzle to create a story.


The first thing that came to mind was to make a social call to all designers, coders, film makers, animators, creators, to submit realistic African landscapes to this database, so that we could all share, and reuse, with attribution.


This is no small task. Who am I to make such a call? What guarantee do these creative people have that their work and contribution will:

  • Receive the mass scaling it deserves?
  • Have security. Will this database crash?
  • A space to make a story. Is there a platform for creation?
  • Extend. What can you add?
  • Distribute. How will it be shared?


Little did I know that Open Source Cinema could be a method to this sorta madness.


So where do we start?


First, we need to question what it takes to create any cinematic environment.


In speaking to my spouse, he immediately pointed something out. Early cinema was projected onto a screen. The equations of this had to at least have, color (be it black and white, or red light, green light, blue light,)the projector lens, images and a screen. I am not a cinematic person to give much more detail, but that’s the point of my database.


I was thinking about these ideas in class, and figured the data would be accessible through some sort of content management system.


Here is a preliminary list of the basics…

  • A database
  • A search tool
  • Content:
  • Stage
  • Environment
  • Components
  • Image
  • Sound
  • Clip
  • Script
  • Timelines
  • Characters



Here is where we ultimately place the visible elements of this tool. It is our canvas. We can place dimensions here. A shortlist:

  • Dimension, either x, y or xyz… axis
  • Background… color, sprites, images
  • Our 30 frames

for example,


This is more of scene setting. For example, if a war game occurs in a particular jungle in Africa, drawing the landscape might be more resourceful than creating such complexity piece-by-piece. Here designers can just place the several mixed media backgrounds they have created. It can be as flexible or complex of a design as possible.



A knot, a bolt, a withering leaf, a teardrop, raindrop, puddle, wind flow gif, a piece of code that changes the color of an object…. Here, smaller blocks are collected, to add depth and deeper definition to content.



Any image can be placed here. It can be an image that will be used as a component, environment, background, in a script, for slideshows...



A data set of sound clips to be placed in frames.



Any video clip can be placed here. The whole idea is to be able to create, remix and recreate. Video clips have their own data set for this purpose. Standard video clip files will be accepted.



This is where story lines go. They can be full copyright scripts, or just open source pieces of story ideas anyone can remix. Text objects can also reside here.



Special things happen at special times. Sometimes, silent time needs to be reused in several places. For example, the five second sound and video of crickets in a dark bush. Timelines have a place too!



Who are the actors in our stories. What are their physical traits? Will the user have a persona? This is where these characters are placed.


In all honesty, this is just scratching the surface. It is a start that I want to begin and then, make it as complex as the need arises. The coding for this is the challenge. I assume three.js and mlabs has at least the bare minimum to start. Dan O’s tool also provides the ability to drop media files into a database.


To improve on this would be to figure out how to have a way to input these pieces of content on an html page or so,  Here is a brief project description:

  • A form labeling the different areas where content can be dropped.
  • A database to house these pieces
  • A stage where these pieces can be mixed
  • An interface for dragging and dropping things onto the stage
  • A coding area

This is very skeletal, and hopefully a good project wire frame that can be developed.