<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
I did not use inworld scripting for any of this. I used region modules.
All those vehicles you see in the video are instances of
SceneObjectGroup that are not being backed up in the DB. Their
positions are updated via changes to the AbsolutePosition property.<br>
<br>
OpenSim is just casually an application that looks like SL. In reality,
OpenSim is a framework -- a set of classes -- that can be used and
extended, just like OpenGL for example. So, if you know how to program
in C#, you can do a lot more interesting things directly on the server
via region modules (<a class="moz-txt-link-freetext" href="http://opensimulator.org/wiki/Region_Modules">http://opensimulator.org/wiki/Region_Modules</a>).<br>
<br>
Paul Fishwick wrote:
<blockquote cite="mid:491B0173.40505@cise.ufl.edu" type="cite">
  <pre wrap="">Crista:

Diva Canto wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">I have written a region module that does traffic simulation. Here's a 
video produced by my students:
<a class="moz-txt-link-freetext" href="http://uk.youtube.com/watch?v=kJNDcurLP1w">http://uk.youtube.com/watch?v=kJNDcurLP1w</a>
    </pre>
  </blockquote>
  <pre wrap=""><!---->This very impressive and nice use of OpenSim along the lines of what I
was thinking about. For teaching discrete event simulation, the entire 
messaging
passing approach seems to lend itself well to this (assuming FIFO
ordering on event queues for a region). For continuous simulation,
your vehicles appear to be updating position at a decent frequency.
Did you use llSetPos() and was there a delay or did you run flat-out
at whatever the server could muster?

For some reason, my simple test was not good, perhaps because I was
moving too short a distance during updates. I'll retry again later tonight.
  </pre>
  <blockquote type="cite">
    <pre wrap="">That was back in late August; the opensim API has changed considerably 
since then and I haven't had time to update my module yet. I didn't 
use physics; it was all done with periodic updates to the objects' 
state, just like in traditional simulation. It works pretty well, only 
starting to break when there are more than 2 avatars in scene; the 
breakage is because we have the server behind a home DSL, so packets 
start getting lost.
    </pre>
  </blockquote>
  <pre wrap=""><!---->Yes, I could see how too many updates could be a problem depending on 
the server
and location of clients.
  </pre>
  <blockquote type="cite">
    <pre wrap="">In general, for doing tradional simulations forget about using inworld 
scripting. Even if the scripting engine was already working well, 
which is not, that introduces a lot of unnecessary overhead. 
    </pre>
  </blockquote>
  <pre wrap=""><!---->I suppose I was wondering whether the overhead could be removed or 
minimized for
running standalone servers (or at least, servers with no more than 1 or 
2 avatars)...
  </pre>
  <blockquote type="cite">
    <pre wrap="">Moreover, it also imposes a programming model that is an obstacle to 
simulations (for example, not being able to hold references to objects 
and having to interact with them via llSay functions). 
    </pre>
  </blockquote>
  <pre wrap=""><!---->Yes, having the option for direct referencing would be useful.
  </pre>
  <blockquote type="cite">
    <pre wrap="">The opensim API, on the other hand, is a joy to work with (how many 
times have I said this? :-)
    </pre>
  </blockquote>
  <pre wrap=""><!---->
When you say the opensim API are you referring to LSL, the C# interface, 
or something else?
I've been using LSL, but haven't seen any docs on the C# API yet.

-p

  </pre>
  <blockquote type="cite">
    <pre wrap="">Diva / Crista

Paul Fishwick wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">Justin Clark-Casey wrote:
  
      </pre>
      <blockquote type="cite">
        <pre wrap="">Yes, things are stored in memory with a regular flush to database that occurs every 15 seconds.  However, I suspect that 
objects with the physics attribute are not currently persisted (from a recent thread on opensim-dev).

  
    
        </pre>
      </blockquote>
      <pre wrap="">I am curious as to whether it could become possible (in a standalone 
server or
in a grid with only one person) to do continuous visual updates for moving
objects (physical or otherwise). I have tried a few experiments, such as a
continuously moving block using LSL (setpos) and after a few seconds, the
behavior becomes erratic (for example, the box shoots off somewhere or
disappears entirely from the region).

I realize that having fast moving visual objects does not lend itself 
well to sharing
state, but there are some instances where one wishes to simply launch a 
region
or grid and do more traditional simulation (as one might do in OpenGL) 
whether
or not the object states are shared, or on the frequency of sharing. It 
would be nice
to have this "standalone continuous object motion" as a switch-based or
deltatime-specified capability.

Thoughts?

-p

  
      </pre>
      <blockquote type="cite">
        <blockquote type="cite">
          <pre wrap=""> * Would it (or is it) useful to have some scripts run on the client 
rather than the
    server for less server loading? For example, could ODE run on the 
client
    
      
          </pre>
        </blockquote>
        <pre wrap="">I think that some minor stuff is done client side already (such as flexiprims).  However, I suspect one runs into 
difficulties when objects can affect each other, since you would have to start communicating all this information back 
to the server and somehow synchronizing it with changes from other clients.

However, I am not an expert in this area.

  
    
        </pre>
      </blockquote>
      <pre wrap="">
  
      </pre>
    </blockquote>
    <pre wrap="">------------------------------------------------------------------------

_______________________________________________
Opensim-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Opensim-users@lists.berlios.de">Opensim-users@lists.berlios.de</a>
<a class="moz-txt-link-freetext" href="https://lists.berlios.de/mailman/listinfo/opensim-users">https://lists.berlios.de/mailman/listinfo/opensim-users</a>
  
    </pre>
  </blockquote>
  <pre wrap=""><!---->

  </pre>
</blockquote>
<br>
</body>
</html>