Java 2D / 3D und "schnelle Animationen"

  1. Jan-Michael

    Jan-Michael Thread StarterMacUser Mitglied

    Mitglied seit:
    28.02.2005
    Beiträge:
    391
    Zustimmungen:
    0
    Hallo Leute,

    wie schon im Titel beschrieben habe ich ein paar Fragen zur Graphikprogrammierung in Java. Zum ersten habe ich mich vor ein paar Tagen daran versucht, einen SpaceInvaders-Clone in Java zu programmieren. Das hat prinzipiell auch funktioniert, nur ist mir das spiel irgendwie zu langsam. Die Graphik ruckelt und alles sieht irgendwie noch nicht sehr flüssig aus. In ein paar Online-Tutorien zu Java-Spielen habe ich gelesen, dass zur Darstellung der Graphiken Graphics2D verwendet werden soll. Kann das wirklich so viel bringen - kann ich damit alles schneller machen, oder ist der Grund viel tiefgreifender?

    Meine zweite Frage: Ich hatte in der kommenden Zeit vor, mich etwas mehr mit Spieleprogrammierung mit Java zu beschäftigen. Welches Buch empfehlt ihr?

    Besten Dank für eure Antworten schon mal im Vorraus
    Jan-Michael

    [EDIT:] PS: Den link hab ich ganz vergessen: http://userz.us.funpic.de/java/SpaceInvaders.zip
     
    Jan-Michael, 15.03.2007
  2. kahler

    kahlerMacUser Mitglied

    Mitglied seit:
    26.09.2005
    Beiträge:
    234
    Zustimmungen:
    0
    Spieleprogrammierung unter Java ist so eine Sache für sich. Dadurch, dass der Code in einer VM ausgeführt wird ist das Ganze entsprechend langsam. Es gibt Bibliotheken, die dir bei der Umsetzung helfen. Meist haben diese dann betriebssystemspezifischen Code, der in C oder C++ geschrieben ist.
    Hast du denn überhaupt schon Erfahrung im programmieren generell und mit Java im Besonderen?
    Falls nein, dann solltest du dich erstmal mit einfacheren Problemen beschäftigen und dich dann über Threading und normale GUI-Programmierung (Swing/SWT) Richtung Spieleprogrammierung vorarbeiten.
     
    kahler, 15.03.2007
  3. maxpa

    maxpaMacUser Mitglied

    Mitglied seit:
    06.01.2007
    Beiträge:
    143
    Zustimmungen:
    0
    Nunja, Java ist zwar langsamer als nativer C oder C++ Code aber man kann durchaus fluessige 2d und 3d (mit beschleunigung...) Spiele damit programmieren.
     
    maxpa, 16.03.2007
  4. bjbo

    bjboMacUser Mitglied

    Mitglied seit:
    20.11.2003
    Beiträge:
    1.316
    Zustimmungen:
    82
    Eine etwas zu pauschale Aussage, wie ich finde. Es gibt durchaus Leute, die sehr schnelle Spiele mit Java zu stande gebracht haben. Denk nur mal an Jake2, eine Java-Version von Quake2, die schneller läuft, als das Original....
     
    bjbo, 16.03.2007
  5. macHomer

    macHomerMacUser Mitglied

    Mitglied seit:
    23.02.2005
    Beiträge:
    150
    Zustimmungen:
    0
    Gib mir mal deine EMail-Adresse. Dann schicke ich die eine modifizierte Datei zu.
    Leider kann ich diese nicht posten (zu viele Zeichen...)
     
    macHomer, 16.03.2007
  6. der_Kay

    der_KayMacUser Mitglied

    Mitglied seit:
    02.09.2004
    Beiträge:
    1.685
    Zustimmungen:
    8
    Das lebt natürlich von einer OpenGL Implementierung, wie Java2D auch:
    Behind the Graphics2D: The OpenGL-based Pipeline
     
    der_Kay, 16.03.2007
  7. Jan-Michael

    Jan-Michael Thread StarterMacUser Mitglied

    Mitglied seit:
    28.02.2005
    Beiträge:
    391
    Zustimmungen:
    0
    Hallo Leute und schonmal danke für eure antworten!

    Also Erfahrungen mit diversen Programmiersprachen habe ich schon viele gesammelt - unter anderem auch mit Java. Schließlich habe ich ja auch einen funktionsfähigen Clone auf die Beine stellen können. Das große Problem ist eben nur, dass die Graphik nicht sehr flüssig läuft.

    Deshalb wär' ich dir - macHome - sehr verbunden, wenn du dir meien Quellcode anschaust. Meine eMail-Adresse: frogstar.b@googlemail.com.

    Nochmals besten Dank für alle Antworten
    Jan-Michael
     
    Jan-Michael, 16.03.2007
  8. macHomer

    macHomerMacUser Mitglied

    Mitglied seit:
    23.02.2005
    Beiträge:
    150
    Zustimmungen:
    0
    Mit Java5 sind OpenGL-Funktionalitäten in Java2D eingeflossen.
    Mit Java6 gab es weitere Optimierungen. Warum sollte mit der
    heutigen Rechnerleistung nicht in Java programmiert werden?
    Dies ermöglicht eine fliessendere Implementierung, wenn z.B.
    Daten visualisiert werden sollen, die durch ein Informationssystem
    bereitgestellt werden, das in Java implementiert ist...
    Alles eine Frage des Aufwandes, Anforderungen und *NICHT* des
    Geschmacks...
     
    macHomer, 16.03.2007
  9. Jan-Michael

    Jan-Michael Thread StarterMacUser Mitglied

    Mitglied seit:
    28.02.2005
    Beiträge:
    391
    Zustimmungen:
    0
    Hallo macHomer und Danke für das DoubleBuffering. Zur aktuellen Diskussion nur: Finde Java zum programmieren prinzipiell schon sehr praktisch, weil alle Programme, die man schreibt auch auf anderen Plattformen ausgeführt werden können - ohne, dass man seine Quellen nochmal neu kompiliert, oder sogar an das neue System / Bibliotheken anpasst. Mein Prob war eben, dass ich nicht sehr viel Ahnung von Java 2D / 3D habe und damit auch nicht optimieren konnte. Deshalb wäre ich euch auch noch für ein paar Buchtipps zu Spieleprogrammierung / 2D, 3D Graphikprogrammierung in Java sehr dankbar - auch, weil ich mich gerade für den bereich interessieren und in Java schon ein paar Programmiererfahrungen habe.

    Gruß und besten Dank nochmal für eure Antworten
    Jan-Michael
     
    Jan-Michael, 16.03.2007
  10. macHomer

    macHomerMacUser Mitglied

    Mitglied seit:
    23.02.2005
    Beiträge:
    150
    Zustimmungen:
    0
    Unter MacOS war schon in Java1.4.2 (Panther 10.3) Java2D
    OpenGL beschleunigt.
     
    macHomer, 17.03.2007
Die Seite wird geladen...
Ähnliche Themen - Java schnelle Animationen
  1. anotheryou
    Antworten:
    1
    Aufrufe:
    143
    Apfeleis
    24.06.2017
  2. kurtmac
    Antworten:
    4
    Aufrufe:
    332
    kurtmac
    15.11.2016
  3. msdd79
    Antworten:
    5
    Aufrufe:
    666
  4. LuQasZ
    Antworten:
    15
    Aufrufe:
    1.228