As the maker of a game engine primarily aimed at Indie game developers, I have the opportunity to observe behavior of many individuals working together. This allows me to observe interactions from a perspective the individual participants in the system sometimes can't see.
There are many steps in game development, that can be performed by people with different skill sets. The workflow for Leadwerks is designed on this premise. At its simplest, Leadwerks can be used as a visual design tool with mapping tools and the flowgraph editor for game logic. Beneath this lies the entity script layer, and then beneath this is the C++ API at its core.
Ultimately, my goal is to facilitate cooperation between different users who occupy different niches in the content production pipeline. Mappers, programmers, designers, and artists should be able to benefit from one another's work without entering into structured agreements. Ideally, they will all just churn away at what they are good at, like the cells in a human body keeping the organism healthy and productive.
Taking a very broad view of the matter, you really need three things to achieve that vision:
- Free sharing of items within the community.
- Protection of intellectual property rights.
- Tracking of the chain-of-authorship and support for derivative works.
This is challenging because some of those goals may seem to contradict others. For example, if I upload a model on Turbosquid I certainly don't want someone else turning around and reselling it as their own work, because that violates my intellectual property rights. On the other hand, if we don't allow frictionless exchange of content, individuals further up the value chain never get a change to add their valuable contributions to the ecosystem.
That's why I'm taking a new design with this system, one that has never been done before. In my next update I will talk in more detail about my design and how this system will change the way content is produced.