dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

Spēles objektu glabāšana un manipulācija
Goto page 1, 2  Next
 
dev.gamez.lv Forum Index -> Iesācējiem
View previous topic :: View next topic  
Author Message
Inf3rnal



Joined: 15 Jun 2006
Posts: 118
Location: Neverland

PostPosted: Mon Apr 27, 2009 6:02 pm    Post subject: Spēles objektu glabāšana un manipulācija

Ar laiku attīstoties un palielinoties mans RPG, ja to var apzīmēt ar tik spēcīgu vārdu, projekts ir nonācis pie robežas, kad spēles objektus glabāt teksta failā vairs nav ērti. Šim nolūkam apsveru izmantot kādu datubāzi. Datu bāze pati par sevi nav problēma. Mani interesē princips pēc kāda vadīties ielādējot priekšmetus no tās. Ielādēt visus priekšmetus spēles sākumā saglabājot tos speciāli izveidotās struktūrās, ielādēt tikai, kad dotais objekts ir nepieciešams. Ļoti negribas izvēlēties nepiemēru variantu un pēc kāda laika atkal visu pārtaisīt... Skaids, ka katrai spēlei ir vajadzīga individuāla pieeja, taču trūkst pieredzes šajā jautājumā :)

Ja par to var kur palasīt, tad būtu ļoti jauki redzāt kādus atslēgas vārdus ko iedot tantei Gūglei.
_________________
while(!asleep()) sheep++;
Back to top
View user's profile Send e-mail
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Mon Apr 27, 2009 6:16 pm    Post subject:

Ko tur daudz domāt? Ja karte liela un atmiņā visa datoram neglabājas, tad lādē pa daļām, ja nav arī tuvu tai atmiņas pārsniegšanas robežai, tad var lādēt visu uzreiz.
Back to top
View user's profile Visit poster's website
Inf3rnal



Joined: 15 Jun 2006
Posts: 118
Location: Neverland

PostPosted: Mon Apr 27, 2009 6:20 pm    Post subject:

Karte pagaidam ir viena liela, kura glabājas teksta failā :) Es biju domājis tādus objektus kā ieročus, bruņas, maģijas, NPC un kvestus...
_________________
while(!asleep()) sheep++;
Back to top
View user's profile Send e-mail
elvman
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 09 Apr 2003
Posts: 1278
Location: Kuldiga

PostPosted: Mon Apr 27, 2009 6:35 pm    Post subject:

Njaa, gadījums diezgan individuāls. Bet nu ja tieshaam "RPG, ja to var apzīmēt ar tik spēcīgu vārdu" tad būs vien jalādē pa daļām t.i. kad ieraugi priekšmetu, ielādē tā attēlu atmiņā. Kad ilgaku laiku to vairs neizmanto, vari izdzēst.
_________________
long time; /* know C */
Back to top
View user's profile Visit poster's website
Tenjou



Joined: 22 Nov 2005
Posts: 275

PostPosted: Mon Apr 27, 2009 7:34 pm    Post subject:

Datubāzi izmantot, gan nebūtu korekti, ja domāts kā vienspēlētāja variants.
Iesaku izveidot tādus kā "skriptus" katram objektam un kvestam. Tad izveidot resursu failu, kurā būtu id(vai veidot tos vadoties pēc faila nsoaukuma) un failā atrašanās vieta.
Sākot spēli ielādē šo resursu failu un pēc ID arī ielādē objektu pēc pieprasījuma.
Back to top
View user's profile
Inf3rnal



Joined: 15 Jun 2006
Posts: 118
Location: Neverland

PostPosted: Mon Apr 27, 2009 7:44 pm    Post subject:

Tenjou wrote:
Datubāzi izmantot, gan nebūtu korekti, ja domāts kā vienspēlētāja variants.
Iesaku izveidot tādus kā "skriptus" katram objektam un kvestam. Tad izveidot resursu failu, kurā būtu id(vai veidot tos vadoties pēc faila nsoaukuma) un failā atrašanās vieta.
Sākot spēli ielādē šo resursu failu un pēc ID arī ielādē objektu pēc pieprasījuma.



Ar ko tad atšķiras "resursu fails" no kādas MS Access DB? Tik un tā viss sakujts tabulās un sakārtots pēc ID...
_________________
while(!asleep()) sheep++;
Back to top
View user's profile Send e-mail
Tenjou



Joined: 22 Nov 2005
Posts: 275

PostPosted: Mon Apr 27, 2009 7:50 pm    Post subject:

Nu jā, depends, kādu DB gribi izmantot. Man pirma asocācija ir kāda nopietnā datubāze ar serveri Smile.

Bet arī atkarīgs inviduāli, vienkāršu infu turēt ir ļoti okey. Citos gadījumos, atsevišķi faili katram objektam ir vienkāršāk un pārskatāmāk.
Back to top
View user's profile
Storm



Joined: 11 Apr 2006
Posts: 742

PostPosted: Mon Apr 27, 2009 8:52 pm    Post subject:

Pilniigi garaam, jaaizveido savs speeles kartes formats un tad tur arii jaaglabaa visa informaacija, ti db taisi pats, un katrai zonai teiksim buus savs db failins kuru ielaadees utt. Loti vienkaarsi un saprotami.
_________________
Izraadaas ka dazu dev.gamez.lv lietotaaju absurdaa ignorance meedz eksisteet arii augstaakas paakaapees : http://www.gamedev.net/community/forums/topic.asp?topic_id=411552
Back to top
View user's profile
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Mon Apr 27, 2009 9:10 pm    Post subject:

Inf3rnal wrote:
Karte pagaidam ir viena liela, kura glabājas teksta failā Smile Es biju domājis tādus objektus kā ieročus, bruņas, maģijas, NPC un kvestus...

Es arī. Karte jau norāda, kuri objekti lietoti. Wink

Nu jebkurā gadījumā es ieteiktu kontrolēt ielādēšanu ar bounding box'iem.

P.S. Vari ielādēt kartes failu un iekšēji glabāt ērtākā formātā. Tur jau nav īsti atšķirības tad tajā, kā to glabā ārēji, kamēr to var konvertēt uz nepieciešamo formātu.
Back to top
View user's profile Visit poster's website
Tenjou



Joined: 22 Nov 2005
Posts: 275

PostPosted: Mon Apr 27, 2009 9:53 pm    Post subject:

Storm: Autors manuprāt domāja objektus(ieročus, kvestus)..vai arī to Tu iesaki glabāt kartes formātā? Very Happy
Back to top
View user's profile
gazz



Joined: 03 Jan 2004
Posts: 355
Location: Teika

PostPosted: Tue Apr 28, 2009 1:20 pm    Post subject:

kaadaa formaataa to visu veelies glabaat ir atkariigs cik daudz tu vari un veelies sadaliit starp preprocessing un runtime daljaam. preproceseejot resursus tos saglabaajot aatri ielaadeejamaas un inicializeejamaas struktuuraas dos priekshroku gala lietotaajam, jo speeles ielaade notiks aatraak, un kas ir ljoti svariigi ja dinamiski tiek laadeeti resursi. savukaart ja veelies glabaat datus vienkaarshi teksta vai jebkuraa citaa plashi izplatiitaa eerti redigjeejamaa formaataa, tad atceries ka pie ielaades tev veel tie buus jaainizializee(jaanoparsee teksta/xml fails, jaakonvertee tekstuuras uz videokartes surfaceem), kas lielaakoties var tikt veikts preproceseeshnas faazee un saglabaats aatri ielasaamaa binaaraa formaataa. tas protams ir arii relatiivi no resursu apjoma/sarezhgjiitiibas, un iespeejams maziem proejktiem shii preproceseeshana un binaaru strukturuu izveide prasa vairaak liidzekljus nekaa ir reaals ieguvums.
Back to top
View user's profile Send e-mail
Storm



Joined: 11 Apr 2006
Posts: 742

PostPosted: Tue Apr 28, 2009 4:11 pm    Post subject:

Maacies no wow- vinjiem mpq failos ir dazaada veida db failinji kuri arii glabaa visas lietas. Itemu db buus viens, questu arii viens. Tad karte ir sadaliita apgabalos, kuros eksistee NPC. Ja npc piedaavaa kaadu kvestu tad vins vienkaarsi tur pie sevis taa kvesta ID un briidii kad NPC iekljuust tavaa redzamiibas zonaa NPC ielaadee no db atieciigi visus kvestus un paraada atieciigi savu kvesta ikonu - ti kvests pieejams, izpildiits, var panjemt jaunu etc. Pilniigs idiotisms buutu izmantot kautkaadu mySQL tur kur tu vari uztaisiit failu pats - piemeeram kaadu hashtable ar kvestiem. Ti buus taa ka NPC klase satur vienkaarsi savu objekta ID. Kad NPC ir redzamiibas lokaa no db tiek ielaadeets kvesti kas pieder atieciigajam quest giver ID un NPC atieciigi reagee ar savaam ikonaam or whaterver. Speeleetaaja failaa jaasaraksta tikai kaadi kvesti ir izpildiiti un progress neizpildiitajiem kvestiem, ko NPC nems veeraa kad piedaavaas kvestu, kvestam jaabuut arii taadam kaa conditions aprakstosam elementam, piemeeram:

enum QuestState : uint
{
COMPLETED,
FAILED,
}

int MinLevel;
int MaxLevel;
Dictionary<QuestID, QuestState> questStates;
blablabla, jaapraksta viss iespeejamais ko vien veelies

Un kad kvests tiek apskatiits, tad arii paarbauda vai viss ir piemerots speeletaajam, ti vai vins var tikt tam kvestam klaat.
_________________
Izraadaas ka dazu dev.gamez.lv lietotaaju absurdaa ignorance meedz eksisteet arii augstaakas paakaapees : http://www.gamedev.net/community/forums/topic.asp?topic_id=411552
Back to top
View user's profile
Inf3rnal



Joined: 15 Jun 2006
Posts: 118
Location: Neverland

PostPosted: Tue Apr 28, 2009 6:19 pm    Post subject:

Paldies par idejām! Šis tas noteikti noderēs.

Savietoju datus MS Access bāzē pa tabulām. Informāciajs iegūšana no DB, laikam, mazliet greizi sataisīta, taču viss darbojas Smile Tagad jāizdomā skaidra sistēma ko, kā un kur...
_________________
while(!asleep()) sheep++;
Back to top
View user's profile Send e-mail
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Apr 28, 2009 7:37 pm    Post subject:

SQL relāciju DB izmantot ir ok. Taču Access? Tas nu gan būtu viena no pēdējām DBPS, kuru es tādam mērķim izvēlētos.
Es pirmām kārtām skatītos uz SQLite datubāzi. Maza, ātra, embedēta, un ar vienkāršu API.


Last edited by bubu on Tue Apr 28, 2009 8:08 pm; edited 1 time in total
Back to top
View user's profile Send e-mail
Vecais_Dumais_Laacis
Guru
Guru


Joined: 29 Jan 2004
Posts: 800

PostPosted: Tue Apr 28, 2009 7:48 pm    Post subject:

mysql arii ir embed variants - http://dev.mysql.com/doc/refman/5.1/en/libmysqld.html
_________________
...un ja bites buutu laachi...
Back to top
View user's profile
Display posts from previous:   
dev.gamez.lv Forum Index -> Iesācējiem All times are GMT + 2 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group