[ODE] ODE GUI Editor #3...
Anselm Hook
anselm at hook.org
Thu Feb 26 13:13:42 MST 2004
I'd suggest RDF/XML as a text based description of ODE objects.
Here's my thinking:
1) A text format is a must for any mature domain. I see this as a tension
between "Quality" and "Velocity". Ascii helps improve the velocity of
development - even if it is physically slower to load up on any given run.
Velocity means things like faster and easier auditing, tweaking and
noodling, eliminating toolchain bottlenecks where only specialized tools
and specialized knowledge can peer into the system. Quality is almost
irrelevant when compared to velocity - because velocity means you get to
cross the finish line first and get to interate more times.
The goal of a project pipeline is to make all development "transparent".
It is easy to fix problems when they are visible... and ascii text helps
make problems visible to artists, engineers, production management,
executive... an artist doesn't have to get the engineers over quite as
often...
For example: In Lord of the Rings for EA we widened the participant circle
by using xml; it was slower than the binary format we had been using and
everybody bitched ad nauseum but at the end of the day EA was still able
to bring in far more many eyeballs than a binary format ever could have
done. It turned the project around - playing a strong role in making it a
hit. Artists would peek "behind the curtain" at the text files
occasionally to see if they could see why a property was wrong - and in
many ways the friction of development was reduced - at some speed and
performance penalty during build iteration cycles admittedly... but for a
massive overall net acceleration over the team.
2) Beyond the goal of being ascii the format should also be something that
is already fairly popular. like it or not xml is that format. there
really is no choice here.
3) The format should be formally defined in a schema. XML does this very
poorly. On LOTR it took us months to build appropriate reflection on the
'type system' itself and this is now avoidable with the RDF/XML grammer.
4) RDF/XML may be worth considering now.
RDF/XML is a notation for describing objects in XML. It looks much like
the kind of vanilla XML one might invent but has a formalism behind it.
In RDF you can describe the schema or legal properties of any given object
- and RDF authoring tools let you only create legal relationships: "a
joint may only have two physics bodies" for example. The schema
definition is in the same language as RDF itself - so there is less
conceptual context switch when dealing with abstractions versus instances.
RDF is the basis of the semantic web. Typically RDF objects are
"grounded" with URLS. That means that with RDF one could not only
describe physics, but also geometry, the participants in the project, the
company processes, and the organization overall. One could declare a
simple physics based robot and then decorate that robot with information
about the author, the deliverable date, the dependencies, required artwork
and suchlike... defining not just individual pieces of projects but their
relationships. Tools could then generate visualizations of what parts of
a project were redlining and needed more help... thats just one example
of where a good robust grammer can take you.
Also RDF allows users to 'blend namespaces' together. What this means is
that there is room for new expressiveness without breaking legacy loaders.
A failure of VRML was the grammer bottleneck - the brittleness of the
grammer and how much people had to fight to get their ideas into "the
standard". RDF doesn't suffer from that problem.
While at ETECH last month the suggestion was going around (from danbri @
w3c) to do something like this - to define an rdf3d - not dissimilar from
rdfgeom2d. What would make this an amazing opportunity is that VRML/X3D
largely failed to describe a model of the world; being fixated on style
over substance - there is a hole here still. An rdf3d physics model would
probably be more successful than VRML and might help us all start to get
our digital puppets and robots out of their isolated cages and playing
with each other.
RDF is something worth googling - usually people find reasons why
something is bad if somebody else tells them it is good - so it is best to
go and form your own fresh opinions. But I'm personally interested in
doing an rdf3d when I'm done my current project and it would be nice to do
this as a group collaboration - possibly getting commercial development
houses involved in helping define and fill out the standard - creating
something that helped capture and reflect the domain knowledge that the
simulations and games development community has.
- a
More information about the ODE
mailing list