Programmieraufwand für ein Spiel wie GTA San Andreas



  • rapso schrieb:

    du zittierst den falschen

    🤡 👍 🤡



  • Jester schrieb:

    Vielleicht kannst Du einfach mal ohne jegliche Polemik

    Nein, leider nicht. 😃

    Jester schrieb:

    und sonstigen Kram erklären, warum es so verdammt sinnvoll ist für jeden Furz eine eigene Erweiterungskarte zu haben?

    Okay, genauer: Für Dich, dessen Hobby sein Auto und die Briefmarkensammlung ist, und der Du ab und zu mal Solitär auf dem Rechner spielst, ist diese genannte Erweiterungskarte sicher _NICHT_ sinnvoll. Ich rate dringendst von einem Kauf ab! 💡
    Der Unterschied besteht darin, daß wir beide "Furz" offensichtlich unterschiedlich definieren.
    Für mich ist ansprechende Physik in einem Spiel nicht nur nette Dreingabe.
    Wenn Du natürlich auch FarCry auf einer GeForce 2 gespielt hast, kannst Du halt nicht mitreden.

    Meiner Oma beizubringen, was so verdammt sinnvoll an einem Porsche ist, wird auch schwer... 😉

    Disclaimer: Dieser Absatz enthält keinerlei persönliche Angriffe! Auch sind die Hobbies nur vom Autor geschätzt und müssen nicht unbedingt den Tatsachen entsprechen!

    Jester schrieb:

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

    Die ersten 3D-Consumer-Karten machten auf Pixelebene nicht mehr als ein bißchen Z-Puffer-Arithmetik (wenn überhaupt - jeder kennt doch noch die Clipping-Fehler aus Tomb Raider?!). 💡

    Pellaeon schrieb:

    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^^

    Öhh... ist ein Spiel mit der Unreal Engine 3 schon erschienen?!? 😮



  • Pellaeon schrieb:

    Nochmal zur Physik: ich bezweifel das die polygongenau Berechnung übrrhaupt nen Nährwert hat. Entsprechende Anzahl an Boundingboxen tuts auch.

    Bei genügend genauen BB ist der Vorteil aber wieder dahin. 😉

    Denke auch weiter: Partiell zu differenzierende Flächen wie Vorhänge oder interagierbare Wasserflächen sind auch nicht unbedingt ein Klacks.

    rapso schrieb:

    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 😉

    *chr* 😃

    Ich sag' nur "Bouncing Boobs" bei CDV... 🤡 👍

    Und ab dem 2. (?) TR hatte Lara doch auch 'nen schwimmenden Zopf?! 🙂

    rapso schrieb:

    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.

    Würde ich nicht direkt unterschreiben.
    Nicht nur wegen der Effekte.
    Bei einigen Titeln geht die Performance ganz schön in den Keller, wenn statt Hardware- Software-Rendering benutzt wird.



  • Sgt. Nukem schrieb:

    Meiner Oma beizubringen, was so verdammt sinnvoll an einem Porsche ist, wird auch schwer... 😉

    das nennt man "muttergespräche", nachdem man stundenlang logisch jedes argument wiederlegt hat, kommt eine total irrationale behauptung und während man perplext dahinstarrt wird das gespräch als beendet angesehen *Fg*

    Sgt. Nukem schrieb:

    Die ersten 3D-Consumer-Karten machten auf Pixelebene nicht mehr als ein bißchen Z-Puffer-Arithmetik (wenn überhaupt - jeder kennt doch noch die Clipping-Fehler aus Tomb Raider?!). 💡

    sagema, spinnst du? zbuffer? weißt du was 512kb ram kosten? ne ne... also erst seit der voodoo wurde der zbuffer ab und zu verschwendet. zudem sind clippingbugs usw. in der ersten generation der grakas auch nur softwarebugs, da sie selbst garkein tri-setup gemacht haben, sondern nur reines linienfüllen.

    rapso->greets();



  • @Sgt. Nukem: da hab ich eigentlich auch garkeine Lust mehr zu antworten. 👎



  • rapso schrieb:

    du zittierst den falschen, außer in bezug auf audio-cpus bin ja ja der gleichen meinung... nur die letzten 3postings gelesen? *Fg*

    rapso->greets();

    Schon gelesen nur wieder vergessen bis ich geantwortet hatte 😉 Okay, aber selbst deine Meinung zu Soundprozessoren teil ich nicht, der Rest trifft dann wohl eher Pellaeon mit seiner Meinung DualCore Prozzesoren haben ja genug Leistung übrig 😉

    Selbst bei Multithreading wird der zweite Core nicht automatisch gut genutzt, nicht umsonst gibts Frameworks und spezielle Compiler die das verbessern sollen.



  • Jester schrieb:

    @Sgt. Nukem: da hab ich eigentlich auch garkeine Lust mehr zu antworten. 👎

    Und bitte warum?!? 🙄

    Naja, eigentlich ist die Sache auch ausdiskutiert. 💡



  • Sgt. Nukem schrieb:

    Jester schrieb:

    @Sgt. Nukem: da hab ich eigentlich auch garkeine Lust mehr zu antworten. 👎

    Und bitte warum?!? 🙄

    Vielleicht weil du keine Argumente bringst?

    Das einzige was ich gehört habe sind die unmengen an Polygone für die Kollisionstests durchgefürht werden sollen. Blos wofür sind die nötig?

    Sgt. Nukem schrieb:

    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*

    Was müsste deine Karte können um das zu erreichen? Irgendwie müssen die physikalisch korrekt berechneten Daten dann an die GPU übertragen werden. Gibts dafür einen extra Bus, oder wie stellst du dir das vor? Wäre es nicht sinnvoll wenn dein Physik-Chip und GPU einen gemeinsamen Speicher hätten? Würden andere Anwendungen außer Spiele auch vom Physik-Chip profitieren? Welche?
    Es scheint mir irgendwie so, als willst du die Existenz irgend eines noch nicht existierenden Proll-Objekts rechtfertigen.

    Sgt. Nukem schrieb:

    Naja, eigentlich ist die Sache auch ausdiskutiert. 💡

    Genau! So was gibts nicht, brauchts nicht und wirds folglich (hoffentlich) auch nicht geben. Vielleicht solltest du im Marketing arbeiten. 💡

    Wir sind hier übrigens ziemlich OT. ⚠



  • jakob.f schrieb:

    Was müsste deine Karte können um das zu erreichen?

    unheimlich viele kollisionsberechnungen zwischen vielen dynamischen körpern in unglaublich kurzer zeit.
    das ganze ist einfach zu berechnen, du hast n objekte die mit n anderen objekten kollidieren können, dafür mußt du jedes objekt in den raum des anderen objektes transformieren um dann zu prüfen ob es kollisionen gibt und wo es die kollisionen gibt. O(n^2) (eventuell O(n*log(n))
    dazu gibt es weitere probleme wie z.b. ruhepunkte finden. in manchen spielen siehst du wie objekte rumzucken die eigentlich still auf dem boden liegen sollten, was eben so ein problem ist. dann gibt es probleme wie z.b. ein objekt der in einen V-förmigen körper fällt. eigentlich müßte es ja dort einfach steckenbleiben, leider wird es bei einer ungenauen kollision nur mit einer der beiden wände von V kollidieren und dabei in die andere wand dann weggeschoben und findet nie den ruhepunkt.
    um solche probleme zu lösen muss man sehr viel rechenpower haben UND sie muss sehr sehr genau sein UND die zeitschritte für diese berechnungen (kleine zeitschritte sind der einfachste Weg, gibt noch x-dimensionale körper und ihre kollisionsberechnung als alternative) müssen klein sein, oft so klein, dass man nach einer kollision rekursiv das zeitdelta halbiert um den genauen schnittpunkt (bzw wieviele schnittpunkte es gab) ausrechnen zu können. also nochmals ne komplexitätssteigerung. am ende ist man wohl bei ca O(n^3). wobei n die anzahl der dynamischen körper ist, kollisionen von dynamischen vs statischen körpern ist nicht ganz so kritisch und wird deshalb am öftesten eingesetzt.

    Irgendwie müssen die physikalisch korrekt berechneten Daten dann an die GPU übertragen werden. Gibts dafür einen extra Bus, oder wie stellst du dir das vor?

    dafür gibt es den PCIe-bus. wobei die einfachste ausführung eigentlich reichen müßte. für die meisten dinge wird man einfach nur matrizen einfüttern müssen und dann matrizen auslesen.

    Wäre es nicht sinnvoll wenn dein Physik-Chip und GPU einen gemeinsamen Speicher hätten?

    ja, das wäre sogar sehr gut und ein paar ATI mitarbeiter hatten das auch vorgeschlagen. das problem das man leider dabei hat ist, dass graphikkarten mit latenz arbeiten, sie zeigen oft erst die bilder an, die von der cpu vor einiger zeit berechnet wurden und nicht die aktuellen. das heißt auch, dass die physic-berechnungen mit latenz auftauchen würden was schlimmer wäre als mit der cpu zu rechnen. andererseits kann man die gpu nicht wirklich dazu zwingen gleichzeitig mit der cpu zu rechenn/zeichnen, weil die gpu viel ihrer arbeit parallel zur cpu ausführt und oft auch unabhängig davon. in einer optimalen welt steckt man nur kleine kontrolldaten in die queue der graka und diese werden dann von der graka auf die daten in ihren vram angewand.

    Würden andere Anwendungen außer Spiele auch vom Physik-Chip profitieren? Welche?

    natürlich hängt das voll und ganz von der hardware und den treibern ab. wenn es relativ frei programmierbar wäre, könnte man allerlei dinge darauf berechnen. wenn nicht wären art-fremde-applikationen ohne jeglichen vorteil.
    wenn man viele von den karten zusammenstecken kann, könnte man eventuell auf großrechner für physiksimulationen verzichten. solche rechner haben oft sehr stumpfe cpus die nur auf die einfache aber unheimlich schnelle aberabeitung von daten spezialisiert sind z.b. NEC SX7
    wenn man stattdessen die phsic-cpus nehmen würde, hätte man auf diesem gebiet eventuell viele vorteile.

    Es scheint mir irgendwie so, als willst du die Existenz irgend eines noch nicht existierenden Proll-Objekts rechtfertigen.

    genau so ein prollobjekt wie eine graka auch ist, aber am ende bringt es viel, selbst wenn es für manche nur ne schwanzverlängerung ist die sie in ihrer signatur anbeten lassen.

    Wir sind hier übrigens ziemlich OT. ⚠

    nah, nicht wirklich. gerade GTA3 hatte ne sehr schöne simulation der spielwelt, was einen der hauptreize für mich darstellte. würde die welt in GTA3 garnicht drauf reagieren was ich mache, sondern nur das vorgescriptete verhalten für missionen haben, hätte ich es mir sicherlich nicht zugelegt. und deswegen zeigt GTA3 auch sehr schön das potential, das simulierte spielwelten bieten.

    rapso->greets();



  • jakob.f schrieb:

    Sgt. Nukem schrieb:

    Jester schrieb:

    @Sgt. Nukem: da hab ich eigentlich auch garkeine Lust mehr zu antworten. 👎

    Und bitte warum?!? 🙄

    Vielleicht weil du keine Argumente bringst?

    Das einzige was ich gehört habe sind die unmengen an Polygone für die Kollisionstests durchgefürht werden sollen. Blos wofür sind die nötig?

    Hahaha... Geil!
    Das Argument von Jester war, daß Grafikkarten viel auf Pixelebene machen müssen, Physiksimulationen aber nicht. Wow. Ohne Begründung.
    Das habe ich damit widerlegt, daß die ersten 3D-Grafikkarten quasi gar nichts auf Pixelebene machten.

    jakob.f schrieb:

    Sgt. Nukem schrieb:

    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*

    Gibts dafür einen extra Bus, oder wie stellst du dir das vor? Wäre es nicht sinnvoll wenn dein Physik-Chip und GPU einen gemeinsamen Speicher hätten?

    Unter Umständen schon.
    Der AGP-Bus wurde sicher nicht wegen dem Geschwindigkeit-fressenden Word gebaut.

    jakob.f schrieb:

    Würden andere Anwendungen außer Spiele auch vom Physik-Chip profitieren?

    Mhhh... ich glaube nicht, daß Excel oder Dein eMail-Programm so derbe viel von einer GeForce 7800 und PixelShader 3.0 profitiert... 🙄

    jakob.f schrieb:

    Es scheint mir irgendwie so, als willst du die Existenz irgend eines noch nicht existierenden Proll-Objekts rechtfertigen.

    Häh?!? Um was geht es denn hier die ganze Zeit?
    http://www.heise.de/newsticker/meldung/57232
    http://www.ageia.com/developers/why.html

    Verstehe übrigens nicht, was an einer GeForce 7800 oder Creative Soundblaster X-Fi weniger prollig sein soll!??

    Aber ich sag ja: Wer in Call Of Duty 3 nicht ganz Berlin mit dem Panzer in Schutt und Asche legen will, oder in Star Wars eine Stadt, für den ist das Teil sicher nichts.
    Bei einem neuen PC gehört nachwievor der Grafik- und Soundkarte die höhere Priorität, klar.
    Die einen haben ein Auto halt nur zum Einkaufen, die anderen fahren Porsche. 😋 👍



  • Sgt. Nukem schrieb:

    ...in Star Wars eine Stadt...

    ging es da nicht um planeten? *puff* *staubwölkchen* 😕

    *fg*

    rapso->greets();



  • rapso schrieb:

    ... am ende ist man wohl bei ca O(n^3). wobei n die anzahl der dynamischen körper ist, kollisionen von dynamischen vs statischen körpern ist nicht ganz so kritisch und wird deshalb am öftesten eingesetzt.

    Da der Chip ja besonders schnell sein soll, weil er alles in Hardware berechnet bedeutet das aber bei zehnfacher Anzahl an dynamischen Objekten eine tausendfache Anzahl an Transistoren. Die Anzahl der Dreiecke/Polygone wird wohl auch irgendeine Rolle spielen.

    Sgt. Nukem schrieb:

    Mhhh... ich glaube nicht, daß Excel oder Dein eMail-Programm so derbe viel von einer GeForce 7800 und PixelShader 3.0 profitiert...

    Verstehe nicht, was du damit meinst? Bzw. du willst mich nicht verstehen? Ich dache ja eher an numerische Simulationen. Berechnung von Planetenbahnen, Strömungssimulationen, Sonst irgendwelche Gadgets. Man könnte vielleicht für 3D-Modeller auch irgendwelche extrem schnelle physikalische Berechnungen brauchen. Wieso ist denn deiner Meinung nach noch keiner auf die Idee gekommen für einen Supercomputer einen Physik-Chip zu entwickeln? Im Fahrzeugbau werden ja auch schon Crashtests simuliert. Wenn das effektiv wäre hätte das doch längst jemand gemacht.

    Sgt. Nukem schrieb:

    Bei einem neuen PC gehört nachwievor der Grafik- und Soundkarte die höhere Priorität, klar.
    Die einen haben ein Auto halt nur zum Einkaufen, die anderen fahren Porsche. 😋 👍

    Und du gehörst zu letzteren? Du kannst ja mal ein Bild von deinem posten. Würde mich wirklich interessieren. 😃

    Übrigens http://www.heise.de/newsticker/meldung/56139 hört sich ja auch vielversprechend an. Wenn es so etwas gibt nehmen wir eben fünf von denen und schrauben sie zusammen. 🕶

    Als "Supercomputer auf einem Chip" haben IBM und Sony auf der ISSCC den von vielen Gerüchten umrankten Cell Microprocessor vorgeführt.
    ...
    Über 256 GFlops soll der Cell in grafischen und visuellen Anwendungen leisten -- ein Wert, der ihn in den Top-Ten der schnellsten Supercomputer platzieren würde. Ein bei IBM in East Fishkill hergestellter Prototyp hat Taktgeschwindigkeiten bis zu 4,6 GHz erreicht. Der Pilotbaustein wird in einem 90-Nanometer-Prozess produziert. Die 234 Millionen Transistoren haben dabei auf einem Plättchen von 221 Quadratmillimeter Platz.

    Gruß
    Jakob



  • jakob.f schrieb:

    Da der Chip ja besonders schnell sein soll, weil er alles in Hardware berechnet bedeutet das aber bei zehnfacher Anzahl an dynamischen Objekten eine tausendfache Anzahl an Transistoren. Die Anzahl der Dreiecke/Polygone wird wohl auch irgendeine Rolle spielen.

    die leistung dürfte hauptsächlich durch spezialisierte schlatkreise und viele "threads" kommen, aber auch durch in hardware gegossene algorithmen die auf der cpu alles noch langsammer machen würden. ein gutes beispiel sind da eben die gpus, mit der wichtigste befehl ist dort dot-produkt und multiply-add, dinge um die seit ewigkeiten im cpu-bereich gebettelt wird und es nicht in hardware gegossen wurde. wo also heutzutage 11 befehle auf der fpu nötig sind, macht das eine gpu mit einem takt.dabei natürlich auf 24pipes.

    die polygonzahl ist dabei natürlich auch eine wichtige sache, die kommt aber aufgrund von hieraarchien nur mit O(n* log n) in die rechnung ein, wohingegen objekte mit O(n^2) wohl reinkommen. das teure kann man auch nicht wirklich in der O-notation sehen, denn jeder einzelne test von dreieck/dreieck bedarf einer division, die sind unheimlich teuer und das ist mit ein grund dafür dass auf polygongenaue tests meistens verzichtet wird... um nochmal auf graphikkarten zu kommen, dort kostet das normalisieren eines vectors 1takt (also dot+sqrt+division+mul).

    rapso->greets();



  • @Nukem: viele von den Sachen die du willst, gibt es doch schon längst. In C&C Generals hab ich mehr als eine Stadt fachgerecht zerlegt *gg*( ich LIEBE das Nukleargeschütz *hrhr*). Und winwiefern das pyhsyikalisch korrekt oder vereinfacht ist, sieht man eh nicht. Oder willst du sagen der Rauch aus CoD 2 sieht scheiße aus? Der läuft auch ohne extra Physikkarte ... .

    Und ich spiele auch gerne, und oft^^ und damit meine ich nicht Moorhuhn :p Trotzdem sehe ich nicht die Notwendigkeit einer extra Physikkarte.


Anmelden zum Antworten