Wo fange ich am besten an, wenn ich mein eigenes Jump n Run mit Java machen will?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

1) Lerne Java, falls du die Sprache noch nicht kannst (sowie das Programmieren selbst, falls du noch absoluter Einsteiger bist). Mindestens die Grundlagen (Kontrollstrukturen, Datenstrukturen zum Speichern von Werten) solltest du beherrschen. Zudem objektorientiert programmieren zu können (oder wenigstens die Konzepte zu kennen: Kapselung, Polymorphie, Vererbung, Unterschied zwischen instanz- und klassengebundenen Elementen, ...), wäre vorteilhaft.

Bei der Suche nach Lernquellen wäre mein Rat, vorzugsweise Literatur zu nutzen (hier findest du ein paar Tipps von mir) und nicht unbedingt auf Crashkurse (Java in 15min/einer Stunde/21 Tagen, o.ä. zu vertrauen bzw. durch deren Zeitangaben falsche Vorstellungen zu bekommen / dich selbst unter Druck zu setzen). Für so ein Thema sollte man sich Zeit nehmen und nicht mit der Vorstellung herangehen, man könne es einmal schnell durchrattern. Immerhin möchte man das Gelernte auch langfristig, selbstständig und effektiv nutzen können. Für die Spieleprogrammierung ist das jedenfalls notwendig.

Solltest du YouTube-Tutorials nutzen wollen, wäre gerade zum Thema Spiele programmieren mit Java Vorsicht geboten, da ziemlich krude Video(-serien) von Leuten kursieren, die selbst die Grundlagen noch nicht verstanden haben (das äußert sich dann durch die Einführung einer Var-Klasse und viel Problemlösung mittels statischen Elementen, oder ewig langen Methodenketten, bei denen in unbedachten Fällen jedesmal undurchschaubare NullPointerExceptions ausgelöst werden könnten).

2) Plane dein Spiel. Die Genre-Einordnung (Jump'n Run) beschreibt es ja lange noch nicht ausreichend. Anhand der Anforderungen, die du an das Spiel stellst, kannst du definieren, welche Ressourcen notwendig sind und nach welchen Tools du suchen musst, um eine spätere Umsetzung überhaupt erst zu ermöglichen.

Ein Game Concept (GCD) kann dir bei dieser ersten Analysephase gut helfen. Lies mehr dazu hier.

Für Java gibt es einige Bibliotheken/Frameworks/Engines, die explizit für die Spieleprogrammierung ausgerichtet sind (LWJGL, libGDX, FXGL, JME). Nutze also auch besser die, statt (wie es ebenfalls einige Tutorials vormachen) anzufangen, zu versuchen, AWT/Swing umzubiegen. Du machst es dir so einfacher.

Eine Einarbeitung in die verschiedenen Tools (sei es ein Framework oder diverse Graphikprogramme, z.B. Sprite-Editoren) wird ebenfalls stets notwendig sein. Zu Ersterem lohnt sich stets ein Blick auf die offizielle Projektseite des Entwicklers (und sei es GitHub), denn dort gibt es meist auch eine Dokumentation und vielleicht sogar Referenzen auf bestimmte Tutorials.

Für das Erstellen von Media-Ressourcen (3D-Modelle, Sprites, u.ä.) findest du auf YouTube/Vimeo etliche Tutorials zum Nachmachen oder du suchst via Google, denn es gibt viele Seiten, die mit Screenshots Schritt für Schritt aufzeigen, wie Effekt XY umsetzbar ist. Vieles läuft da über Ausprobieren (die Werkzeuge kennenlernen) und Üben.

3) Fokussiere dich bei der Umsetzung zunächst auf die Grundfunktionen. Da reicht es auch vollkommen aus, wenn sich zunächst nur Blöcke bewegen und es noch keine Hintergrundszenerie gibt. Um solche Feinheiten kann man sich später kümmern.

Lerne eine andere Sprache.

Java ist zwar eine wunderbare Sprache, aber für Spieleentwicklung gibt es wirklich bessere Werkzeuge.

Und die Bindings für benötigte Drittbibliotheken sind auch eher so halbgar, sodass du sehr schnell an Grenzen stoßen wirst, die bei anderen Sprachen noch lange nicht erreicht wären.

Wähle also immer möglichst das passendste Werkzeug aus! Du wirst dich in den Hintern beißen, wenn du mitten im Projekt merkst, dass du nicht mehr vernünftig weiter kommst.

Woher ich das weiß:Berufserfahrung
SkySurver  04.10.2020, 22:12

Er/Sie will ein Jump and run coden und kein GTA 6 xD

Also reicht Java dafür völlig aus. Ich habe meine eigene GameEngine mit OpenGL entwickelt und die kann alles ich will.

Klar für richtige Spiele wäre das nichts aber das beste Beispiel ist wohl Minecraft. Irgendwie gehts doch.

Aus Professioneller Sicht würde ich aber auch Unity empfehlen. C# ist ja sehr ähnlich zu Java.

1

2D oder 3D , hast schon mal 50% eingeschränkt.

und dann mussu mal gucken was es für nette framworks bzw dinge zum importieren gibt die gameloop etc schon bereitstellen .

Kannst du schon Programmieren? Also beherrschst du Java zumindest in den Grundzügen?