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

Re: World server



On Thu, 8 Apr 1999, Sigmund Motzfeldt \y wrote:

> On Thu, 8 Apr 1999, Anders Reggestad wrote:
> 
> > 
> > Vi kom frem til at worldsrv skulle stå for oppdateringen av klientene.
> > Hvilke andre oppgaver skal denne serveren ha? Det ville være naturlig om
> > funksjoner for å følge terreng skal ligge her. Kollisjons detektering vil
> > også være naturlig å legge her siden denne serveren har en fullstendig
> > representasjon av verdenene. Spørsmålet er da hvordan skal grensesnittet
> > til denne tjenesten funke? Hvilke properties skal hvert enkelt objekt i
> > denne serveren ha?
> > 
> > Grensesnittet: Siden denne tjenesten er tenkt implementert som en egen
> > server kan grensesnittet ikke være synkront. Dvs vi kan ikke i pvvmudsrv
> > kalle funksjoner som kollidererObjectet(A med b) og forvente å få tilbake
> > et boolsk svar. Må vel heller basere oss på at vi setter et flagg ved de
> > objekte som vi ønsker kollisjons informasjon fra og får meldinger når
> > dette objekte har kollidert. Hvordan gjør vi det da med animasjoner. Når
> > et objekt kolliderer skal vi stoppe animasjoner eller fortsette de. Dette
> > kan jo være et flagg, men vi er vell avhengig av at objektene i pvvmudsrv
> > får en tilbakemelding om posisjonene til objektet?
> 
> Siden baade pvvmudsrv og worldsrv har den samme oversikten over objekter
> er det vel ikke noe i veien for at de kan dele den samme koden for
> kollisjonsteteksjon ? (#include mener jeg) I saa fall kan worldsrv ta seg
> av alt maset fra klientene om kollisjoner mens pvvmudsrv kan jobbe med
> AIenes og mudlibens behov for kollisjonsdeteksjon.

Det jeg ønsker er et grensesnitt som er så generelt at det ikke betyr noe
hvor de aktuelle testene utføres. Jeg ser for meg litt forskellige
konfigurasjoner. Den logiske delen av verden styres av mudliben. Den
fysiske reppresentasjonen vil ligge i worldliben. Mellom worldliben og
mudliben er det et programmeringsgrensesnitt. Fra mudliben ser det ut som
om worldliben inneholder en og bare en world, men dette trenger ikke være
så. Det vi diskuterte av å ha en world i pvvmudsrv og en world i en
worldsrv. Hvor worldsrv tar seg av oppdatering av klienter og den world
som er i pvvmudsrv tar seg av kollisjonsdeteksjon osv. Men hvis en lager
grensesnittet mellom worldlib og mudlib litt lurt kan en kansje flytte
world ut av pvvmudsrv og fordele forskellige oppgaver mellom
flere worldsrvere. Noen worldsrvere kan være spesialisert på å oppdatere
klienter, andre kan være spesialisert på  å gjøre kollisjons tester. En
kan også tenke seg at hvis enkelte oppgaver blir for tunge kan en lage
worldsrvere som bare tar seg av en liten del av verden.

> En annen loesning er selvsagt aa la en server av worldsrv typen kjoere
> AIer slik at denne kan ta seg av kollisjoner for de AIer den selv styrer.
> Problemet da blir vel at vi maa sende utrolige mengder synkroniseringsdata
> hele tiden. (10 000 AIer som alle flytter seg...)
>  
> > Hvilken informasjon trenger AIer fra worldSrv. Hvordan skal de bevege seg.
> > Skal worldsrv gjøre noe av jobben her.
> > 
> > Hvordan skal terreng følging gjøres osv.
> 
> Det jeg lurer paa i denne forbindelsen er hvor fri vi tenker oss en AI.
> Dersom denne skal vaere en spesialversjon av en klient som vi snakket om
> en gang tidligere saa blir det vanskelig. Det som ligger naermere akkurat
> naa er vel aa benytte den scriptspraakdelen vi legger opp til i
> hovedserveren. En kan selvsagt lage noe liknende paa en annen server som
> har tilgang paa de samme funksjonene som det pvvmudsrv gir (tilgang til
> hendelser, datastrukturer for hele verden..) men det blir vel knotete ?

Var ikke idéen at en AI egentlig skulle gjøre det samme som en spiller, så
da kunne den flyttes ut i en egen client. Når det gjelder hvordan en AI
skal navigere så oppfordrer jeg til å ta en titt på
http://hmt.com/cwr/steer/ (Steering Behaviors For Autonomous Characters)
Det burde være lett å dytte tilstrekkelig informasjon ut til en AI klient
til at alle disse teknikkene kan brukes. Dessuten hvis vi lager server
client kommunikasjonen på en slik måte at en client kan styre flere
spillere/AIer. Dette vil minske nettrafikken noe. Dessuten så vil vel
kansje de fleste AIene være ganske stasjonære? Eller tror dere at det blir
vanlig med AIer som streifer mye rundt? Jeg ser for meg at små grupper at
AIer holder til i forskellige deler av verdenene. Kansje av og til at AIer
vandrer mellom ulike områder med terreng som de liker. 

Anders

 ----------------------------------------------------------------------
|    ******   Anders Reggestad                                         |
|  *   *   *  Mobil tlf.   : 95044443                                  |
| *    *   *  E-Mail       : andersr@pvv.ntnu.no                       |
| *********   Post adresse : Haug Prestegård 3300 Hokksund             |
| *    *   *  Jobb adresse : FFI avdeling for Undervannsforsvar Horten |
| *    *    * Hjemmeside   : http://www.pvv.ntnu.no/~andersr           |
 ----------------------------------------------------------------------