Vi er i den uheldige situation at vi forsøger at bygge et spil ovenpå et framework som lige nu ikke er specielt egnet til det; Det er oplagt at man, for at have en fungerende kunstig intelligens, må have en eller anden form for spil.
Vi har imidlertid gjort en række fremskridt. For det første fik vi fikset en seriøst irriterende bug; vores fysikmotor blev ved med at hælde kinetisk energi på vores Rigidbox uden at vi anvendte andet end tyngdekræften på den, og det kunne vi naturligvis ikke forstå. Selv med bouncyness og selvforstærkende fejl-faktorer burde vores fysik sikre et leaky energisystem, altså et system med konsekvent aftagende energi, frem for et tiltagende energisystem (den sidste type har det met at eksplodere). Til sidst fandt vi ud af, at der rigtignok var tale om energitilvækst; af uvisse årsager blev accelerationen på de enkelte partikler, i forbindelse med transformationen i vores fysikmotor, kummuleret i cycle efter cycle. Specielt tyngdekraften har på denne måde nået enorme højder. Da vores relaxation sker i samme rækkefølge i hver cycle forstærker det fejlene stille og roligt, og højner den kinetiske energi i systemet indtil det eksploderer. Med den bug fixet er tyngdekraften mere tilgivende, men ikke meget.
Envidere har vi fundet, at kræfterne vi påviker partiklerne med ikke har udgangspunkt inde fra den transformationsmatrix hvor modellen bliver tegnet; de bliver derimod sat på ude i rummet hvor terænnet bliver tegnet. Vi kunne ikke overskue at modificere motoren så de ville have udgangspunkt i modellens system, men det forklarer hvorfor vi har haft problemer med at anvende partiklerne til at styre med.
Kombineret med at vi translater vores kamera før vi rotterer det (en fejl vi vil rette i morgen) gør at vores spil lige nu er ret uholdbart, men der er håb forude. At kalde rotate på kameraet før vi kalder translate vil være trivielt, og at nu hvor vi ved hvordan vi transformerer partiklerne har vi været i stand til at udvikle nogle metoder til at komme videre.
For det første anvender vi nu accelereret translation til at flyve vores tank rundt. For det andet har vi udviklet en funktion som nustiller tankens retning og kraftpåvirkning, hvilket betyder vi kan genoprette efter et crash. For det tredje kan vi, nu da vi ved hvordan motoren virker, bygge en AI styret tank som kan følge et antal waypoints. Således er løsningen af opgaven inden for rækkevidde, omend styringen bestemt vil være noget for sig.
mandag, oktober 15, 2007
Abonner på:
Kommentarer til indlægget (Atom)




Ingen kommentarer:
Send en kommentar