Programmiersprache fuer Computerspiele

  • Allgemein

  • Norf
  • 4494 Aufrufe 50 Antworten

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Programmiersprache fuer Computerspiele

    hi,
    in analogie zu dem thread "windoof programmiersprache" wuerde mich mal interessieren, wie komplexe computerspiele erstellt werden?
    habe gehoert, dass sich viele dabei auf c++ stuetzen!? stimmt das?:confused:

    gruss norf
  • Das stimmt, allerdings gehören da noch APIs wie directx SDK / OpenGL dazu, die mitunter seehr umfangreich sind und auch erstmal gelernt werden wollen. Und was viele sich zuerst garnicht vorstellen: eine große Portion Mathe ;)
  • Mitlerweile kommt auch langsam C# als Sprache für Games. Spätestens seit der XBox360 ist C# interessanter geworden, da Entwickler nun für PC und XBox entwickeln können ohne große Änderungen im Source vornehmen zu müssen.

    Ich selbst programmiere auch in C++. :cool:
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]
  • c# ist gerade bei den klassischen OOP themen wie vererbung od. virtuellen methoden bei weitem schneller, als c++.
    ich wuerde auch assembler noch einen stellenwert in der gamezentwicklung zugestehen - zumindest kleine berechnungsroutinen kriegt man da imho weitaus effektiver zustande als jeder noch so gute compiler.
  • Suche mal bei google nach Gamestar. Die hatten vor knapp 1-2 Jagren einen sehr sehr Ausfühlichen bericht über mehrere Ausgaben, wie Computerspiele enstehen und wie man die entwickelt.
  • Nein, assembler hat nicht ausgedient... z.B. Shader werden in Assembler geschrieben oder zumindest übersetzt und von der GPU verarbeitet. Ob aber Assembler tatsächlich noch eingesetzt wird um die Spiellogik an sich zu programmieren weiß ich nicht. Ich hab es zumindest noch nicht gesehen.
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]
  • Die shader werden nicht direkt in assembla geschrieben (können sie aber). Shader werden z.B. in HLSL oder CG geschrieben. Aber soweit ich weiß (ich kann mich auch irren, wenn ja bitte berichtigt mich) werden die shader programme, egal ob HLSL oder CG vor dem ausführen in Assembler code umgewandelt. Das ist zumindest das was ich im Kopf hab :)
    [SIZE="1"]i'm a signature virus. copy me into your signature to help me spread. - smart questions[/SIZE]
  • In OpenGL können die Shader in einer an C angelehnten Sprache (glSlang) verfasst werden. Und natürlich werden sie in Maschinencode übersetzt, wie langsam wär das den, wenn die Graka den Code interpretieren würde :D
  • DirectX ist aber nicht Zwingend Pflicht! Auch OpenGL kann erstaunliche Graphik hervorbringen! --> IDSoftware
    Wie das sich jetzt bezüglich DirectX10 geändert hat kannn ich aber nicht sagen. Mal schaun, was aus OpenGL 3 wird!
  • Norf schrieb:

    hi,
    in analogie zu dem thread "windoof programmiersprache" wuerde mich mal interessieren, wie komplexe computerspiele erstellt werden?
    habe gehoert, dass sich viele dabei auf c++ stuetzen!? stimmt das?:confused:

    gruss norf


    es stimmt zawar, dass c (++) für das programmiren von spielen verwendet wird, aber es hengt immer davon ab was genau du für ein spiel programmirst. wenn du beispils weise ein online game programmirst, finde ich du solltest java verwenden.
  • gladiator41 schrieb:

    wenn du beispils weise ein online game programmirst, finde ich du solltest java verwenden.


    Das kommt auch darauf an was für ein onlinegame du proggen willst, für ein browsergame z.B. ist java die beste wahl aber für ein client server system ist java aufgrund der schlechten performance nicht wirklich geeignet.
    Wenn du zum weibe gehst nimm die Peitsche mit (Nietzsche)
  • stelzi schrieb:

    Das sind altbackene thesen, die jeder einfach nur nachplappert ohne es mal selbst ausprobiert zu haben.
    Als ob du aus Erfahrung sprichst...


    Ja ich spreche aus erfahrung ich progge seit 3 Jahren java und seit 6 Jahren c++ und java ist meiner meinung nach nicht für die normale spieleentwicklung geeignet (asugenommen applets im browser). Nur weil java einfachere netzwerkfunktionen mitbringt heist das noch lange nicht das die auch besser sind. Und was performance angeht kannst du mir nicht weis machen dass interpretierter java code gleichwertig ist wie nativer bitcode. Pong kann man in java proggen aber spätestens wenns um komplexe 3d effekte und shader geht ist java nicht geeignet.
    Wenn du zum weibe gehst nimm die Peitsche mit (Nietzsche)
  • ok worm online sieht nicht schlecht aus dennoch ist das bisher die ausnahme. Der größte nachteil der programmierer bei diesem spiel ist sicherlich das sie nur opengl zur verfügung hatten. Im normalen java fehlen meiner meinung nach für die spieleprogrammierung vor allem die directx bibliotheken und die freiheit die man in c hat.Java mag zwar nett sein wenn man sicheren code schreiben will aber ich finde es gibt einfach zu viele einschränkungen (bestes beispiel zeiger).
    Wenn du zum weibe gehst nimm die Peitsche mit (Nietzsche)
  • Hehe jaja die hochgelobten Zeiger :)
    Inwiefern ist das eine Einschränkung?
    Bzw. was für extreme Vorteile bieten Zeiger, die du mit Referenzen nicht hast?
    Das einzige was mir hier einfällt ist Zeigerarithmetik. Die Frage ist nur, ob das wirklich so ein wahnsinns Vorteil ist und man ohne das, so wahnsinnig eingeschränkt ist.
    Aber da ganze geräht jetzt total ot :)
    Die ursprüngliche Frage des Threaderstellers wurde schon 100 fach beantwortet :)
  • stimmt.
    Zu deinen zeigern:
    MIr fehlt s einfach die freiheit die objekte im spreicher so zu platzeiern wie ich will (gerade die stack heap unterscheidung vermisse ich). Ich finde es auch wesentlich einfacher funktionen mit mehrern rückgabewerten zuu erstellen wenn die gleih im übergabewert enthalten sind. Gerade für rollenspiele und egoshooter sind solche funktionen doch recht nützlich oder?
    Wenn du zum weibe gehst nimm die Peitsche mit (Nietzsche)