Entwicklung eines Jump & Run Spiels Video-Tutorial

Klingt spannend. Werde mir heute Abend mal die erste Episode anschauen...
 
Hallo Finalspace.

Ich bin gestern zufällig auf diesen Thread (äh .. Faden? :D) gestoßen und mir mal die ersten 10 (und nur auf diese kann ich mich mit meiner Kritik beziehen) Videos angeschaut. Ich habe zwar kein allgemeines Interesse an der Spieleprogrammierung und habe erst geringe Erfahrungen mit Programmierung allgemein gesammelt, aber manche spezielle Problemstellungen fand ich schon immer wissenswert.

Vom Stil her wurde es ja schon geschrieben, dass du bestimmte Aspekte sehr schnell und andere dafür eher langsamer abhandelst. Meiner Meinung nach solltest du jetzt bei deinem Neuanfang schauen, dass du auf spezifische Eigenheiten der Sprache kurz eingehst, zumal du damit u.U. auch einen größeren Hörerkreis erreichen könntest.

In den Episoden 6-8 ist mir aufgefallen, dass dir einige mathematische / physikalische Zusammenhänge nicht tiefsitzend klar sind, sodass du sie nicht 100% gut erklären kannst. An dieser Stelle möchte ich betonen, dass das Erklären und das entsprechende Multitasking mit dem nebenbei noch Programmieren etc. keine einfache Sache sind und ich das in der Situation ohne entsprechende Vorbereitung auch nicht besser könnte. D.h. jetzt aber nicht, dass für dich kein Potenzial zur Verbesserung mehr drinne ist ;)

Du hast z.B. bei der Physikeinführung in die Bewegungsgleichung die Gleichungen erklärt, dabei aber einige Zusammenhänge weggelassen, wie z.B. den Zusammenhang der Kurvenformen ( s(t) , v(t) , a(t) ). Und obwohl du die recht ausgiebig erklärt hast, stellst du fest, dass du die Gleichungen eigentlich nicht verwenden kannst, und verwendest sie dann doch irgendwie. Mir haben in der Erklärung z.B. die Grundgedanken zwischen kontinuierlicher Zeit und dem entsprechendem Gegenstück des Computers mit diskreter Zeit gefehlt.

Bei einigen Mathe-Erklärungen hat man richtig schön gemerkt, dass du "in's Schwitzen" geraten bist und teilweise auch mit den Formulierungen geschwächelt hast. Ich denke, es wird und kann keiner erwarten, dass du das ganze physikalisch und mathematisch korrekt formulieren kannst. Ich kann da aus Erfahrung sprechen, dass das viel Übung und Kenntnis braucht. Es bringt aber auch nicht so viel, wenn es dann ungenau wird und sich in die Länge zieht.

Ich würde dir daher ein paar Vorschläge machen: Das Mathe/Physik Zeug nach dem Motto "In der Kürze liegt die Würze" halten. Mit wenigen Worten wirklich das sagen, was gesagt werden muss und was du auch sicheren Wissens ausdrücken kannst. Ggf. die Zuschauer dazu animieren, selbst nachzulesen, eventuell Links bereitstellen, wo nachgelesen werden kann.

Bsp.: Vektoren. Vektoren haben Richtung, haben einen Betrag (Länge), lassen sich per Superposition addieren, können linear unabhängig sein, Komponentenschreibweise und es existiert ein Winkel zwischen ihnen, der nach der Formel xyz berechnet wird.
Danach ein Beispiel aus der Mathematik, gefolgt von der Anwendung bei der 3D-Programmierung. Nicht weniger, aber auch nicht viel mehr.

Bsp.: Winkelfunktionen: Sinus, Cosinus = Sinus 90° bzw. Pi/2 versetzt, Tanges = Sinus / Cosinus. Sinus = Gegenkathete / Hypotenuse; periodisch, zwischen -1 und +1. Wird benötigt, um Vektoren in Komponenten zu zerlegen. Bähm. Genug Wissen ;)

Wenn du es genauer und ausführlicher machen willst, solltest du dir die Sachverhalte entweder vorher in der gewünschten Tiefe klarmachen, oder es zumindest irgendeiner Person vorher sozusagen als Übung erklären.

Wiegesagt - lieber kurz fassen und auf das Wesentliche konzentrieren.

Ansonsten bin ich beeindruckt davon, dass du soviele Episoden geschafft hast und jetzt trotzdem nochmal mehr oder weniger von vorne anfangen willst. Ich hatte Java nur mal ein reichlich halbherziges Semester und hab davon eigentlich nur Abneigung gegenüber Java mitgenommen. Eclipse macht als IDE aber einen guten Eindruck. Gerade wie einfach es war, einfach mal was in's Fenster zeichnen zu lassen und deine Coding-Geschwindigkeit sind gut anzusehen. Seh ich das Richtig, dass du Tastaturmakros verwendest? Ich hätte ja direkt mal wieder Lust ... :D

Rein inhaltlich denke ich, dass ich sehr gut mitgekommen bin, trotzdessen ich mich wiegesagt nicht so sehr mit Java auseinandergesetzt habe. Vom Level her empfand ich es ungefähr auf Abiturstufe. Also tendenziell eher einen Schritt zügiger.

Mich würde es noch interessieren, wie und warum du jetzt genau auf Objective Pascal gekommen bist. Ich hatte meine Programmieranfänge noch mit TurboPascal und später dann mit Delphi. Bei letzterem habe ich in meinen jüngeren Jahren sogar mit dem Buch "Game Programming für Kids" gearbeitet, wo der Autor mit Genesis3D gearbeitet hat. Da war alles sehr jugendgerecht erklärt und es gab entsprechende Vorlagedatein auf CD. Ich habe das Projekt damals nicht ganz zu Ende gebracht, vor allem, weil die Grafik doch mehr als stark zu wünschen übrig ließ. Immerhin hatte ich eine einfache Kollisionskontrolle, konnte Springen und eine Tür öffnen. Letzten Endes hat mich die Technik um das Spiel herum mehr interessiert, als ein eigenes Spielkonzept zu entwickeln. Bin mal gespannt, wie das dann am Ende bei dir aussieht :D

Ich bin jedenfalls gespannt wie es weiter geht, wünsche dir Durchhaltevermögen und gutes Gelingen.
 
Also erstmal Danke für das tolle Feedback @InteGralFormat! Gerne kommentiere ich das ganze.

InteGralFormat schrieb:
Vom Stil her wurde es ja schon geschrieben, dass du bestimmte Aspekte sehr schnell und andere dafür eher langsamer abhandelst. Meiner Meinung nach solltest du jetzt bei deinem Neuanfang schauen, dass du auf spezifische Eigenheiten der Sprache kurz eingehst, zumal du damit u.U. auch einen größeren Hörerkreis erreichen könntest.

Es wird ne ausführliche Einführung geben, für Umsteiger - bzw. für die die schon programmieren können.

InteGralFormat schrieb:
In den Episoden 6-8 ist mir aufgefallen, dass dir einige mathematische / physikalische Zusammenhänge nicht tiefsitzend klar sind, sodass du sie nicht 100% gut erklären kannst. An dieser Stelle möchte ich betonen, dass das Erklären und das entsprechende Multitasking mit dem nebenbei noch Programmieren etc. keine einfache Sache sind und ich das in der Situation ohne entsprechende Vorbereitung auch nicht besser könnte. D.h. jetzt aber nicht, dass für dich kein Potenzial zur Verbesserung mehr drinne ist ;)
Du hast z.B. bei der Physikeinführung in die Bewegungsgleichung die Gleichungen erklärt, dabei aber einige Zusammenhänge weggelassen, wie z.B. den Zusammenhang der Kurvenformen ( s(t) , v(t) , a(t) ). Und obwohl du die recht ausgiebig erklärt hast, stellst du fest, dass du die Gleichungen eigentlich nicht verwenden kannst, und verwendest sie dann doch irgendwie. Mir haben in der Erklärung z.B. die Grundgedanken zwischen kontinuierlicher Zeit und dem entsprechendem Gegenstück des Computers mit diskreter Zeit gefehlt.
Bei einigen Mathe-Erklärungen hat man richtig schön gemerkt, dass du "in's Schwitzen" geraten bist und teilweise auch mit den Formulierungen geschwächelt hast. Ich denke, es wird und kann keiner erwarten, dass du das ganze physikalisch und mathematisch korrekt formulieren kannst. Ich kann da aus Erfahrung sprechen, dass das viel Übung und Kenntnis braucht. Es bringt aber auch nicht so viel, wenn es dann ungenau wird und sich in die Länge zieht.

Meine Mathekenntnisse sind leider nicht so ausgeprägt, hatte früher in der Schule einfach kein Interesse - Heute allerdings schon. Das rächt sich halt nun, gerade in der Spieleentwicklung bei dem Mathe ein essentieller Teil sind.
Aber man kann sich sehr viel selbst beibringen durch Bücher, Papers, Tutorials etc. Hab damit schon sehr komplexe Projekte umgesetzen können wie z.b. Flüssigkeitssimulationen, Rigidbody-Physik-Simulationen, Partikelsimulationen. Wird übrigens ein wenig besser in den spät. Episoden - da werde ich dann locker und dann klappts einfach besser.

InteGralFormat schrieb:
Ich würde dir daher ein paar Vorschläge machen: Das Mathe/Physik Zeug nach dem Motto "In der Kürze liegt die Würze" halten. Mit wenigen Worten wirklich das sagen, was gesagt werden muss und was du auch sicheren Wissens ausdrücken kannst. Ggf. die Zuschauer dazu animieren, selbst nachzulesen, eventuell Links bereitstellen, wo nachgelesen werden kann.

Genau so würde ich es auch machen, kurz halten und am ende für Details auf Links verweisen.

InteGralFormat schrieb:
Bsp.: Vektoren. Vektoren haben Richtung, haben einen Betrag (Länge), lassen sich per Superposition addieren, können linear unabhängig sein, Komponentenschreibweise und es existiert ein Winkel zwischen ihnen, der nach der Formel xyz berechnet wird.
Danach ein Beispiel aus der Mathematik, gefolgt von der Anwendung bei der 3D-Programmierung. Nicht weniger, aber auch nicht viel mehr.

Bsp.: Winkelfunktionen: Sinus, Cosinus = Sinus 90° bzw. Pi/2 versetzt, Tanges = Sinus / Cosinus. Sinus = Gegenkathete / Hypotenuse; periodisch, zwischen -1 und +1. Wird benötigt, um Vektoren in Komponenten zu zerlegen. Bähm. Genug Wissen ;)

Also Vektoren habe ich über den Einheitskreis erklärt - fand ich persönlich den besten Weg Vektoren und alles was dazu gehört zu verstehen.
Kann sein, dass dies in ner späteren Episode kommt und ich es nur in den ersten 10 Episoden "angeschnitten" habe. Anscheiden ist irgendwie nie gut.

InteGralFormat schrieb:
Ansonsten bin ich beeindruckt davon, dass du soviele Episoden geschafft hast und jetzt trotzdem nochmal mehr oder weniger von vorne anfangen willst. Ich hatte Java nur mal ein reichlich halbherziges Semester und hab davon eigentlich nur Abneigung gegenüber Java mitgenommen. Eclipse macht als IDE aber einen guten Eindruck. Gerade wie einfach es war, einfach mal was in's Fenster zeichnen zu lassen und deine Coding-Geschwindigkeit sind gut anzusehen. Seh ich das Richtig, dass du Tastaturmakros verwendest? Ich hätte ja direkt mal wieder Lust ... :D

Danke! Bin selbst erstaunt dass ich über 100 Episoden produziert habe.
Eclipse ist ne super Programmierumgebungen - gerade für Java ziemlich gut. Java ist auch ne feine Sprache mit der man schnell programmieren kann, allerdings hat man keinerlei möglichkeiten tief im System zu programmieren (SIMD z.b.).
Allerdings seit Minecraft wissen wir, dass man Spiele mit Java definitiv programmieren kann - allerdings wissen wir auch das MC kein Performancewunder ist...

InteGralFormat schrieb:
Rein inhaltlich denke ich, dass ich sehr gut mitgekommen bin, trotzdessen ich mich wiegesagt nicht so sehr mit Java auseinandergesetzt habe. Vom Level her empfand ich es ungefähr auf Abiturstufe. Also tendenziell eher einen Schritt zügiger.

Zu zügig in manchen Themen und zu langsam in anderen...

InteGralFormat schrieb:
Mich würde es noch interessieren, wie und warum du jetzt genau auf Objective Pascal gekommen bist. Ich hatte meine Programmieranfänge noch mit TurboPascal und später dann mit Delphi. Bei letzterem habe ich in meinen jüngeren Jahren sogar mit dem Buch "Game Programming für Kids" gearbeitet, wo der Autor mit Genesis3D gearbeitet hat. Da war alles sehr jugendgerecht erklärt und es gab entsprechende Vorlagedatein auf CD. Ich habe das Projekt damals nicht ganz zu Ende gebracht, vor allem, weil die Grafik doch mehr als stark zu wünschen übrig ließ. Immerhin hatte ich eine einfache Kollisionskontrolle, konnte Springen und eine Tür öffnen. Letzten Endes hat mich die Technik um das Spiel herum mehr interessiert, als ein eigenes Spielkonzept zu entwickeln. Bin mal gespannt, wie das dann am Ende bei dir aussieht :D

Das hat folgenden Hintergrund: Zum einen wollte ich so oder so zu einer Low-Level Sprache wechseln und zum anderen arbeite ich seit April wieder beruflich mit Delphi.
Und schlussendlich war ich mit dem Stil der Serie nicht wirklich zufrieden - wobei ich hier nicht wirklich weiß wie ich das mit meinem minimalen Zeitbudget besser machen soll.

InteGralFormat schrieb:
Ich bin jedenfalls gespannt wie es weiter geht, wünsche dir Durchhaltevermögen und gutes Gelingen.

Danke. Ich hoffe der Neustart wird hoffentlich besser - aber mangels Zeit werde ich nicht viel Vorbereiten können, aber ich werd mich bemühen! Mit Familie, Kinder und Vollzeitarbeit ist einfach nicht mehr drin - bin froh wenn ich überhaupt mal ne erfolgreiche Episode ohne große Fehler aufnehmen konnte.
 
Zuletzt bearbeitet:
Zurück
Oben