On 8/9/2011 1:44 PM, David Barbour wrote:
On Tue, Aug 9, 2011 at 11:09 AM, Steve Wart <st...@wart.ca <mailto:st...@wart.ca>> wrote:

    3D design is extraordinarily expensive to develop properly


That is not an essential property of 3D design. We could have an ontology / 'markup language' just for building and animating avatars, similar to dressing up a doll, if we want to make one. And a modular ontology for buildings (including concepts such as crenelations and gargoyles). And another for environments. Etc. Given a suitably modular meta-language, we can even have dedicated languages for describing zombies.

I see the impoverished languages of today as an opportunity. For accessibility reasons - e.g. desktop vs. iPhone access to a world - it is preferable that we develop in these high-level ontologies anyway.

My own vague interest has steered me towards modular, reusable, multi-player interactive fiction - with a lot of inspiration from the Inform 7 language [1]. I have a bunch of half-formed designs from my earlier work on the subject, and my efforts in language design.


yes, although sadly existing technology and tools have done a terrible job at this, and are still mostly at the level of:
create a cube;
stretch it to about the right size;
put a "building exterior" texture or similar on it;
...;
call it done.

or, one wants to build a building, and so resorts to endless geometric fiddling (placing/sizing/texturing cubes to make walls/doors, import a chair model and copy/paste it a crapload of times, ...).

yes, granted, a few programs have procedural modeling features, ...



    And also note the lack of porn (although WoW has a high level of
    titillation it also has been very successful in attracting women).


Lol. Pornography is a human trait with an ancient and ignoble history, even if male dominated. I once watched a rather funny (but somewhat perverted) video called 'Ballad of the Sex Junkie' developed in WoW. It's NSFW, but is tame enough for Youtube.

Anyhow, I'm speaking at the federated world level. It would be silly to deny that those red-lights districts will exist. This rule is the same for all computer security: you cannot protect against a threat by ignoring it! I prefer soft security, wherever possible, and this means recognizing and accommodating threats in order to gain some control of them. By recognizing red lights districts, and the inevitable fallout (such as naked avatars waltzing through worlds), we can isolate them (e.g. by ensuring that the avatar has suitable clothing upon entering a 'no shirt no shoes no service' world).

possibly, if done more like the existing web, then a person will have different user accounts and different avatars for different servers.

transferring from one location to another, or going to favorite places, may then inevitably involve some number login screens...



    The original concept of VRML as a standard in the hypertext model
    still makes sense to me, but the gaming platforms seem to prefer
    the silo model.


VRML is an awfully low-level ontology for building 3D models! I would suggest that this is part of /why/ we favor the silo model.


VRML also looked like a mishmash of things that would not normally go together in game data files.

in many game engines, most of the game contents are spread across a large number of different files, each format typically fairly specialized, and integrated into a single combined world.

VRML seems to try to be more like HTML, and express the entire world structure in a single file.
IMO, this is not a terribly great approach.


granted, I hold a similar complaint against Collada as well (although it sees the world more from the POV of a traditional 3D modeling app).


Think about what it would take to build designs that let us achieve something similar to CSS for 3D and avatar animation. Separation of artistic rendition (presentation) from content is important. Anything short of that is ultimately unsuitable for world mashups! Working with cones and boxes is not the right level for this.


yep.

ideally, we should probably be working with higher-level "entities" instead of lower-level geometry.

like, say, one goes about defining an entity type, allowing for certain input parameters, ...

then, later, a piece of code may import the entity.

entity {
    classname="someapp/my_entity_type"
    origin="..."
    ...
}


Quake-series engines have generally done similar for most "higher-level" entities (excluding basic map geometry).

to some extent (and with a different syntax) Valve is already doing something vaguely similar with entities which may also import map geometry (one can do things like, say, import premade world objects in Hammer Editor, ...).

applying this at a larger scale may make some sense.


taken further, it could mean the elimination of "brushes" as traditionally understood in the "map" sense, with brushes essentially becoming entities as well (again, valve has partially done this at the syntax level, abolishing the older brush-definition syntax).

this could mean though, instead of creating a brush from faces, one could be like:
primitive {
    classname="primitives/cube"
    origin="..."
    mins="..."
    maxs="..."
    texture="stone/cobblestone"
    ...
}

and have the 3D engine figure out trivia such as what the face-planes and texture projection axes are (traditional Quake-style maps exist at the level of specifying individual faces).


I think we really do need an ontology for architecture, avatars, environments, etc. as a common foundation in the world.

possibly, ultimately all levels should be expressed, but what should be fundamental, what should be expressed in each map, ... is potentially a subject of debate.


    The Teatime model seems promising


Teatime protocol is unscalable and insecure. It is suitable for LANs where you trust the participants, but would die a slow, choking death if faced with 'flash crowds', 'script kiddies', and their like. No variation on Teatime will ever work at scale. Transactions scale poorly and have plenty of flaws [2]

But there are some lessons you can take away from Teatime. Use of temporal semantics is a suitable basis for consistency even without transactions - we can tame this with a more commutative/idempotent model and /eventual consistency/. Explicit delay is an effective approach to achieve near wall-clock determinism in the face of distribution latencies (e.g. a signal propagates to multiple clients, but triggers at some specific time in the future).

I have developed a very simple and effective programming model - Reactive Demand Programming - for solving these and related concerns [3]. One might think of RDP as a fusion of eventless FRP and OOP - i.e. OOP where messages and responses are replaced by continuous control signals, and state is primarily replaced by continuous integrals. RDP is, by no small margin, the most promising model for developing modular, federated, distributed command and control systems, augmented reality systems, and 3D worlds.


I am not familiar with the Teatime protocol. apparently Wikipedia doesn't really know about it either...



    Croquet always felt awkward to me, partly it was performance, but
    it was also because some of the primitives were too primitive.


I agree that this is a problem. VRML is a problem for the same reason - i.e. it is not clear what the physics should be, nor how we should recharacterize for a different artistic style, and so on.

yep.

half-assedly ripping off Valve's designs and adapting them to a more open world structure could make some sense...

then, say, one has something like:
entity {
    classname="target_changelevel"
    map="sghttp://www.someserver.com/foo.map";
    targetname="t34"
}

or with a more Valve-like syntax:

entity {
    "classname" "target_changelevel"
    "map" "sghttp://www.someserver.com/foo.map";
    "targetname" "t34"
}

note (Valve Map Format):
http://developer.valvesoftware.com/wiki/VMF_documentation


my own recent map format design is partly influenced by this format...


or such...

_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Reply via email to