# Weg zur 2D Spieleprogrammierung ?



## Terep (8. Nov 2010)

Hallo Leute

Als Hobbyprogrammierer habe ich relativ lange mit C++ geproggt. 
Spiele auf der Konsole kann ich umsetzen. Ich behaupte nicht, die höheren Weihen von C++  wie Vererbung, Polymorphismus usw. zu beherrschen. 

Nun wollte ich auf Linux, SUSE eine grafische Oberfläche nutzen, um endlich Spiele in 2D zu programmieren. Leider bauen sich hier Hürden auf. Qt ist eine Herausforderung für sich.

Nun meine Überlegung: Java ist C++ in seinen Strukturen ähnlich, soll aber, dank fehlender Erblasten, einfacher zu programmieren sein.

Die Frage,  die sich für mich stellt hat mehrere Facetten.
Mein Ziel ist es, 2D Programme zu schreiben, in der Art wie es sie früher gab (Bards tale, ultima).
Diese Spiele haben mich fasziniert und ich möchte hier mit einfacher Grafik Spielideen umsetzen.

In meinem persönlichen Umfeld gibt es keine Programmierer, ich lerne gerne aus Büchern.

Die Grundlagen von java werde ich mir aneignen, möchte aber den Schwerpunkt auf grafische 2D-Anwendung setzen und lernen wie Grafik und Animation zusammenkommen. 
Unter C++ habe ich mich verzettelt. Den Fehler möchte ich in java nicht wiederholen.
Daher meine Frage: Gibt es Bücher, die dem Thema Spieleprogrammierung in der Art Rechnung tragen, dass sie nicht bei Null anfangen aber auch nicht versuchen, ein high-end game in 3D zu realisieren. 

Terep


----------



## slawaweis (8. Nov 2010)

Spieleprogrammierung unterscheidet sich kaum von der normalen Programmierung. Deshalb gibt es relativ wenige Bücher die sich direkt mit der Java-Spieleprogrammierung auseinandersetzen. Zwei Bücher die ich gelesen habe und für fortgeschrittene Einsteiger empfehlen kann sind:

Advanced Java Game Programming (Expert's Voice): Amazon.de: David Wallace Croft: Englische Bücher
Developing Games in Java: Amazon.de: David Brackeen: Englische Bücher

beim zweiten Buch ist das besondere, dass das alleeerste Kapitel die Threads behandelt. Das habe ich noch in keinem anderen Buch erlebt, außer bei der Parallelprogrammierung. Leider sind die Bücher alles andere als neu, die sind von 2004 bzw. 2003. Dafür kann man relativ leicht ran kommen, in der Bibliothek oder auf dem Flohmarkt. Doch vorher empfehle ich dringend ein aktuelles Buch über Java 6 zu lesen, damit man besseren Code schreibt. Überhaupt sollte man auch viele Bücher lesen, die nichts mit der Spieleprogrammierung zu tun haben. Doch am meisten hilft das Internet mit vielen kleinen Beispielen, das ist wohl die Informationsquelle Nummer 1 für Spieleentwickler.

Noch ein Buch, das ich besonders für 2D Grafik empfehle und inzwischen auswendig kenne:

Java 2D Graphics. (Java Series): Amazon.de: Jonathan B. Knudsen: Englische Bücher

Es ist zwar von 1999, aber Java2D hat sich seit dem kaum verändert. Noch ein gutes Buch, welches didaktisch aufgebaut ist und die Theorie behandelt:

Lehrbuch der Grafikprogrammierung: Grundlagen, Programmierung, Anwendung: Amazon.de: Klaus Zeppenfeld: Bücher

Ein weiteres Buch, was ich vor kurzem entdeckt habe:

Mobile Games mit Flash: Actionspiele entwickeln für Handy und Web mit Flash Lite: Amazon.de: Thomas Wagner: Bücher

es ist zwar nicht über Java, aber es ist trotzdem toll. Bei der Spieleentwicklung macht der Programmieranteil nach eigener Erfahrung ~15% aus. Dieses Buch beschäftigt sich auch mit den anderen Teilen, wie Bilder, Sprites, Timing, Projektplanung usw. Ist aber eher für fortgeschrittene Spieleentwickler.

Slawa


----------



## Marco13 (8. Nov 2010)

Terep hat gesagt.:


> Gibt es Bücher, die dem Thema Spieleprogrammierung in der Art Rechnung tragen, dass sie nicht bei Null anfangen aber auch nicht versuchen, ein high-end game in 3D zu realisieren.



Oder anders: Gibt es Bücher, in denen GENAU das steht, was du lesen willst? 
Schwierig. Es gibt sowas wie Filthy Rich Clients , was GROB in die Richtung gehen könnte: "Gute" 2D-Programmierung. Allerdings nicht auf Spiele bezogen, sondern allgemein auf "User Interfaces". D.h. es könnte sein, dass du dort nicht findest, was du suchst. Mehr in Richtung Spiele ist Killer Game Programming in Java - aber das ist vielleicht "zu Hardcore", wenn es "nur ein kleines 2D-Spielchen" sein soll. 
Ganz subjektiv: Ein Buch ist immer so eine Sache. Wenn man sich sicher ist, klar. Aber wenn man noch keine so konkrete Idee hat, kann man sich Infos zu den allermeisten Sachen im Netz besorgen. Wenn man sich dann denkt: "Laaaannngweilig", sind nicht 50€ futsch, sondern man geht auf eine andere Seite und schaut da.


----------



## Terep (9. Nov 2010)

Hallo Slawa
Danke für Deine Buchtipps. Das Buch „Developing Games in Java“ hat bei Amazon wirklich gute Kritiken bekommen. Gleiches gilt für „Java 2D Graphics“
Die beiden Bücher habe ich mir vorgemerkt.
Das Lehrbuch der Grafikprogrammierung: Grundlagen, Programmierung, Anwendung kann ich mir bei unserer Stadtbibliothek ausleihen. Was ich auch sofort machen werde.
Mobile games mit flash hört sich interessant an, aber da bin ich inhaltlich noch zu weit weg. 


Hallo Slawa
Das Buch „Killer Game Programming in Java“ kommt zwar mit dem Thema 3D daher, ist aber wohl online lesbar. Werde ich mir mal näher anschauen. 
Das Gleiche gilt für „Filthy Rich Clients“.


Meine Hauptsorge beim gestrigen posten war, dass Java schwerpunktmäßig für Web-Anwendungen zuständig ist, und nicht für die Spieleprogrammierung. Dem ist wohl nicht so, sonst hättet Ihr wohl anders geschrieben.
Als Grundlagenbuch habe ich mir bereits das Buch „Handbuch der Java Programmierung“ von Guido Krüger, Thomas Stark geholt. Es läßt sich gut angehen. 
Um ehrlich zu sein, ich progge schon viel zu lange auf der Konsole und freue mich schon auf das Buch von der Bücherei. 
Die nächsten Monate werden spannend. Hoffentlich überfordere ich mich nicht dabei.
Nochmals Danke für die Tipps

Terep


----------



## Marco13 (9. Nov 2010)

Terep hat gesagt.:


> dass Java schwerpunktmäßig für Web-Anwendungen zuständig ist, und nicht für die Spieleprogrammierung.



Och, da verschwimmen die Grenzen so ein bißchen


----------

