On 5/4/06, <b class="gmail_sendername">Jean-Paul Calderone</b> <<a href="mailto:exarkun@divmod.com">exarkun@divmod.com</a>> wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
On Thu, 4 May 2006 10:47:45 -0400, Christopher Armstrong <<a href="mailto:radix@twistedmatrix.com">radix@twistedmatrix.com</a>> wrote:<br>>On 5/4/06, Mike Pelletier <<a href="mailto:mike@mkp.ca">mike@mkp.ca</a>
> wrote:<br>>>On Thursday 04 May 2006 10:09, Christopher Armstrong wrote:<br>>> > We did it. Rooms can now be dark (a LocationLighting powerup on a<br>>> > room, with candelas set to 0), and they'll make everything inside of
<br>>> > them invisible[1]. It does this by powering up the room for<br>>> > ILocationProxy, which will get a chance to proxy all of its contents<br>>> > found during a findProviders traversal (as opposed to an IProxy, which
<br>>> > gets a chance to proxy all objects found *through* it, like the<br>>> > objects on the other side of a red glass window).<br>>> ><br>>> > Then we implemented a torch. The torch is a Thing with a LightSource
<br>>> > powerup; the LightSource powers up its thing for ILightSource, and<br>>> > provides a candelas attribute. The LightingLocation proxy searches for<br>>> > (calls findProviders with) ILightSource, accumulates all the light
<br>>> > sources, and adds it to the ambient light of the room, to decide<br>>> > whether it is bright enough to see anything.<br>>><br>>>Does an ILocationProxy get to know who's asking? Seems as though
<br>>>properties<br>>>of the actor would be important to deciding whether it's bright enough/too<br>>>bright.<br>><br>>Not yet, but it's a good possibility. We've been careful to not do too<br>>much that doesn't directly solve use cases we want to implement, so as
<br>>to avoid the abstraction-insanity that Imagination had. Getting<br>>information about the observer doing the requesting sounds like<br>>something that would really be necessary for a bunch of use cases,<br>>though.
<br><br><br>I don't think IProxy.proxy needs to know who's asking. The point<br>is that the proxy objects it returns have logic in them. Currently<br>the illumination game system is extremely stupid: if a location is<br>
lit, everyone can see things in it; otherwise no one can. A more<br>advanced illumination game system would wrap objects and then provide<br>an alternate IConcept implementation. If the light level is low but<br>non-zero, it can replace the thing's description with text like "a
<br>dark oblong blob"; since conceptualization does take the observer<br>into account already, if it is dark but the observer has infravision,<br>a custom description that takes both of these facts into account can<br>
be given to just that observer.<br><br>Jean-Paul</blockquote><div><br>As things progress and more combinations of conditions, objects, and actors exist,<br>how will you manage all these descriptions of the objects in so many environments
<br>or what kind of automation will come to describing them under the different conditions<br>and to differently abled actors? That is, will you need to define that for some range of<br>light in a normally-visioned person that "a dark oblong blob" is the description, or is
<br>that somehow deducable by the system?<br></div><br></div>