27. maj 2005 - 13:03Der er
4 kommentarer og 1 løsning
hvordan laver man et godt gruppe filformat
jeg ved ikke om i har lagt mærke til at næsten alle spil bruger et mærkeligt filformat som f.eks. .kxq til at indeholde textur, musik m.m hvordan kommer man godt i gang med lave sit eget gruppe filformat :-))
Jeg vil umiddelbart sige at du starter fra den forkerte side. Uden at kende det nævnte format vil jeg tro at de spil du omtaler bruger en fællet "Grafik/Spil-motor" som anvender det nævnte format (firmaer der laver spil kan dels tjene penge på selve spillet og hvis deres "motor" er god nok kan de sælge den til andre spil-fabrikanter som således kan skære omkostninger/udviklingstid væsentlig ned).
Hvis du "opfinder" et godt filformat så vil det nok også blive brugt, men jeg tror bare ikke at man kan sætte sig ned og sige "nu vil jeg gerne opfinde et godt format som alle vil bruge". Målet med at lave noget bedre end andre fordre at du kender de krav der stilles til et sådan format, samt hvilke svagheder det nuværende format har, som du vil være i stand til at gøre bedre. Det er eksempelvis ikke meget idee i at udvikle et pakke-filformat/algoritme der er langsommere end zip og fylder væesentligt mere (der er nok ikke mange der vil bruge det <G>).
Jeg tror ikke der er noget specifikt format til spil. De har nogle datafiler de skal benytte til forskellige ting. Eksempelvis textur og musik. Det de har behov for er lagring og en forholdsvis let måde at få fat i tingene på. Derfor er det fil strukturen der er alfa omega - og ikke om det er komprimeret eller ej.
De fleste formater jeg er faldet over, er struktureret så der er en type genkendelse i starten, et versionsnummer, og dernæst er der størrelse på næste "segment". Det kan være antal "enheder" der er gemt - og en enhed har så en given størrelse - så kan de læse en enhed ind af gangen - og når de er slut, så er det måske slut på filen eller der starter en ny type enhed osv.
Det vigtigste er nok, at der er et index over objekter og en start adresse pr. objekt, hvor et objekt kan være textur, musik osv. På den måde skal indekset læses ind og så er der random access til alle objekter i filen, hvilket gør det let af få adgang til data der skal benyttes.
Hvis det er data du ikke altid har behov for, så lave det indekseret, for så kan du indlæse de ting du skal bruge efterhånden. Hvis det er et "level" / "bane", så er det lige meget, for så skal det hele indlæses med det samme og indekset er overflødig.
Du vil nok ikke opleve at du opfinder den dybe tallerken - men blot benytter den. Det vigtigste er, at det virker for dig. Sådan har de fleste spilproducenter det også.
grunden til at jeg spørger her, er fordi jeg er ved at lave et lille spil, og som bekendt bruger det mange små lydstumper og billeder, og så tænkte jeg på at lave en fil der indeholder disse ting. :-))
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.