Doom 3 source nun open-source



  • rapso schrieb:

    ksi schrieb:

    Wie kann es beim Stil überhaupt eine unterscheidung in gut und schlecht geben? Solange der Stil konsequent durchgezogen wird, kann der Stil nicht allzu schlecht sein.

    geb ich (und die meisten paper die sich damit beschaeftigen) sehr recht. fuer vielzuviele ist es eine art religion geworden, dabei sollte es nur so einheitlich wie moeglich sein damit man im team wenig zeit zum verstehen von syntax verwendet und dafuer mehr fuer den eigentlichen programmfluss. ich passe mich immer dem team an, egal wie ungewohnt mir eine formatierung vorkommt, aber ich habe auch miterlebt, dass manche wie kleine kinder meinten sie wuerden eher ihre kuendigung akzeptieren als ihren stil zu aendern.

    es gibt natuerlich, je nach sprache, eigenheiten bei der der stil helfen kann fehler zu vermeiden, aber ob jemand irgendwohin spaces oder tabs, tab2 oder tab4, klammern hier oder da hinsetzt ist nur eine alberne diskusion.

    Ähm, du redest jetzt plötzlich von der Formatierung des Codes, das hat für mich relativ wenig mit Stil zu tun. Gut, wenn ihr beide nur Formatierung als Stil anseht, ist es wirklich egal. Aber zum Stil gehört auch sowas wie keine globalen Variablen zu verwenden und die sprachtypischen Idiome usw. zu verwenden. Und wenn man konsequent globale Variablen verwendet, wird es immer noch nicht gut.

    PS. Du hast dort http://www.c-plusplus.net/forum/p2149426#2149426 den falschen Thread verlinkt. Solltest du mal ändern, vor jemand im Shader Thread über Doom redet.



  • Ethon schrieb:

    Doom3 ist ein Hammergame, Bugs nicht existent, sehr tolle Performance etc
    Das macht ihr C++ deutlich schöner als das ganze hochgestylte C++, in dem eh nur Mist verzapft wird.
    Im Übrigen finde ich den Style eh nett, Spiele sind meistens etwas obskurr designt, da man mit dynamische Allokationen etc spart.

    👍
    So programmieren halt Leute die es wirklich drauf haben. Ich mag auch nicht die Pseudoentwickler die glauben nur weil sie studiert haben und sich an alle modernen C++ Regeln halten, dass sie Qualität abliefern.

    Carmack hat sich das Studium nach 2 Semestern geschenkt und das Resultat seiner Entwicklung macht ihm zum Besten was es auf diesem Planeten im Bereich Gamedevelopment gibt. Da der Code keine großen Bugs hatte, sehr performant war und sehr sehr viel Geld eingebracht hat, sollten sich alle "ich habe aber 55 effektive C++ Regeln drauf" Typen mal von John eine dicke Scheibe abschneiden.

    So coden absolute Genies und nicht wie es sehr viele hier immer runter eiern, in dem sie 2-3 Fachbüchern naiv glauben schenken.



  • Schon mal überlegt, warum Carmack seine Gameengines immer wieder komplett neu entwickeln muss? Die Codequalität ist einfach zu schlecht für größere Erweiterungen.



  • Code-Hacker, die das echte Leben kennen vs. akademische Kellertheoretiker ist vielleicht etwas zu schwarz-weiss gedacht. Codes mit unnötig tiefen Vererbungshierarchien, komplizierter new / delete -Logik oder dauernden Überladungen der Big Three sind schon ein Hinweis, dass gewisse Ratschläge angebracht gewesen wären (jetzt allgemein gesprochen).

    Gefährlich sind auf der anderen Seite Leute, die auf maximale Generizität à la Alexandrescu aus sind oder überall nur noch shared_ptr einsetzen. Doch im Mass eingesetzt werden in guten C++-Büchern mächtige Techniken und Werkzeuge vermittelt, welche die Entwicklungszeit durchaus verkürzen können. Und auf vieles davon kommt man nicht so schnell von selbst, auch als Genie nicht.



  • schoklad schrieb:

    Schon mal überlegt, warum Carmack seine Gameengines immer wieder komplett neu entwickeln muss? Die Codequalität ist einfach zu schlecht für größere Erweiterungen.

    Mal im ernst, kaum eine Codebasis hält ein paar Jahre lang, weil sich einfach die Technologien zu schnell ändern. Alten OOP Code noch zu erweitern oder wiederzuverwenden ist ein graus. Noch so ein Graus ist es sich durch dutzend von generalisierten Klassen zu wurschteln genau wie man Datenbank nicht zu sehr Normalisieren und so die Menschlesbarkeit vernachlässigen sollte.

    Alle die immer auf das "perfekte Design" aussind werden mit ihrer Arbeit kaum fertig, der Code ist einfach nur noch anstrengend und es wird trozdem kaum was wiederverwendet. So ist jedenfalls meine Erfahrung aus diversen Projekten.


Anmelden zum Antworten