Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

31.07.2015, 21:15

Entwicklung eines komplexen Jump & Run Spiels (Video-Tutorial)

Hallo,

ich möchte euch mein Projekt vorstellen, bei dem ich ein Jump & Run Spiel komplett von Grund auf programmiere und dabei aber jedes noch so kleine Detail kommentiere/erkläre.
Dazu werden alle Grundlagen wie Vektor-Mathematik, Physik, Spielmechanik, Architektur erarbeitet - basierend auf meiner 20+ jährigen Erfahrung als Anwendungeentwickler.

Das Spiel selbst wird ein aufwendiger Vektor-basierter Puzzle-Action-Physik-Geschicklichkeits-Platformer in 2.5D - also schonmal recht ambitioniert.
Grob wird das ne Mischung aus Mega Man, Zelda, Mario, Turrican, Commander Keen und vielen Weiteren.

Daher wird das hier kein einfacher kachelbasierter Platformer, den man in ein paar Std. zusammenzimmert, sondern eher ein etwas längeres Projekt bei dem ich unter anderem folgende Themen durchnehme:

- Fenstererstellung / Game Loop
- einfacher 2D Software-Renderer zum Zeichnen von Pixeln/Linien/Kreisen/Rechtecken/Bitmaps/Fonts
- Eingabenverarbeitung
- Vektorgrundlagen
- Kollision und Reaktion
- Geometrie
- Visualisierungen
- Bewegungsintegration
- 2D Rigid body Physik-Engine
- Game/Engine-Trennung
- ECS (Entity Component System)
- Asset-Management / Speicher-Management
- Eventhandling
- Spatiale-Strukturen
- Optimierungen

- und viele Weitere die sich während der Entwicklung ergeben.

Das ganze wird realisiert mit Java 7/8 in der Entwicklungsumgebung Eclipse - ohne Nutzung von Fremdbibliotheken oder einer fertigen Engine. Daher setzte ich auch entsprechende Programmierkenntnisse in Java voraus und werde nur Programmiertechniken erklären, die relevant für die Spielentwicklung sind oder nicht als Grundlagen zählen wie z.b. Threading, Reflection, Programmiermuster usw. Normale (Schul-)Mathematikkenntnisse reichen in der Regel aus. Ihr braucht also keine Physiker oder Mathematiker sein um, das zu verstehen - ich habe mir viel selbst erarbeitet und erschlossen.

Das Projekt wird Anfangs nachdem "Usage code first"-Prinzip umgesetzt, das bedeutet in dieser Phase wird alles so wie es passt runterprogrammiert - hier werden weder Programmierrichtlinien eingehalten noch Optimierungen gemacht. Der Grund dafür ist ganz klar: Ich will so schnell wie möglich nen fertigen Prototypen haben, der die Spielmechanik grundlegend implementiert.
In den nachfolgenden Phasen wird das natürlich anders.

Die Playlist findet Ihr hier:
https://www.youtube.com/playlist?list=PL…XT_COJrzQAI4oxL

Vorschläge, Kritik und generelles Feedback sind erwünscht und können entweder als Kommentar im Video oder hier als Reply angehängt werden.

Viel Spaß,
Final

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Finalspace« (02.08.2015, 22:32)


KeksX

Community-Fossil

Beiträge: 2 107

Beruf: Game Designer

  • Private Nachricht senden

2

31.07.2015, 21:31

Moin,


ich bin mal direkt zum letzten Video gesprungen. Sieht ganz gut aus, besonders weil du anscheinend auch mathematische Zusammenhänge usw erklärst. Allerdings sehe ich nirgendwo links für sourcecode oder ähnliches? Erwartest du, dass die Leute immer brav pausieren und Code abtippen? :)

Ansonsten hoffe ich natürlich, dass du nicht nur den Link postest und dann wieder verschwindest(was durchaus öfter mal vorkommt hier.)

In diesem Sinne viel Glück beim Projekt!
WIP Website: kevinheese.de

3

31.07.2015, 22:20

Moin,


ich bin mal direkt zum letzten Video gesprungen. Sieht ganz gut aus, besonders weil du anscheinend auch mathematische Zusammenhänge usw erklärst. Allerdings sehe ich nirgendwo links für sourcecode oder ähnliches? Erwartest du, dass die Leute immer brav pausieren und Code abtippen? :)

Ansonsten hoffe ich natürlich, dass du nicht nur den Link postest und dann wieder verschwindest(was durchaus öfter mal vorkommt hier.)

In diesem Sinne viel Glück beim Projekt!

Also ich habe auf jedenfall vor, hier regelmäßig vorbeizuschauen und Feedback zu beantworten und Updates zu posten.
Wie ich das mit Sourcecode geplant habe, weiß ich selber noch nicht. Bisher hatte ich nicht vor diesen zu veröffentlichen - zuviele Negative Erfahrungen gemacht in der Vergangenheit.
Aber ich wills nicht grundlegend ausschließen, muss mir dazu noch meine Gedanken machen.

Und ja verschwinden werde ich so schnell nicht, mit Ausnahme von den nächsten 3 Wochen wo ich ne Zeit lang außer Haus bin :D

Danke und viel Spaß noch,
Final

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Finalspace« (01.08.2015, 08:58)


4

01.08.2015, 00:05

Verwende für meine Games auch solch eine Lösung der Kollisionserkennung.

Danke fürs sharen. Sind sicherlich interessant für viele.

5

09.08.2015, 10:43

Verwende für meine Games auch solch eine Lösung der Kollisionserkennung.

Danke fürs sharen. Sind sicherlich interessant für viele.
Gern geschehen - es kommt hier auf jedenfall noch sehr viel mehr. Mehr als das was man typischerweise in einem Platformer erwartet, wobei der jetzige Ansatz der bereits implementiert ist für viele Spiele schon ausreichen könnte - z.b. für Billard.

6

14.08.2015, 21:17

So ich bin wieder zurück,

war 2 Wochen weg und habe mir in der Zeit ein wenig Gedanken gemacht wie ich das Projekt schneller vorantreiben kann - weil es mir persönlich viel zu langsam geht.
Es gibt jetzt schon 23 Episoden und wir haben nicht wirklich viel gemacht - von einem Platformer sind wir noch weit entfernt.

Daher werde ich den Stil der Serie ein wenig ändern, um nicht mehr eine Episode komplett aufnehmen zu müssen oder bei fatalen schnitzern nicht mehr komplett von vorne anfangen muss.
Stattdessen werde ich einzelne Teile machen und diese dann zu einer Episode zusammenfügen. Das wäre wesentlich flexibler und ich könnte auch mehr vorbereiten - sofern das vom Thema her geht.

Aber zu aller erst muss ich mir erst noch nen Videobearbeitungsprogramm zulegen. Solange wirds aber wie gewohnt im alten Stil weitergehen - wenn ich Zeit und Ruhe finde.

Stay tuned,
Final

Werbeanzeige