Ergebnis 1 bis 20 von 33

Thema: Programmiersprache für games

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von Kyuu Beitrag anzeigen
    Ach so, ein Industriestandard ist C++ schon länger nicht mehr. C#, Java und andere haben sich längst durchgesetzt.
    Mal sehen...

    C# läuft nur im .net Framework, also nur unter Windows und leider nur sehr schlecht mit Mono. Dadurch dass beim .net Framework nur Bytecode, aber kein Maschienencode erzeugt wird, sind die Programme prinzipiell Plattformunabhängig, sind es in der Praxis aber nicht wegen oben genanntem.

    Java läuft in der Java Virtual Machine, welche den Bytecode wie bei .net während der Laufzeit kompiliert. Die Programme sind plattformunabhängig, solange eine JVM auf dem Gerät vorhanden ist.

    Nur haben beide eines gemeinsam: Durch die Laufzeitkompilierung sind die Sprachen ein gutes Stück langsamer als jede kompilierte Sprache.
    Wie kann C++ kein Industriestandard mehr sein, in einer Industrie wo jedes FPS zählt? Sicher kann man gute Spiele mit den erwähnten Sprachen programmieren, aber die Spieleindustrie muss so viel wie möglich an Leistung rausquetschen können. Da ist eine laufzeitkompilierte Sprache fehl am Platz.


    Zitat Zitat
    Das war nichtmal das Witzige.
    Witzig ist das nur weil es dann wirklich laufen würde.

  2. #2
    Zitat Zitat von elvissteinjr Beitrag anzeigen
    Java läuft in der Java Virtual Machine, welche den Bytecode wie bei .net während der Laufzeit kompiliert. Die Programme sind plattformunabhängig, solange eine JVM auf dem Gerät vorhanden ist.

    Nur haben beide eines gemeinsam: Durch die Laufzeitkompilierung sind die Sprachen ein gutes Stück langsamer als jede kompilierte Sprache.
    Naja, durch den JIT-Compiler kompiliert Java seinen Programmcode zum Teil auch in Maschinencode. Und das unter Umständen sogar effizienter als C/C++, da zur Laufzeit mehr Informationen zur Verfügung stehen.
    Mittlerweile ist C++ vielleicht 25%-50% schneller als Java - wenn es effizient programmiert ist. Das ist aber kein nennenswerter Geschwindigkeitsunterschied. Entscheidender ist, wie effizient man seinen Code gestaltet.

    Ich halte von Java und C# auch mehr als von C++, aber das ist nur meine persönliche Meinung. Auf jeden Fall sollte man sich mit mehreren Sprachen beschäftigen und sich nicht von vornherein auf eine Sprache festlegen.

  3. #3
    Zitat Zitat von -KD- Beitrag anzeigen
    Ich halte von Java und C# auch mehr als von C++, aber das ist nur meine persönliche Meinung. Auf jeden Fall sollte man sich mit mehreren Sprachen beschäftigen und sich nicht von vornherein auf eine Sprache festlegen.
    Das ist sowieso das Beste. Java muss sein, genaso wie C und im Endeffekt kann man dann auch schon fast C# , da es im Grunde eine Mischung aus beidem ist.

  4. #4
    Eine ganz gute Möglichkeit, sich in das Skripten hineinzusteigern, wären Spiele wie "Clonk" oder "The Battle for Wesnoth". Sie besitzen eine einfache Skriptsprache und viele Skriptbeispiele, aus dessen Teilen man das gewünschte Produkt erzielen kann. Und irgendwann kann man sich an fortgeschrittenere Möglichkeiten und Skriptsprachen hineinwagen und diese sogar einbinden.
    Diese Methode zeigt zumindest bei mir eine positive Wirkung

  5. #5
    Bin ich der einzige, der die Performancefrage im Hobbybereich für höchst belanglos hält?

    Was programmiert man so hobbymässig? Unreal Engine 4 Kernel, optimiert darauf auch bei 4-Kern Prozessoren keinen unnötigen Takt zu benötigen?

    Die Sprache ist doch völlig schnuppe im Grunde und vor allem sollte man keine Sprache die man nicht so mag statt ner Sprache die man sehr mag verwenden nur weil angeblich irgendwo die Performance minimal besser ist.

    Die eigentliche Spielperformance ( 5fps oder 60 fps~ das ist doch der Performanceunterschied, an den man da denkt oder? ) hängt eher von der verwendeten Grafikausgabe ab. Die 0815 Grafikausgabe von Java ist für 8Bit okey, 24Bit PNGs mit Alphamap animiert über den Screen schieben kann man dagegen völlig vergessen. Nimmt man statt dessen eine OpenGL-Grafikausgabe, ja sowas gibts für Java, läuft das alles superflüssig.

  6. #6
    Zitat Zitat von elvissteinjr Beitrag anzeigen
    Mal sehen...

    C# läuft nur im .net Framework, also nur unter Windows und leider nur sehr schlecht mit Mono. Dadurch dass beim .net Framework nur Bytecode, aber kein Maschienencode erzeugt wird, sind die Programme prinzipiell Plattformunabhängig, sind es in der Praxis aber nicht wegen oben genanntem.

    Java läuft in der Java Virtual Machine, welche den Bytecode wie bei .net während der Laufzeit kompiliert. Die Programme sind plattformunabhängig, solange eine JVM auf dem Gerät vorhanden ist.

    Nur haben beide eines gemeinsam: Durch die Laufzeitkompilierung sind die Sprachen ein gutes Stück langsamer als jede kompilierte Sprache.
    Wie kann C++ kein Industriestandard mehr sein, in einer Industrie wo jedes FPS zählt? Sicher kann man gute Spiele mit den erwähnten Sprachen programmieren, aber die Spieleindustrie muss so viel wie möglich an Leistung rausquetschen können. Da ist eine laufzeitkompilierte Sprache fehl am Platz.
    Du hast nicht viel Ahnung von Codeoptimierung. Eigentlich hast du so gut wie keine Ahnung von dem, was du hier ansprichst, denn das ist einfach nur zusammengereimt und oberflächlich.

    Es wird dich übrigens überraschen, aber es ist relativ schwer in C++ performanten Code zu schreiben und benötigt tiefgehendes Wissen über die Sprache.

    Zitat Zitat von Aperetif Beitrag anzeigen
    Das ist sowieso das Beste. Java muss sein, genaso wie C und im Endeffekt kann man dann auch schon fast C# , da es im Grunde eine Mischung aus beidem ist.
    Ich würde eigentlich sagen, D muss sein, damit die Leute endlich aufhören C++ für das nonplusultra zu halten und all die Schwächen und Designfehler, genauso wie man's besser machen kann, vor die Augen gesetzt bekommen.

    Geändert von Kyuu (26.08.2010 um 00:45 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •