Spiele programmieren für Android

programm2008

programm2008

Ambitioniertes Mitglied
0
Internal Server Error 500
 
Zuletzt bearbeitet:
Erstmal, herzlich Willkommen im Forum :)
Ich finde es super, wenn du dich in deiner Freizeit mit der Android Programmierung beschäftigen möchtest, ein ernsthaftes Interesse scheints du ja zu haben. Ein ebook hast du dir ja schon "reingezogen" :laugh:

Ich denke es gibt bereits zu dem Thema einen äußerst umfangreichen Sammelthread genau Hier

Am besten du schaust erstmal dort vorbei.
Das wesentliche ist aber, dass du dich zuerst intensiv mit Java auseinandersetzt. Wer Java versteht und sich mit den Android Eigenheiten auseinandergesetzt hat, hat letzendlich auch die Grundvorasetzung um Android Apps zu schreiben.

Ach ja, die wohl wichtigste Anlaufstelle zur Android Programmierung ist die offizielle Developer Seite von Google: developer.android.com
Dort solltest du dich vielleicht erstmal einwenig in Android "einlesen": Basics.

Viel Spaß
funcoder
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: programm2008
Eine Frage noch, ich will mir ein Buch holen, mit dem man lernt mit java spiele zu coden. Wenn ich mich da durcharbeite kann ich dann auch automatisch spiele für android schreiben?
 
programm2008 schrieb:
Eine Frage noch, ich will mir ein Buch holen, mit dem man lernt mit java spiele zu coden. Wenn ich mich da durcharbeite kann ich dann auch automatisch spiele für android schreiben?


hehe automatisch geht gar nichts. es ist ein ewiger lernprozess und man braucht sehr viel willen, zeit und talent um dann am ende ein brauchbares spiel zu erhalten.
 
  • Danke
Reaktionen: programm2008
Ein Spiel ist auch nichts anderes als eine ganz normale Android Applikation. Der einzige Unterschied ist, dass du eben eine 2D oder 3D Rendering-Engine "davor baust".

Das wichtigste zuerst ist, dass du dich mit Java generell auseinandersetzt. Also kein spezielles Spieleentwickler Java Buch, sondern ein ganz normales Java Anfängerbuch.

Beherrscht du Java halbwegs, solltest du dir einfach mal ein paar fertige Android Games Tutorials durchlesen und den dazugehörigen Source downloaden und stundenlang ausprobieren und damit rumexperimentieren. Das setzt allerdings vorraus das du dich gut mit Java auskennst da du sonst davon nichts verstehen wirst ;)

Und, bitte nicht als erstes App ein 3D Ego-Shooter sich vornehmen. Eher mit was einfacherem wie Pong.

Viel Spaß
 
  • Danke
Reaktionen: programm2008
funcoder schrieb:
Das wichtigste zuerst ist, dass du dich mit Java generell auseinandersetzt. Also kein spezielles Spieleentwickler Java Buch, sondern ein ganz normales Java Anfängerbuch.

Ich denke der Punkt ist sehr sehr wichtig.
Ich kenne einige Leute die auch anfangen wollten Spiele zu entwickeln und nach kurzer Zeit frustriert aufgegeben haben weil ihnen die Grundlagen fehlen und sie in den Büchern für Spieleentwicklung nichts mehr verstehen.

Also wie oben schon geschrieben erst ein wenig programmieren und die Grundlagen von Java lernen.

Um Java zu lernen und zu verstehen kann ich auch noch "Java ist auch eine Insel" empfehlen. Das gibts im Internet als Openbook.

Galileo Computing :: Java ist auch eine Insel (8. Auflage)

funcoder schrieb:
Und, bitte nicht als erstes App ein 3D Ego-Shooter sich vornehmen. Eher mit was einfacherem wie Pong.

Das ist sicher auch ein Fehler der oft von Anfängern gemacht wird. Man sucht sich ein Projekt aus das einen klar überfordert und ist dann gefrustet.

Gute Spiele als Übung für wenig erfahrene Programmierer sind meiner Meinung nach noch: Tic-Tac-Toe, 4-gewinnt, Türme von Hanoi, Snake, Minesweeper, Schiffe versenken

Wenn man diese Sachen dann mal in überschaubarer Zeit hinkriegt ohne Nächtelang daran zu verzweifeln kann man darüber nachdenken einen Schritt weiter zu gehen.

Ist ein recht langer und harter Weg, aber da muss man eben durch wenn am Ende was vernünftiges rauskommen soll.
 
  • Danke
Reaktionen: programm2008
funcoder schrieb:
Ein Spiel ist auch nichts anderes als eine ganz normale Android Applikation. Der einzige Unterschied ist, dass du eben eine 2D oder 3D Rendering-Engine "davor baust".

Kannst du mir diesen Satz erklären? :D
 
programm2008 schrieb:
Kannst du mir diesen Satz erklären? :D

Na klar :D

Ok, als zuersteinmal was ist eine 2D/3D Rendering Engine:
Je nachdem ob du ein 2D Spiel oder ein 3D Spiel programmieren möchtest. Benötigst du das passende "Werkzeug" was sich um die Darstellung/Rendering (-> Zeichnen der einzelnen Grafiken auf dem Display) kümmert.
Ein typisches 2D Spiel verwendet z.B. Canvas zur Darstellung.
Ein typisches 3D Spiel verwendet OpenGl zur Darstellung (=> Rendering) der einzelnen Elemente(z.B. Spielfigur, Landschaft etc.)

Angenommen, du möchtest einen typisches Jump n Run Game programmieren. Die Logik die du mit Java programmierst wäre beispielsweise:
wie schnell bewegt sich die Spielfigur
wieviel Energie besitzt sie
abfragen, welche Tasten vom Benutzer gedrückt worden sind
Spielzeit ausrechnen
Punktezahl berechnen
bleibt gleich, egal ob du jetzt ein 2D oder ein 3D Spiel programmierst.

Den jediglich jetzt, wenn du alle notwendigen Daten hast (Spielfigur X/Y Position, Position in der Landschaft etc.) .. kannst du diese Daten an deine Rendering Engine weitergeben welches sich dann um die Darstellung kümmert.

Die Rendering Engine ansich ist ganz blöd, sie kümmert sich jediglich darum das die Grafik XYZ an Position Z auf dem Bildschirm "gezeichnet" wird. Die Position wo die Grafik platziert werden soll muss schon von deiner Logik bzw. von deinem Java Code kommen.

Das ist auch der einzige Unterschied, denn diese Logik könntest du auch in einem normalen App verbauen ganz ohne einer Darstellung(klar, wäre langweilig) aber theoretisch ist es nichts anderes.

Das ist das wesentliche, ein Spiel ist eine ganz normale Anwendung in der du sämtliche Logik verbaust und was zur Darstellung eine Rendering Engine verwendet.

Diese Logik besteht ausschließlich aus Java, weshalb es auch so dringend notwendig ist, dass du dich zuerst 100%ig mit Java auseinandersetzt.

Und von diesen Rendering-Engines gibt es massig, deshalb ist es auch nicht sinnvol sich ein Buch zur Java-Spieleprogrammierung zu kaufen, was sich primär mit einer ganz anderen Rendering-Engine beschäftigt die du gar nicht unter Android verwenden kannst/solltest.

Deshalb schrieb ich auch "davor bauen", damit ist eben gemeint, dass du zur Darstellung von deinen Spiel Elementen eine Rendering Engine benötigst welches an die Logik an dein Spiel angekoppelt wird.

So, hoffe es ist nun verständlicher :)
funcoder
 
  • Danke
Reaktionen: programm2008
funcoder du bist der beste. Thx für die umfangreiche Antwort. LG und küsschen
 

Ähnliche Themen

R
Antworten
9
Aufrufe
713
koje71
koje71
M
  • merlin1234x
Antworten
1
Aufrufe
1.009
wilco
W
E
Antworten
0
Aufrufe
941
ey6799
E
Zurück
Oben Unten