# Entwicklung eines Jump & Run Spiels Video-Tutorial



## Finalspace (13. Jun 2015)

Hallo,

ich möchte hier meine Videoserie vorstellen, in dem ich ein Jump & Run Spiel programmieren werde, aber kein einfaches blockbasiertes Huepf-Spiel - wie es schon zig tausende davon gibt, sondern einen aufwendigen Vektor-basierten Puzzle-Action-Physik-Geschicklichskeits-Platformer.

Das ganze möchte ich mit Java 7 und der Entwicklungsumgebung Eclipse realisieren.
Und damit wir zügig durchprogrammieren können und ich nicht Grundlagen für Grundlagen erklären muss,
setzte ich Programmierkenntnisse in Java voraus!

Warum mache ich das Ganze?
In erster Linie als Tutorial für ein paar gute Freunde und Kollegen, aber auch als Lernprojekt für mich selbst.
Damit das ganze auch interessant bleibt, werde ich alles von Grund auf selbst entwickeln und jegliche Grundlagen mit euch zusammen erarbeiten.

Dies ist meine erste kommentierte Videoserie, daher bin ich für jedes Feedback dankbar. Entweder hier im Thread oder als Kommentar zum Video.

Geplant sind so ca. 30 min pro Episode und diese werden in unregelmäßigen Abständen veröffentlicht - je nachdem wie es mir zeitlich passt.

Auf meinem Youtube-Channel findet ihr das ganze:

https://www.youtube.com/playlist?lis...T_COJrzQAI4oxL

Viel Spaß,
Final


----------



## Major_Sauce (14. Jun 2015)

Nabend,

kann man so machen, muss man aber nicht.
Das Problem, welches ich in den bisherigen 3 Videos gesehen habe, ist dass du relativ einfache Mechaniken verwendest welche leider nicht wirklich effizient sind.
Die Grundlagen bei den Zuschauern sind ja schon da, sollten zumindest, desswegen macht es viel mehr Sinn mal zu schauen wie professionelle Java-Entwickler etwas machen und daraus dann ein Spiel zu bauen, mit ein bisschen Panzertape geht das ganze dann schon.
Die Render-Loop wird zum Beißpiel relativ viele Schwierigkeiten machen, würde ich jetzt mal behaupten, wir werden wohl sehen ob meine Behauptung stimmt.

Sonst ist alles relativ gut, es gibt ein paar Stellen an denen du meiner Meinung nach relativ schnell sprichst, dann hat man Probleme dich zu verstehen, aber sonst finde ich den Ansatz schon mal gar nicht so übel.

mfg Major


----------



## Finalspace (14. Jun 2015)

Major_Sauce hat gesagt.:


> Nabend,
> 
> kann man so machen, muss man aber nicht.
> Das Problem, welches ich in den bisherigen 3 Videos gesehen habe, ist dass du relativ einfache Mechaniken verwendest welche leider nicht wirklich effizient sind.
> ...



Ich mach das ganze Schritt für Schritt, beginnend bei den Basics und erweitere diese systematisch.
Dabei werden alle Grundlagen durchgenommen, die für die Spieleentwicklung relevant sind.

Hier mal die ersten Themen als Vorgeschmack was Dich/Euch erwartet:

- 2D Software-Renderer (sehr viel später wird das ersetzt durch OpenGL)
- Eingabeverarbeitung
- Bewegungsgleichung
- Vektoren und Geometrie
- Kollisionserkennung
- Kontakterzeugung
- Rigidbody Physik
- Contact-Solver
...


----------



## jupper (21. Jun 2015)

Gefällt mir sehr gut, hab gleich mal alle fünf Teile am Stück durchgearbeitet und direkt abonniert. Bin gespannt wie es weiter geht.


----------



## Finalspace (23. Jun 2015)

Freut mich das es gefällt. Ich gebe mir auf jedenfall Mühe und denke dass das ein oder andere hängen bleibt


----------



## jupper (24. Jun 2015)

Los weitermachen


----------



## Finalspace (3. Jul 2015)

Zwischenschnitt nach Folge 11:

Nun haben wir die ersten Grundlagen die wir benötigen um jetzt endlich richtig loszulegen!
Newton wir kommen!

@Forum: Es ist echt schade, das man keine vorhandenen Beiträge ändern kann :-(


----------



## Finalspace (5. Jul 2015)

Um mal nen Update zu geben:

Die Serie entwickelt sich bisher recht gut - wie ich finde.
Wir haben schon folgende Themen durchgenommen:

- Fenster -und Eingabeverarbeitung
- Einfaches Pixel Rendering (Punkt, Linie, Rechteck)
- Game Loop und Timing
- Bewegung und Numerische Integration
- Vektor-Grundlagen
- Die ersten Schritte mit Kollision und Reaktion
- Geometrytypen

und kommen ganz gut vorran.

Natürlich ist des was ich bisher so erzählt habe - nicht immer 100%  verständlich - zumindest nicht auf anhieb, allerdings merke ich das und  korrigiere es spätestens in der nächsten Episode.

Was meint Ihr? Ist mein Stil gut verständlich oder ist das zu schwer verdaulich?

Feedback ist erwünscht!


----------



## Finalspace (29. Jul 2015)

Update:

Es geht voran, mittlerweile haben wir schon 22 Episoden und stehen kurz vor der Kollisionslösung auf Basis von Kontakten - um den ersten Schritt Richtung Physik-Engine zu machen ;-)

Zusätzlich haben wir noch einige andere Themen durchgeackert:

- Kollisionserkennung für Ebenen
- Visualisierung von Ebenen und Einheitsvektoren
- Mauseingaben verarbeiten
- Kreis zeichnen mittels Midpoint
- Kontaktgenerierung (Ebene zu Kreis, Kreis zu Kreis, Ebene zu AABB)

Daher dauert es auch nicht mehr lange, bis wir bald nen rumspringenden Charakter haben 

Achja und Feedback ist wie immer sehr erwünscht!


----------



## Finalspace (22. Nov 2015)

Ja so langsam sieht man die ersten Züge eines Platformers, daher es geht vorran (nach 66 Episoden) ;-) War ne Gute Idee nur noch ~15 Min Episoden aufzunehmen.
Wir werden auf jedenfall dann mit dem integrierten Editor anfangen und die Physik-Engine nach und nach ausbauen. Ebenfalls möchte ich dann auch noch am Renderer weiter machen - Transformationen, Bitmaps, Fonts usw.

Zum Schluß habe ich noch eine Frage an euch:
Ist bisher alles verständlich oder gibt es noch Erklärungsbedarf? Wenn ja, in welchen Bereichen?

Gruß,
Final


----------



## Crafted_Mods (11. Dez 2015)

Ich habe zwar nicht alle Folgen gesehen, aber wenn das Problem mit dem KeyListener weiterhin besteht, versuche, diesen zum Frame, nicht zum Canvas hinzuzüfügen.


----------



## Joose (11. Dez 2015)

Finalspace hat gesagt.:


> @forum: Es ist echt schade, das man keine vorhandenen Beiträge ändern kann :-(



Eine gewisse Zeit lang nach dem Erstellen eines Beitrages kann man diesen noch editieren. 
Aber eben nicht ewig, damit eine gewisse Ordnung und Synchronität bei den Beiträgen vorhanden bleibt.


----------



## Finalspace (11. Dez 2015)

Crafted_Mods hat gesagt.:


> Ich habe zwar nicht alle Folgen gesehen, aber wenn das Problem mit dem KeyListener weiterhin besteht, versuche, diesen zum Frame, nicht zum Canvas hinzuzüfügen.



Ja mittlerweile ist das Problem erledigt. canvas.setFocusable hatte gefehlt.


----------

