Skip to content
Marcus Ottosson edited this page Jul 28, 2014 · 23 revisions

A birds-eye view

A birds-eye view of Pipi and its capabilities, along with the target audience.


Goals

Goals

Prior to setting out to develop a minimalist, re-mixable and extendible framework for content creation, a number of constraints was set out. We wanted Pipi to reach as broad of an audience as possible and to facilitate the heterogeneous needs involved within each production; whether it be pre-visualisation, game level design or feature film work.

An interview with the world

Based upon interviews with developers at world-renowned studios across the world, a list was created that would facilitate the needs of both the small and the large; now and in the future.


Architecture

Upon the above requirements, an architecture was formed.

Uniformity

Each asset is uniform in behaviour and appearance; including what may be referred to as assets, shots, sequences, levels, users, tasks et. al. This allows tools to operate on anything and everything without requireing special attention or maintenance

Schemaless

Resources are natively schemaless. As opposed to other solutions that lock you into a schema prior to initiating any new project, a schemaless approach means that you are free to start out a minimalist and only build out when and where you actually need to.

De-centralisation

De-centralisation means to be without dependence on centralisation. Each application operates in isolation under a commonly understood language (messaging, more on that later) and may, but doesn’t have to, interoperate with other applications. This is a service-oriented architecture.

Consolidation

Metadata is stored together with its content. Traditionally, metadata is seggragated into a database where it is later manipulated and managed. When separated you face issues of where the true source of things are located; is this file the latest version, even though the database has recorded another version? Where is it? You also face issues of synchronisation; I’m storing this file here, now I’ll tell the database that this is what I did.

Clone this wiki locally