Offipalsta.COM  

Palaa takaisin   Offipalsta.COM > Linkit muihin palveluihin > Elävä Arkisto > Programming > Project DMUD
Rekisteröidy Offiblogit Yhteisö Kalenteri Viestit tänään Haku

Project DMUD Everything about Project DMUD

 
 
Työkalut Etsi tästä viestiketjusta Näkymä
  #1  
Vanha 09.12.2002, 02:08
Lars
Guest
 
Viestit: n/a
Perusasetus

Moniprosessius


On tärkeätä että maailmaa voidaan koodata eteenpäin ja bugeja fiksata samalla kun beta-testaajat (ts. pelaajat) paukuttavat maailmassa eteenpäin.

On myöskin tärkeätä että pelaajan ja maailman edistymistä ei ikinä kaatumisen tai prosessin uudelleenkäynnistyksen takia menetetä, ts. ei oteta takapakkia.

DMUD koostuu useasta prosessista ja useasta useammalle prosessille yhteisestä muistialueesta.

[u]Main process</u> pitää sisällään DB I/O Handlerin, Object Storagen ja Game Enginen.

[u]DB I/O Handler</u> huolehtii tallentamattoman datan (ei Persistent storagessa) talletuksesta Persistent storageen ajallaan. DB I/O Handler huolehtii että kaikki tieto tallennetaan tietyin aikavälein Persistent storageen (ts. auto-save). Kun Game Engine tarvitsee tietoa jostain objektista tai asiasta, se hakee sitä ensin Object Storagesta, jos dataa ei sieltä löydy, Object Storage pyytää sitä DB I/O Handlerilta, jonka vastuulla on hakea pyydetty tieto Persistent storagesta. Jos Main Process hotbootataan tai se jostain syystä kaatuu (ja käynnistyy uudelleen), DB I/O Handler pyytää tallentamattomat tiedot Memory backup & Log-prosessilta. DB I/O Handler pitää sisällään kaiken Persistent Storageen liittyvän koodin (tietokantakoodi). Koodin tulee olla sellaista, että tarvittaessa tiedonhaku- ja tallennusfunktiot uudelleenkirjoittamalla Persistent Storagena voi toimia vaikka tekstitiedostot (vain esimerkki)!

[u]Object Storage (RAM)</u> koostuu mahdollisesti useammasta säikeestä. Object Storage koostuu useista muistialueista. Object Storage ylläpitää kaiken peliin liittyvän datan ja tarvittaessa jakaa tietoa sitä pyytävälle prosessille/osalle. Pääasiassa ainoastaan Game Engine käsittelee dataa suoraan Object Storagea käpistellen. Tosin myös Item AI:n saattaa olla tarve päästä suoraan käpistelemään itseään ja moduleitaan koskevia tietoja Object Storagessa (avoin). Jos jotain Game Enginen pyytämää tietoa ei löydy Object Storagesta, lähettää se pyynnön edelleen DB I/O Handlerille, jonka palauttaman tiedon Object Storage tallentaa itseensä ja palauttaa edelleen Game Enginelle. Tietoja joita ei olla haettu Object Storagesta aikoihin, se antaa DB I/O Handlerille tallennettavaksi ja poistaa datan muistista.

[u]Game Engine</u> - Selitys tulee myöhemmin.

[u]Backup process</u> pitää sisällään Memory backup & Log-osion.

[u]Memory backup & Log</u> - Selitys tulee myöhemmin.

[u]NPC Process</u> pitää sisällään NPC AI-osion ja n-kappaletta NPC Moduleita.

[u]NPC AI</u> - Selitys tulee myöhemmin.

[u]NPC Module(s)</u> - Selitys tulee myöhemmin.

[u]Item Process</u> pitää sisällään Item AI-osion ja n-kappaletta Item Moduleita.

[u]Item AI</u> - Selitys tulee myöhemmin.

[u]Item Module(s)</u> - Selitys tulee myöhemmin.

[u]Command process</u> pitää sisällään Command Handlerin, n-kappaletta Command Moduleita ja Command Parserin.

[u]Command Handler</u> - Selitys tulee myöhemmin.

[u]Command Module(s)</u> - Selitys tulee myöhemmin.

[u]Command Parser</u> - Selitys tulee myöhemmin.

[u]Client process</u> pitää sisällään Client Managerin, Clients ja Listener-osiot.

[u]Client Manager (Socket I/O)</u> - Selitys tulee myöhemmin.

[u]Clients (Sockets)</u> - Selitys tulee myöhemmin.

[u]Listener (Login process)</u> - Selitys tulee myöhemmin.

--
Lars

 

Käyttäjiä lukemassa tätä viestiketjua: 1 (0 jäsentä and 1 vierasta)
 

Pikalinkit


Sivu luotu: 03:56 (GMT +2).