Avatar billede brian0905 Nybegynder
13. september 2005 - 08:51 Der er 4 kommentarer og
1 løsning

Objektstruktur til spil søges

Hej,

Jeg sidder og vil til at implementere en spil engine i C# med DirectX. Jeg sidder og gransker min hjerne med at finde en objektmodel der kan genbruges igen og igen. Jeg kan ikke greje hvordan jeg skal modellere mine objekter. Lad os antage at jeg skal lave et 3D rumspil med rumskibe og halløj. Så skal jeg bruge et objekt der kan være mit eget rumskib, det skal så have nogle andre objekter der kan være dets mesh (3D model), det skal også kende til sine våben, sine skud osv. Samtidig skal det indgå i mit rendertree, dvs. det skal kunne tegne sig selv... osv. osv. Men jeg skal også bruge nogle fjender og nogle baser, dvs. nogle generelle objekter jeg kan styre og som kan tegne sig selv. Indtil videre har jeg noget der ligner dette:

* Et scene objekt hvor alle objekter lever i. Det indeholder en træstruktur der er de objekter der skal tegnes i scenen.

* Hver knude i træet har så tilknyttet dette "mystiske" objekt som jeg skal finde strukturen på som træet så beder om at tegne sig selv. Herefter beder knuden alle sine childs om at tegne sig selv.

OVERVEJELSER

* Skal scenen have en liste af træer eller kun et træ? Således er hvert træ logisk forbundet. Fx. et træ til fjender, et træ til rumskib og alt muligt. Og et træ til alle andre elementer.

Nogle der kan komme med andre forslag til dette eller med konkrete eksempler på en simpel engine. Sprog er ligegyldigt, jeg vil ikke se kode, men have ideer, tak.
Avatar billede ingenproblem Nybegynder
13. september 2005 - 09:36 #1
ok, men du sagde at sprog var ligegyldigt, så

Ja würde ich vorschlagen, daß der Hintergrund von den mehrfachen tress anstelle von nur einem gebildet wurde, es bilde es Blick weniger leer plus den einzelnen alleinBaum dosn't Standplatz. Der mystische Gegenstand konnte eine Klinge zum Beispiel sein, getragen durch einen Held. Der Held könnte eine Partei der Hintergrundbuchstaben haben, die weniger wichtige Abbildungen sein konnten, das den Held für das Tragen des mystischen Gegenstandes/der Klinge ehrt. Bester Respekt
Avatar billede brian0905 Nybegynder
13. september 2005 - 10:03 #2
Det er jeg også nået frem til. Men for at gøre objektstrukturen så generel som muligt, vil jeg helst ikke skelne mellem den type objekter der danne baggrunden og dem der danner min spiller. I princippet er det den samme type objekt, men den bliver blot kontrolleret af mig som spiller. Hva nu hvis man delte træerne op i to stk. dem der udgør alle terræn/elementer i min scene (eks. sten, træer, huse osv.) og dem der udgår elementer der rent faktisk skal kontrolleres (mig som spiller samt alle modspillere), således min scene hver gang blot skulle kalde Render(); på root noden i hvert træ, og så vil det hele opdatere sig. Jeg ser det også lidt som om at der er et lille træ i træet, dvs min helt/rumskib skal have sine egne objekter den kan hente informationer fra, fx. mesh, lyd, AI osv. Dette vil betyde at et blad i mit rendertræ, rent faktisk er den første node i mit objekt hierarki... giver det mening ?
Avatar billede arne_v Ekspert
13. september 2005 - 10:49 #3
måske skulle du kigge lidt på GoF Composite pattern
Avatar billede brian0905 Nybegynder
13. september 2005 - 11:45 #4
Naturligvis, havde glemt alt om patterns, mente ikke det var komplekst nok til dette, men reelt er det ikke komplekst, men meget enkelt, ligesom et composite pattern :-) Det var ligefremt hyggeligt at skimme de gamle bøger fra GoF igennem igen... det kan bestemt ikke gøres for ofte.

Giv lige et svar arne :-)
Avatar billede arne_v Ekspert
13. september 2005 - 12:41 #5
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester