Programmieraufwand für ein Spiel wie GTA San Andreas



  • Sgt. Nukem schrieb:

    Pellaeon schrieb:

    @rapso: Zur Qualität der Physikengine: ich rede hier von Spielen, wovon redets du?

    Dir ist aber schon aufgefallen, daß Spiele (nicht nur) grafisch und soundtechnisch in der Entwicklung in den letzten Jahren nicht stehen geblieben sind?!? 😕

    Hm in der Tat 😛 vor Jahren gabs auch noch keine Pyhsikengines in Spielen. Trotzdem muss man Nutzen/Aufwand abschätzen. Und die Prozessoren sind nunmal auch nicht in der Entwicklung stehen geblieben.



  • Pellaeon schrieb:

    Grafik- und Soundberechnungen sind nun mal stark spezialisiert, da werdeb bestimmte Logikschaltkreise stark beansprucht, andere fast garnicht. Daher lohnte sich hier die Spezialisierung, vor allem bei der Grafik.

    collisiontest von physikengines sind auch sehr speziallisiert, z.b. schalten viele heutige 3d engines die genauigkeit von prozessoren runter um schneller zu sein, physicengines müssen hingegen eine sehr hohe genauigkeit ihrer berechnungen haben z.b. um den ruhepunkt zu bestimmen, dazu werden öfter daten spezialisiert abgelegt z.b. vektoren normalisiert und seperat ihre länge.

    Pellaeon schrieb:

    Bei der Physik sehe ich den Sachverhalt so nicht vorliegen. Und warum ne extra Chip kaufen, wenn man bei MultiCore eh welche "über" hat, die man dafür verwenden kann. So sehen es z.B. auch die Entwickler bei Cry Tec. Das stand mal in einem Interview.
    @rapso: Zur Qualität der Physikengine: ich rede hier von Spielen, wovon redets du? Dass du ne Reallife-Simulation willst?

    bei der heutigen physik in spielen sehe ich das auch nicht gegeben, ein paar hundert boxen in einer techdemo, oder 10boxen in spielen die ein wenig trägheit und masse(punkte) haben entsprechen einem niveau von wireframe-graphic.

    Pellaeon schrieb:

    Klar für wissenschaltiche Berechnungen oder in Firmen wo das nötig ist, die haben da so hohe Anforderungen. Die werden aber auch andere Computersysteme benutzen als einen "Haus-PC", von daher wird denen so eine Physik-karte auch schnurzpiepe sein.
    Ich halt jedenfalls nicht viel von so einer extra Karte für Spiele. Es werden ja oft nicht mal die Möglichkeiten genutzt, die jetzt schon möglich sind.

    die möglichkeiten werden oft nicht genutzt, weil man es doppelt programmieren muss, für die die eben solche karten/features in ihrem pc haben, und die die eben nur alte hardware haben. manchmal sparrt man sich das eben indem man das einbaut was die meisten haben.

    rapso->greets();



  • Pellaeon schrieb:

    Sgt. Nukem schrieb:

    Pellaeon schrieb:

    @rapso: Zur Qualität der Physikengine: ich rede hier von Spielen, wovon redets du?

    Dir ist aber schon aufgefallen, daß Spiele (nicht nur) grafisch und soundtechnisch in der Entwicklung in den letzten Jahren nicht stehen geblieben sind?!? 😕

    Hm in der Tat 😛 vor Jahren gabs auch noch keine Pyhsikengines in Spielen. Trotzdem muss man Nutzen/Aufwand abschätzen. Und die Prozessoren sind nunmal auch nicht in der Entwicklung stehen geblieben.

    Vor Jahren gab's auch noch keine richtigen 3D-Engines oder Bumpmapping, oder, oder, ...

    Also ruf' bitte nVidia und ATI an, die simplen VESA-kompatiblen Karten tun es jetzt wieder, schließlich sind Prozessoren nunmal nicht in der Entwicklung stehen geblieben.

    Ich halt jedenfalls nicht viel von so einer extra Karte für Spiele. Es werden ja oft nicht mal die Möglichkeiten genutzt, die jetzt schon möglich sind.

    Tja, das wurde bei den ersten echten 3D-(Voodoo)-Karten anfangs auch nicht.
    Für ein paar wenige Spiele gab's extra Patches für Glide Unterstützung.

    Aber hätte es die nicht gegeben, gäb's jetzt höchstwahrscheinlich keine 7800er und X800er Karten. 💡

    Ein paar Vorreiter braucht's immer.

    Aber wir akzeptieren selbstredend, daß Du nicht soviel von so einer Karte hälst. 💡 😉

    Laß uns nur bitte zu einer 600-€-GraKa und 150-€-SoundKa auch eine 100-€-PhyKa kaufen... 😋



  • Sgt. Nukem schrieb:

    Laß uns nur bitte zu einer 600-€-GraKa und 150-€-SoundKa auch eine 100-€-PhyKa kaufen... 😋

    Klar, vielleicht kriegst Du sie ja im Bundle mit einer Textverarbeitungskarte? :p



  • Jester schrieb:

    Sgt. Nukem schrieb:

    Laß uns nur bitte zu einer 600-€-GraKa und 150-€-SoundKa auch eine 100-€-PhyKa kaufen... 😋

    Klar, vielleicht kriegst Du sie ja im Bundle mit einer Textverarbeitungskarte? :p

    Warum denn?! Dual-Core ist doch jetzt schwer im Kommen... 😃 *SCNR*

    Lieber würde ich den kompletten TCP/IP Stack in Hardware gegossen sehen.



  • Jester schrieb:

    Sgt. Nukem schrieb:

    Laß uns nur bitte zu einer 600-€-GraKa und 150-€-SoundKa auch eine 100-€-PhyKa kaufen... 😋

    Klar, vielleicht kriegst Du sie ja im Bundle mit einer Textverarbeitungskarte? :p

    Dazu gibts dann noch eine HTML-Karte, eine Java-VM-Karte und eine Spracherkennungskarte. Für jede dieser Karten wird dann ein Verein gegründet, der eine API festlegt und deren zukünftige Entwicklung begleitet. Die Programmierer müssen geschult und neue Bücher geschrieben werden. ABM für arbeitslose Akademiker also.

    Das lustige daran ist dass die zukünftige Versionen der Karten noch besser programmiert werden können und sich so die Karten langsam aufeinander zu entwickeln. 👎



  • Jo ihr habt recht.

    IBM hätte damals bei der Entwicklung des IBM PCs die Erweiterungsslots ausbauen sollen, und Erweiterungskarten zur Customisierung verbieten sollen.

    Sound und Grafik gehen direkt über MMIO von der CPU über ein paar simpelste DACs ohne weitere Intelligenz nach draussen. 👍



  • Sgt. Nukem schrieb:

    Also ruf' bitte nVidia und ATI an, die simplen VESA-kompatiblen Karten tun es jetzt wieder, schließlich sind Prozessoren nunmal nicht in der Entwicklung stehen geblieben.

    Lies selber nach, irgendwo weiter oben habe ich geschrieben, das Grakik- und Soundkarten ihren Sinn haben :p
    Aber wie jemand anders schon gepostet hat, für jedes Extra ne eigene Karte ist nicht gerade sinnvoll.

    Kollisionsabfrage vs. die komplette Renderpipeline, was hat da wohl mehr ne Daseinsberechtigung ... 🙄



  • Pellaeon schrieb:

    Lies selber nach, irgendwo weiter oben habe ich geschrieben, das Grakik- und Soundkarten ihren Sinn haben :p

    Klar. Copyright by Pellaeon. 😉

    Pellaeon schrieb:

    Aber wie jemand anders schon gepostet hat, für jedes Extra ne eigene Karte ist nicht gerade sinnvoll.

    Sicher nicht, so lange ein gewisser Kosten/Nutzen-Faktor überschritten ist. 💡

    Pellaeon schrieb:

    Kollisionsabfrage vs. die komplette Renderpipeline, was hat da wohl mehr ne Daseinsberechtigung ... 🙄

    Die Renderpipeline, ganz klar. Aus diesem Grund wurde sie ja auch zuerst in Hardware gegossen, und Consumer-3D-Karten existieren seit 'ner Dekade.
    Physik war bis vor "kurzem" ja auch nicht wirklich ein Thema.

    Aber die Zeiten ändern sich nunmal:

    Die Unreal Engine 3

    <a href= schrieb:

    http://www.unrealtechnology.com/html/technology/ue30.shtml"># Renderable Mesh: We build renderable meshes with 3,000-12,000 triangles, based on the expectation of 5-20 visible characters in a game scene.
    # Detail Mesh: We build 1-8 million triangle detail meshes for typical characters. This is quite sufficient for generating 1-2 normal maps of resolution 2048x2048 per character.
    # Bones: The highest LOD version of our characters typically have 100-200 bones, and include articulated faces, hands, and fingers.

    bietet um die 10.000 Dreiecke pro Charakter, mit bis zu 20 gleichzeitig sichtbaren Charaktern.
    Auch die Umwelt hat sich von der Handvoll Polys für ein komplettes Quake-1-Level gewandelt, wo Doom 3 diese Menge in einer einzelnen Röhre verbrät.
    Dicke Bounding-Box-Tests sind auch nicht mehr gewünscht. Und eine Doom-3-like Triangle-genaue Kollision mit oben genannten Ausmassen lutscht nun mal ordentlich was weg.
    Auch ist Genauigkeit wichtig. Das Nutzen von bei der Berechnung performanz-steigernd wirkender Extensions wie SSE(2) zieht immer Context-Wechsel (Hin- und Herschalten) in der CPU nach sich, so daß für jedes Umschalten ein ordentlicher Batzen Takte nur dafür draufgeht.
    Ein Physikprozessor wär' genau dafür ausgerichtet. Kann wenn er will auf 256-Bit-floats optimiert sein.
    Oder stell' Dir den geilen See aus FarCry vor. Und damit meine ich nicht nur die wundervoll per Shader in Szene gesetzten Wellen, die leider nur "bells and whistles" sind. Sondern komplett interagierbares Wasser. Wasserbombem lassen riesen Flutwellen entstehen.
    Oder Büsche die sich beim Durchgehen physikalisch korrekt umbiegen, beim Zurückdrallen Blätter verlieren, die vom thermischen Auftrieb erstmal in die Luft gerissen werden. *jauchz*
    Oder was auch sehr schön aktuell ist: Von der Physik beeinflusste Soft-Partikel-Systeme. Rauch steigt nicht einfach nach oben, sondern wird komplett vom Wind beeinflusst. Triebwerke erzeugen Strudel im Rauch wie bei Die Hard 2.

    Also ich will sowas! 😋 👍



  • ...und später kann man dann mit dem Raketenwerfer den Flusslauf ändern!! 😃 👍

    Achja: Und es ist ja nicht so, daß Dein DualCore Däumchen drehen muß. Bis es den AI-Prozessor gibt, sollten sie die übriggebliebende Leistung erstmal für KI verbrauchen.

    Wenn meine eigenen Leute mir im Weg rumstehen ist die ganze "Immersion" nämlich für'n Arsch!! 👎 😡



  • Jo *Rofl* Unreal-Macher haben schon immer gern einfach mal die Polygonanzahl in die Höhe getrieben^^. Doom3-Engine hat da ja neue Wege aufgetan(Bump, - Normalmapping und was da so immer besser gemacht wird)



  • Pellaeon schrieb:

    Jo *Rofl* Unreal-Macher haben schon immer gern einfach mal die Polygonanzahl in die Höhe getrieben^^. Doom3-Engine hat da ja neue Wege aufgetan(Bump, - Normalmapping und was da so immer besser gemacht wird)

    Detail Mesh: We build 1-8 million triangle detail meshes for typical characters. This is quite sufficient for generating 1-2 normal maps of resolution 2048x2048 per character.

    ⚠



  • Sgt. Nukem schrieb:

    Jo ihr habt recht.

    IBM hätte damals bei der Entwicklung des IBM PCs die Erweiterungsslots ausbauen sollen, und Erweiterungskarten zur Customisierung verbieten sollen.

    Sound und Grafik gehen direkt über MMIO von der CPU über ein paar simpelste DACs ohne weitere Intelligenz nach draussen. 👍

    Vielleicht kannst Du einfach mal ohne jegliche Polemik und sonstigen Kram erklären, warum es so verdammt sinnvoll ist für jeden Furz eine eigene Erweiterungskarte zu haben?

    Bei der GraKa ist das einzusehen, weil hier heftige Manipulationen pro Pixel nötig sind. Bei der Physik kann das aber schon Polygonweise erfolgen und ist damit kein wirkliches Argument mehr. Die Soundkarte, ach ne. Das ist mir jetzt zu blöd zu begründen und Du weißt eh was wir meinen.



  • Sgt. Nukem schrieb:

    Pellaeon schrieb:

    Jo *Rofl* Unreal-Macher haben schon immer gern einfach mal die Polygonanzahl in die Höhe getrieben^^. Doom3-Engine hat da ja neue Wege aufgetan(Bump, - Normalmapping und was da so immer besser gemacht wird)

    Detail Mesh: We build 1-8 million triangle detail meshes for typical characters. This is quite sufficient for generating 1-2 normal maps of resolution 2048x2048 per character.

    ⚠

    Mag sein, aber dafür geht die Physik-Engine in Doom 3 besser^^



  • Jester schrieb:

    Vielleicht kannst Du einfach mal ohne jegliche Polemik und sonstigen Kram erklären, warum es so verdammt sinnvoll ist für jeden Furz eine eigene Erweiterungskarte zu haben?

    glaubst du es besser zu wissen was furz und was tornado ist, als die die sich bisher mit der cpu abquälen um ein wenig physik zu bekommen?

    Jester schrieb:

    Bei der GraKa ist das einzusehen, weil hier heftige Manipulationen pro Pixel nötig sind.

    die ersten consumer-3d-grakas haben 0 nutzen gehabt, sie waren afaik manchmal sogar _langsammer_ als die cpu es wäre, weil sie eben generisch waren während die cpu spezialisiert für ein zeichenverfahren sein konnte. das änderte sich erst ab der voodoo für läppische 850DM.

    Jester schrieb:

    Bei der Physik kann das aber schon Polygonweise erfolgen und ist damit kein wirkliches Argument mehr.

    kann es leider nicht, dynamische objekte werden heutzutage in fast allen spielen mit primitiven wie boxes,spheres usw. approximiert, weil eine polygon vs polygon prüfung so gut wie immer viel zu langsam wäre. schau dir nur an wie doom3 (was das macht) für lowpoly charaktäre hat im vergleich zu quake4 wo sie wieder auf boxen setzen.

    Jester schrieb:

    Die Soundkarte, ach ne. Das ist mir jetzt zu blöd zu begründen und Du weißt eh was wir meinen.

    ja, soundkarten sind überflüssig. sie sind so verdammt überflüssig, dass viele konsolenhersteller sich immerwieder überlegen den sound dafür auf der cpu berechnen zu lassen und es dann nur wegen dem marketing doch nicht machen. sie sind so verdammt überflüssig dass manche hersteller von soundkarten schon alles auf der cpu berechnen lassen(per treiber) und nur noch reine digital->analog wandlung auf der karte machen. sogar creativ labs muss sich immer wieder blödsinn ausdenken um die karten noch zu verticken, wenn man das geld das man in einer soundkarte steckt, in eine bessere cpu stecken würde, hätte man weit mehr davon.

    rapso->greets();



  • Pellaeon schrieb:

    Mag sein, aber dafür geht die Physik-Engine in Doom 3 besser^^

    jetzt weißt du auch weshalb die chars dort so sehr lowpoly sein _müssen_

    rapso->greets();



  • rapso schrieb:

    Pellaeon schrieb:

    Mag sein, aber dafür geht die Physik-Engine in Doom 3 besser^^

    jetzt weißt du auch weshalb die chars dort so sehr lowpoly sein _müssen_

    rapso->greets();

    Jo und trotzdem sieht es wohl nicht gerade sclecht aus oder? Zumindest was die engen Innenlevel angeht.

    Nochmal zur Physik: ich bezweifel das die polygongenau Berechnung übrrhaupt nen Nährwert hat. Entsprechende Anzahl an Boundingboxen tuts auch. Wenns 1 mm daneben war merkt der Spieler das eh nicht. Um gleich vorzubeugen: ich meine mehr als eine oder 2 große Boxen, dass das zu ungenau ist, ist klar^^



  • Pellaeon schrieb:

    Jo und trotzdem sieht es wohl nicht gerade sclecht aus oder? Zumindest was die engen Innenlevel angeht.

    naja, bis auf das lowpoly schaut es super aus.

    Pellaeon schrieb:

    Nochmal zur Physik: ich bezweifel das die polygongenau Berechnung übrrhaupt nen Nährwert hat. Entsprechende Anzahl an Boundingboxen tuts auch. Wenns 1 mm daneben war merkt der Spieler das eh nicht. Um gleich vorzubeugen: ich meine mehr als eine oder 2 große Boxen, dass das zu ungenau ist, ist klar^^

    klar, genug boxen würden es auch tun, die menge an boxen würde aber wiederrum nicht flüssig simulierbar sein. wenn du dir heutigen spiele anschaust dann siehst du dass nur ein paar momentelang physik für ein paar wenige objekte simuliert wird und sonst die ganze zeit aus ist.
    der novodex prozessor dürfte einige schöne dinge endlich erlauben, dann müßten nicht alle frauen die in spielen vorkommen kurzhaarige brünette sein mit eingebackenem haar 😉

    rapso->greets();



  • rapso schrieb:

    Jester schrieb:

    Bei der Physik kann das aber schon Polygonweise erfolgen und ist damit kein wirkliches Argument mehr.

    kann es leider nicht, dynamische objekte werden heutzutage in fast allen spielen mit primitiven wie boxes,spheres usw. approximiert, weil eine polygon vs polygon prüfung so gut wie immer viel zu langsam wäre. schau dir nur an wie doom3 (was das macht) für lowpoly charaktäre hat im vergleich zu quake4 wo sie wieder auf boxen setzen.

    "Es kann Polygonweise erfolgen" im Gegensatz zu: "Es muß pixelweise erfolgen." Wenn wir in Zukunft einen zweiten Prozessor (Dual-Core) zur Verfügung haben sollte sowas doch machbar werden, oder?

    rapso schrieb:

    ja, soundkarten sind überflüssig. sie sind so verdammt überflüssig, dass viele konsolenhersteller ...

    Bei meiner Kaffee-Maschine wäre eine Soundkarte btw auch überflüssig.
    Wir reden hier aber vom PC.



  • Jester schrieb:

    "Es kann Polygonweise erfolgen" im Gegensatz zu: "Es muß pixelweise erfolgen." Wenn wir in Zukunft einen zweiten Prozessor (Dual-Core) zur Verfügung haben sollte sowas doch machbar werden, oder?

    nein, leider nicht, bis 4cores kann man locker rechenleistung aufteilen. z.b. schafft man heutzutage mit direkt3D maximal 3000renderaufrufe pro frame damit ein spiel auf neusten cpus noch einigermassen flüssig läuft. also nur die aufrufe! (quelle ist nvidia und microsoft). der zweite core ist also schon verplannt für die abarbeitung der renderpipe.
    im ganzen lässt sich das einfach aufteilen:
    -scenegraphupdate
    -culling
    -renderjoblist
    -lazyresourceloading
    diese dinge sind relativ trivial unabhängig voneinander handhabbar.

    Jester schrieb:

    Wir reden hier aber vom PC.

    klingt fast als hättest du nicht verstanden was ich sagen wollte(my fault?). aber ich sage es gerne noch expliziter: audioprozessoren sind überflüssig. eine soundausgabemöglichkeit, also d/a-wandler ist vollkommen ausreichend.

    rapso->greets();


Anmelden zum Antworten