[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: PvvMud





Det er ikke skrevet noe om kommunikasjon mellom client og server, men jeg
har en ide som jeg ikke har testet eller undersøkt om kommer til å funke.

Ide
------

Serveren har et hirarki av objekter. Klienten vet ingen ting om verdnen.
1. Serveren lager en frame som den sender til klienten. 
2. Klienten viser denne framen.

Denne framen er f.eks en UDP pakke som inneholder informasjon om
posisjonen til viewpointet til brukeren og posisjon og id til potensielt
synlige objekter. Klienten henter så 3D/mesh informasjonen fra fil eller
en server som leverer grafikk ved å bruke id feltet. De grafiske objektene
chashes på klienten slik at når neste frame kommer så ligger de fleste
objektene i chashen.  

Frame            = ViewPoint + FrameObjectList 
FrameObjectList  = {FrameObject}                # En tabell
ViewPoint        = Transformation 
FrameObject      = ObjectGeometryId + Transformation + FrameObjectList
Transformation   = Position + Rotation 
Position         = x + y + z + w
Rotation         = x + y + z + Angle

Så langt har jeg tenkt :) 
Nå hvor store blir så ei slik pakke?   (b=byte,F=Float)

ObjectGeometryId  4b
Transformation  = 4F + 4F = 4*4b +4x4b = 32b
FrameObjectList  1b  som gir et maks antall children nodes = 256.
------------------------------------------------------------------
Et objekt gir da 37b. Kansje en scene normalt består av ca 100 objekter
dvs ca 3.7Kb per pakke. 

Noen ide om hva en kan anta av bånbredde?

På siden www.pvv.org/pvvmud/work/client_steps.html så har jeg skissert 2
versjoner til av denne protokollen. Den første inkluderer 1. deriverte dvs
hastigheten til objektene noe som vil gi en maks størelse per objekt på 37
+ 32 = 69. Den andre inkluderer informasjon om animasjoner som vil gi enda
større pakker.

For et objekt så vil det oftes være flere felt i trasformasjonene og
hastighetsvektorene som er null så en ide vil være å inkludere et bit felt
for hvert tall som forteller om de er med i pakka eller ikke. Posisjon vil
nesten alltid være satt så den må med, men for rotasjon og hastigheter vil
ofte mange verdier være null. En rotasjon i z og bevegelse i y kan f.eks
kodes som 001010. Der de tre første bitene er rotasjon og de siste 3
bevegelse men henholdsvis xyz rekkefølge.

Et annet spørsmål er jo om en trenger float nøyaktighet på posisjon og
rotasjon?
 

Dette er de tankene jeg har gjort meg. 

Hilsen
Anders


On Wed, 18 Nov 1998, Werner Lindgard wrote:

> 
> Hei igjen Anders !
> 
> Ser dere har startet opp igjen med prosjektet deres. Som jeg har nevnt
> tidligere, har jeg fortsatt lyst til aa vaere med, og komme med ideer, og
> litt hjelp dersom jeg har tid til det.
> 
> Saa forresten paa hjemmesiden at dere ikke har gjort saa mye i forbindelse
> med nettverket og hvordan faa til rask overfoering og slike ting. Det jeg
> vil si om dette er at jeg naa er med paa et lite prosjekt her borte i
> statene i et fag som heter Global Computing, der jeg og to til skal proeve
> aa finne en maate aa faa til rask og skalerbar dataoverfoering i
> forbindelse med en 3D verden. Det er forsaavidt jeg som har startet i gang
> dette prosjektet her, og jeg har "kamuflert" litt av baktanken med
> prosjektet, og sagt jeg oensker aa lage en slags 3D chat verden. Denne vil
> ( forhaapentligvis ) bli lett utvidbar til en og annen MUD. Vi er for
> oyeblikket i startgropen, og vi vet enda ikke om det foerer fram til noe,
> men en del ideer begynner aa ta form, og etter litt testing haaper vi aa
> faa noe som gaar fort, og ikke minst er veldig skalerbart. 
> 
> Det kommer ogsaa etterhvert opp en hjemmeside om prosjektet og en del til.
> 
> Dersom du har flere spoersmaal eller lignende om det vi driver med saa
> bare send en mail. 
> 
> Blir sef. med paa andre ting som skal gjoeres ogsaa.
> 
> Ok, vi snakkes !
> 
> ______________________________________________________
> 
>  Werner Lindgård  <wernerl@cs.ucsb.edu>
>  Computer Science, Santa Barbara, California 
> 
>  6689 El Collegio, Apt. #101
>  Goleta
>  CA 93117
>  USA
>  Phone: (805) 562 8623
> ______________________________________________________
> Newton was wrong. 
> It's not gravity, it's just the world that sucks.
> 
> On Wed, 18 Nov 1998, Anders Reggestad wrote:
> 
> > 
> > Velkommen på møte i kveld. 
> > 
> > Hilsen
> > Anders Reggestad
> > 
> >  -----------------------------------------------------------
> > |    ******  Anders Reggestad                               |
> > |  *   *   *  Norges teknisk-naturvitenskapelige universitet|
> > | *    *   *  E-Mail  : andersr@pvv.ntnu.no                 |
> > | *********  Post adresse  : Studpost. 159 7034 Trondheim   |
> > | *    *   *  Hybel adresse : Rainheimliv. 21A 7053 Ranheim |
> > | *    *    *  Hjemmeside : http://www.pvv.ntnu.no/~andersr |
> >  -----------------------------------------------------------
> > 
> > 
> 

 -----------------------------------------------------------
|    ******  Anders Reggestad                               |
|  *   *   *  Norges teknisk-naturvitenskapelige universitet|
| *    *   *  E-Mail  : andersr@pvv.ntnu.no                 |
| *********  Post adresse  : Studpost. 159 7034 Trondheim   |
| *    *   *  Hybel adresse : Rainheimliv. 21A 7053 Ranheim |
| *    *    *  Hjemmeside : http://www.pvv.ntnu.no/~andersr |
 -----------------------------------------------------------