Doom 3 SDK



  • Es ist noch nicht draußen. Soll imho nächste Woche erscheinen.



  • Tach ....

    Da bin ich mal gespannt wie die von id den Code Style gestaltet haben und wie
    sehr sie den Quellcode strukturiert haben.
    Doom 3 ist doch bestimmt mit c++ geschrieben worden oder ?

    cu



  • SpIriT alias PrOjEcT101 schrieb:

    Tach ....

    Da bin ich mal gespannt wie die von id den Code Style gestaltet haben und wie
    sehr sie den Quellcode strukturiert haben.
    Doom 3 ist doch bestimmt mit c++ geschrieben worden oder ?

    cu

    Alle Spiele von id Software seit 1996 basierten im Kern noch auf dem Code von Quake 1, aber bei Doom 3 wurde sogar auf eine andere Programmiersprache umgesattelt, nämlich von C zur objektorientierten Version C .

    http://www.computerbase.de/lexikon/Doom



  • interpreter schrieb:

    SpIriT alias PrOjEcT101 schrieb:

    Tach ....

    Da bin ich mal gespannt wie die von id den Code Style gestaltet haben und wie
    sehr sie den Quellcode strukturiert haben.
    Doom 3 ist doch bestimmt mit c++ geschrieben worden oder ?

    cu

    Alle Spiele von id Software seit 1996 basierten im Kern noch auf dem Code von Quake 1, aber bei Doom 3 wurde sogar auf eine andere Programmiersprache umgesattelt, nämlich von C zur objektorientierten Version C .

    http://www.computerbase.de/lexikon/Doom

    heißt das das doom 3 in C++ oder in objectiv C is? beides sind ja oo versionen von C....



  • Ich tippe mal auf C im OO style (also viele Funktionen, die als 1. Parameter nen Zeiger auf ne Struktur bekommen).



  • Dann wäre es aber objektbasiert und nicht objektorientiert ich denke mal schon, dass die richtiges C++ genommen haben mit nem Compiler wie den vc7.1 ist die Geschwindigkeit ja kein richtiges argument mehr.



  • SirLant schrieb:

    Dann wäre es aber objektbasiert und nicht objektorientiert ich denke mal schon, dass die richtiges C++ genommen haben mit nem Compiler wie den vc7.1 ist die Geschwindigkeit ja kein richtiges argument mehr.

    Wieso sollte es dann nicht Objektorientiert sein? Wenn ich nach den Paradigmen der OO programmiere, dann ist mein Code OO.



  • Bei dem ComputerBase Artikel handelt es sich um einen C&P Fehler oder die Version ist nicht mit dem neuesten Original Version abgeglichen, wo eindeutig folgendes steht

    http://de.wikipedia.org/wiki/Doom schrieb:

    nämlich von C zur objektorientierten Version C++.

    http://de.wikipedia.org/wiki/Doom



  • @SirLant: Doom3 wurde übringens nicht mit VC kompiliert sondern mit gcc.



  • Gast996611 schrieb:

    @SirLant: Doom3 wurde übringens nicht mit VC kompiliert sondern mit gcc.

    woher weisst du das?



  • Ich kenne jemanden bei ID.

    Außerdem kann man es durch ein bischen nachdenken auch selbst rauskriegen. Da Doom3 auf Win, Linux und MacOS läuft, braucht man einen Compiler der die Systeme unterstützt. Und da das VC Studio kein Crosscompiler ist, ist es mal rein logisch zu 99% der gcc.



  • Gast996611 schrieb:

    Und da das VC Studio kein Crosscompiler ist, ist es mal rein logisch zu 99% der gcc.

    Man muss doch nicht Crosscompilen und wird es im Alltag auch in den seltensten Fällen tun. Wenn man ein Programm vertreibt das irgendwann auf mehreren Plattformen laufen soll dann wird man es auch auf diesen testen und dementsprechend auch gleich auf der jeweiligen Plattform kompilieren.

    Übrigens gäbe es auch den Intel Compiler sowohl für GNU/ Linux als auch Windows (Wies mit einem MacOS-Port aussieht weiß ich nicht).



  • Gast996611 schrieb:

    Außerdem kann man es durch ein bischen nachdenken auch selbst rauskriegen. Da Doom3 auf Win, Linux und MacOS läuft, braucht man einen Compiler der die Systeme unterstützt. Und da das VC Studio kein Crosscompiler ist, ist es mal rein logisch zu 99% der gcc.

    was spricht dagegen, auf jedem System den defacto-Standard zu nehmen? GCC fuer Linux (und Mac, oder haben die auch was eigenes?) und VC fuer Windows? 😉

    Trotzdem interessante Info 🙂



  • kingruedi schrieb:

    Bei dem ComputerBase Artikel handelt es sich um einen C&P Fehler oder die Version ist nicht mit dem neuesten Original Version abgeglichen, wo eindeutig folgendes steht

    http://de.wikipedia.org/wiki/Doom schrieb:

    nämlich von C zur objektorientierten Version C++.

    http://de.wikipedia.org/wiki/Doom

    Das hat bestimmt einer geändert, nachdem er diesen Thread gelesen hat. 😃



  • Blue-Tiger schrieb:

    Gast996611 schrieb:

    Außerdem kann man es durch ein bischen nachdenken auch selbst rauskriegen. Da Doom3 auf Win, Linux und MacOS läuft, braucht man einen Compiler der die Systeme unterstützt. Und da das VC Studio kein Crosscompiler ist, ist es mal rein logisch zu 99% der gcc.

    was spricht dagegen, auf jedem System den defacto-Standard zu nehmen? GCC fuer Linux (und Mac, oder haben die auch was eigenes?) und VC fuer Windows? 😉

    Weil die Compiler verschiedene Inkompatibilitäten haben und Dinge anders lösen. Wenn du einen Compiler für alle Platformen nehmen kannst, dann sparst du dir Arbeit und auch das Problemsuchen wird leichter.



  • @kingruedi: Ich hätts nicht besser sagen können.

    Außerdem kann man mit dem GCC besser optimieren, er hält sich an den Standard (sei 3.4 zu 100%), er ist schneller, ...



  • Gast996611 schrieb:

    er hält sich an den Standard (sei 3.4 zu 100%)

    Sei

    , er ist schneller, ...

    [/quote]
    ROFL schneller? als was? Haste auch beweise?

    ...

    mehr faellt dir wohl nich ein



  • Gast996611 schrieb:

    er hält sich an den Standard (sei 3.4 zu 100%)

    Ich bezweifle, dass das für Carmack ein signifikantes Qualitätsmerkmal darstellt 🤡



  • Wundert mich, dass er C++ zulässt. War der nicht immer so ein C und inline-Asm-Fanatiker?



  • Gast996611 schrieb:

    Außerdem kann man mit dem GCC besser optimieren, er hält sich an den Standard (sei 3.4 zu 100%), er ist schneller, ...

    Auch wenn die GCC bzw. g++ mein Lieblings-C++-Compiler ist:

    • g++ optimiert besser als der Intel-C++ Compiler? Wohl kaum; auch wenn unter Linux die Intel-Leute schon Schwierigkeiten haben, die gcc noch zu toppen, so tun sie es letztlich doch immer noch irgendwie ganz knapp.
    • Kein mir bekannter Compiler unterstützt den Standard zu 100%.
    • Schneller? Der g++ ist meines Erachtens einer der am langsamsten kompilierenden Compiler überhaupt.

    g++ ist vor allem deswegen ein guter Compiler weil er schön modular aufgebaut ist, den Standard sehr gut unterstützt, (mittlerweile) richtig gut optimiert, frei ist (frei wie in "Freiheit" _und_ wie in "Freibier" 😉 ) und (mit) durch sein ausgezeichnetes Design (sowie dadurch dass die Quellen verfügbar sind) bedingt sehr portabel bzw. erweiterbar ist.
    Nicht weil er sowohl der schnellste als auch am besten optimierende als auch standardkonformste Compiler ist.

    edit: Wow, liest sich das anstrengend...


Anmelden zum Antworten