Ich vermisse diese Art von Videos :,C Die kommen viel zu selten dafür dass sie so gut sind. Kannst du nicht eine App entwickeln, die dich simuliert, damit du mehr Zeit hast um neben LevelUP und sonstigem auch noch mehr solcher Videos zu machen? :D Wenn ich es endlich mal schaffe mich dazu zu bewegen ein Projekt zur Abwechslung auch wirklich mal fertig zu stellen kommen auf jeden Fall ein paar Let'sGameDev Anspielungen rein :D
Wow, das Video ist richtig gut gemacht, sehr verständlich und anschaulich erklärt! Da bekommt man richtig lust selber so einen Levelgenerator zu programmieren und auszutesten! Vielen Dank!
Sehr gutes Video, Tom! Ich weiß zwar, dass du viel zu tun hast mit LevelUP (großartiges Format btw) und genauso weiß ich auch, dass ich nie ein Spiel programmieren werde (lange Geschichte, ich hab's aufgegeben :D) aber ich finde den Stil deiner Videos super und informativ. Außerdem mag ich es zu verstehen, wie sowas generell umgesetzt wird :D tl;dr: Wenn du Zeit und Lust hast mach weiter mit den Videos, an Publikum wird es dir nicht mangeln.
Das ist super erklärt! Bin durch Zufall auf dieses Thema gestoßen (Elite Dangerous) und wollte einfach mal, anhand eines einfachen Beispieles wissen wie prozedurale Synthese prinzipiell funktioniert.
+LetsGameDev Wie war eigentlich das Bachleorstudium? War es schwer? Muss man viel zuhause erledigen? Ich möchte nach der kaufmännischen Ausbildung und einem Praktikum die Fachhochschule und das Bachleor of Science in Wirtschaftsinformatik erreichen.
:D nice, zum Glück hab ich schon ne level Generierung für die gppcc geschrieben :D dabei werden aber immer die zwei nächsten räumen mit einem gang verbunden und eine Raum bekommt mehrere Gänge die zu jeweils einem anderen Raum führen :D das ganze erinnert dann eher an die anfangs level von pokemon mystery dungeon
man kann auch eine geordnete list machen wo man eine methode machet die den wert des benachbarten zurückgibt. dann kann man für die felder auch objekte nehmen dien man mehr eigenschaften geben kann
Echt cool. Ich habe es mal in GameMaker:Studio v1 nachgebaut: puu.sh/sv5xd.gif In deinem Video hättest du den Weg, eine Sackgasse zu finden etwas performanter erklären können, indem man einfach schaut, wo der Weg geht und der Stack "leer geschaut wird".
Hi Tom, mein G++ Game wird wohl leider wegn Schule und Star Wars Battlefront nicht rechtzeitig fertig, ich werde es trotzdem mit mehr Zeit fertig machen :D
Ich hätte mich ja noch eine Punkt 6 gewünscht: 6 \0 Wenn schon nerdig dann richtig :D Edit: Upps ein Fehler, das ist ja ne Escape-Sequenz, die kann ja garnicht als String ausgegeben werden XD Edit Edit: Außer du escapest die Escape-Sequenz. Aber das müsstest du vor der Ausgabe tun, was aber dann hardcoded wär, weil es ja nur für den Fall ist, wenn array[x]=="\0" ist. Escaped kannst du ja nicht in den Array schreiben, sonst hat er ja kein Ende mehr ^^ Und wenn du die Felder alle während der Ausgabe escapst hast du das Problem das deine tolle Formatierung flöten geht XD
Hallo, Tom! Dein "Level" verfügt ja über eine definierte Fläche innerhalb derer sich alle Gänge und Räume befinden müssen. Was ist nun aber, wenn man die zusätzliche Bedingung zu erfüllen hat, dass die gesamte Fläche zu 100% genutzt werden soll? Also, sagen wir mal, das Level besteht aus 16x16 Feldern von denen jedes entweder Wand oder Raum oder Gang sein muss. Was ändert sich dann am Algorithmus, bzw. was muss ich bei der Implementierung eines solchen beachten? Ich würde mich über ein paar "Vorüberlegungen" als Denkanstoß freuen, denn so weit ich es anhand deiner vielfältigen Videos erkennan kann, bist du ein recht cleverer und findiger Denker und Programmierer.
Also, wenn jede Kachel entweder Wand oder Raum oder Gang sein soll, dann würde ich folgendes Definieren: Gänge sind doch eigentlich auch nur Räume, denn in beiden kann man gehen. Und Wand ist Wand egal wie Dick diese ist. Demnach würde das was ich hier gezeigt habe, sogar deiner Definition entsprechen. Wenn du aber ganz am Ende vermeiden willst, dass es große Schwarze "Wandflächen gibt", so könntest du vielleicht diese Identifizieren und dort wieder räume generieren.
Ok, cool, dass du du trotz der anstehenden G++CC12 noch Zeit gefunden hast, mir zu antworten. Deine Antwort lasse ich mir noch durch den Kopf gehen. Btw., die Top 3 Spiele der G++CC12 waren 3 von 6 Spielen, die bei mir persönlich in der engeren Auswahl waren.
Hallo Tom, mein G++ Game ist schon fast fertig, aber bevor ich es abschicke hätte ich noch ne Frage. Und zwar zu den zwei Screenshots die man mit einschicken muss. Sollen diese zu 100 % dem Spiel entsprechen oder dürfen die auch bearbeitet sein, also so wie die meisten Screenshots im Play Store, die unter anderem auch Schrift und andere Elemente enthalten?
Hat jemand eine gute Idee, wie man implementieren könnte, welche der Nachbarfelder frei sind und man anhand dessen seinen x/y wert verändert? Mir fallen nur sehr hässlich ineffektive methoden ein :p Danke im vorraus
+LetsGameDev Im Prinzip solltest bei jedem Video, wo du mit Schritt 1 anfängst am Ende des Videos mein Browser abstürzen mit der Fehlermeldung "IndexOutOfBoundsException: Dieser UA-camr hat es auf dich abgesehen".
Heii :) Also das ist so: ich bin noch relitiv jung (für das Programmieren) und fange deswegen an mit python zu programmieren, weil ich nicht mit so welchen programmen wie xojo oder so arbeiten möchte.Ist es schlau mit python anzufangen?Ich fing schonmal an die java sprache zu lernen, dann sagte mir mein onkel (er arbeitet als Programmiere oder so :D)das das quatsch ist am anfang java zu lernen.Würde mich über eine antwort freuen, eigentlich egal von wem ^^
+Sofa Plays Wenn du dir einen Raspberry Pi holst, kannst du echt coole Projekte mit Python programmieren. Wetterstationen, Smart Home Systeme, Motoren steuern usw. Dazu ist Python 'ne relativ einfache Sprache :) Ich würd dir aber auch empfehlen HTML und CSS zu lernen damit du ein Grundverständnis für einrücken und die Auswirkung von Befehlen hast. So habe ich es damals gelernt :D PS: Gib nicht zu schnell auf. Programmieren kann manchmal echt frustrierend sein, aber das ist meiner Meinung nach das spaßige daran :D
+KevinLikesChips ja, mir macht auch am meistem spass das korrigieren, das nachdenken und das verzweifeln :D Am Ende ist man dann um so stolzer ^^ Und danke für dein Kommentar :)
Hi @LetsGameDev, vielen Dank für das Video. Auf dessen Grundlage konnte ich meinen eigenen Levelgenerator basteln :) ua-cam.com/video/x9ie-2owKMA/v-deo.html
Ich vermisse diese Art von Videos :,C
Die kommen viel zu selten dafür dass sie so gut sind. Kannst du nicht eine App entwickeln, die dich simuliert, damit du mehr Zeit hast um neben LevelUP und sonstigem auch noch mehr solcher Videos zu machen? :D
Wenn ich es endlich mal schaffe mich dazu zu bewegen ein Projekt zur Abwechslung auch wirklich mal fertig zu stellen kommen auf jeden Fall ein paar Let'sGameDev Anspielungen rein :D
"Schritt Null" hat mir schon wieder gefallen :D
hahaha ja schönes Unwort. "...separt zu haben" fand ich auch gut. 'Separieren' hätte es getan :))
Ich merke erst jetzt wie mir deine Videos fehlen ;(
Richtig gut, wie eig. immer :D
Du kannst wirklich hervorragend erklären.
Wow, das Video ist richtig gut gemacht, sehr verständlich und anschaulich erklärt! Da bekommt man richtig lust selber so einen Levelgenerator zu programmieren und auszutesten! Vielen Dank!
Wieder ein sehr tolles Video :) Diese Art von Video habe ich schon in deinem Kanal vermisst.. Mach weiter so :-)
Schön, mal wieder ein Technik Video von dir zu sehen :D
Sehr gutes Video, Tom!
Ich weiß zwar, dass du viel zu tun hast mit LevelUP (großartiges Format btw) und genauso weiß ich auch, dass ich nie ein Spiel programmieren werde (lange Geschichte, ich hab's aufgegeben :D) aber ich finde den Stil deiner Videos super und informativ. Außerdem mag ich es zu verstehen, wie sowas generell umgesetzt wird :D
tl;dr: Wenn du Zeit und Lust hast mach weiter mit den Videos, an Publikum wird es dir nicht mangeln.
Das ist super erklärt! Bin durch Zufall auf dieses Thema gestoßen (Elite Dangerous) und wollte einfach mal, anhand eines einfachen Beispieles wissen wie prozedurale Synthese prinzipiell funktioniert.
Aaaawaaa! Genau darüber habe ich angefangen meine Bachelor Thesis zu schreiben. :)
+Brotcrunsher Das wär cool, wenn ich die urteilsfrei lesen dürfte wenn sie fertig ist^^
LetsGameDev
Geht klar! März oder so :)
supi^^
+LetsGameDev Wie war eigentlich das Bachleorstudium? War es schwer? Muss man viel zuhause erledigen? Ich möchte nach der kaufmännischen Ausbildung und einem Praktikum die Fachhochschule und das Bachleor of Science in Wirtschaftsinformatik erreichen.
Sehr gut erklärt! Vielen Dank.
Sehr interessantes Video! Vielen Dank.
der Algorithmus klappt wunderbar in Minecraft mit der Spigot-Api
:D nice, zum Glück hab ich schon ne level Generierung für die gppcc geschrieben :D dabei werden aber immer die zwei nächsten räumen mit einem gang verbunden und eine Raum bekommt mehrere Gänge die zu jeweils einem anderen Raum führen :D das ganze erinnert dann eher an die anfangs level von pokemon mystery dungeon
Wann kommt das Spiel raus?
Ich freu mich darauf!
Cooles Video :) Mehr davon
man kann auch eine geordnete list machen wo man eine methode machet die den wert des benachbarten zurückgibt. dann kann man für die felder auch objekte nehmen dien man mehr eigenschaften geben kann
kann ich das in dem RPG Maker VX Ace auch nutze wen nicht gipt es da ne
andere möglichkeit
Darüber schreibe ich gerade meine Facharbeit :D super Video!
+Daniel Behpunkt die ich natürlich lesen möchte^^
Verstehe ich dass richtig dass der Generator sozusagen über eine Formale Grammatik definiert ist und das Level dann die Formale Sprache darstellt?
Echt cool. Ich habe es mal in GameMaker:Studio v1 nachgebaut: puu.sh/sv5xd.gif
In deinem Video hättest du den Weg, eine Sackgasse zu finden etwas performanter erklären können, indem man einfach schaut, wo der Weg geht und der Stack "leer geschaut wird".
Das ist mega cool ;)
Interessante Videos. Total vergesseen....
Hi Tom, mein G++ Game wird wohl leider wegn Schule und Star Wars Battlefront nicht rechtzeitig fertig, ich werde es trotzdem mit mehr Zeit fertig machen :D
+Pizza Train Achja: Danke, dass du mal wieder so ein Video gemacht hast!
+Pizza Train Haha :P Auch einer der Battlefront spielt und deswegen nicht (vermutlich nicht) mit macht :D
Liegt ja nicht NUR an Battlefront... :D
kannst du die html, js und css dateien zum download anbieten? wäre super:)
Hej Tom wie hast du die Räume gesetzt? also wie umgesetzt ?/
kann es nicht sein dass bei schritt 4 sich zwei räume durchgang verschaffen, aber sich mit keinem Weg verbinden?
Was ist eigentlich mit Heart eater?
Ich hätte mich ja noch eine Punkt 6 gewünscht:
6
\0
Wenn schon nerdig dann richtig :D
Edit:
Upps ein Fehler, das ist ja ne Escape-Sequenz, die kann ja garnicht als String ausgegeben werden XD
Edit Edit:
Außer du escapest die Escape-Sequenz. Aber das müsstest du vor der Ausgabe tun, was aber dann hardcoded wär, weil es ja nur für den Fall ist, wenn array[x]=="\0" ist.
Escaped kannst du ja nicht in den Array schreiben, sonst hat er ja kein Ende mehr ^^
Und wenn du die Felder alle während der Ausgabe escapst hast du das Problem das deine tolle Formatierung flöten geht XD
eine frage, ist es dann nicht doof dass in 100% der sackgassen truhen vorzufinden sind?
+Ricardo Sendes Das ist j dir überlassen, du kannst ja auch sackgassen haben ohne truhen^^
Hallo, Tom!
Dein "Level" verfügt ja über eine definierte Fläche innerhalb derer sich alle Gänge und Räume befinden müssen. Was ist nun aber, wenn man die zusätzliche Bedingung zu erfüllen hat, dass die gesamte Fläche zu 100% genutzt werden soll? Also, sagen wir mal, das Level besteht aus 16x16 Feldern von denen jedes entweder Wand oder Raum oder Gang sein muss. Was ändert sich dann am Algorithmus, bzw. was muss ich bei der Implementierung eines solchen beachten? Ich würde mich über ein paar "Vorüberlegungen" als Denkanstoß freuen, denn so weit ich es anhand deiner vielfältigen Videos erkennan kann, bist du ein recht cleverer und findiger Denker und Programmierer.
Also, wenn jede Kachel entweder Wand oder Raum oder Gang sein soll, dann würde ich folgendes Definieren: Gänge sind doch eigentlich auch nur Räume, denn in beiden kann man gehen. Und Wand ist Wand egal wie Dick diese ist. Demnach würde das was ich hier gezeigt habe, sogar deiner Definition entsprechen.
Wenn du aber ganz am Ende vermeiden willst, dass es große Schwarze "Wandflächen gibt", so könntest du vielleicht diese Identifizieren und dort wieder räume generieren.
Ok, cool, dass du du trotz der anstehenden G++CC12 noch Zeit gefunden hast, mir zu antworten. Deine Antwort lasse ich mir noch durch den Kopf gehen. Btw., die Top 3 Spiele der G++CC12 waren 3 von 6 Spielen, die bei mir persönlich in der engeren Auswahl waren.
Hallo Tom, mein G++ Game ist schon fast fertig, aber bevor ich es abschicke hätte ich noch ne Frage.
Und zwar zu den zwei Screenshots die man mit einschicken muss.
Sollen diese zu 100 % dem Spiel entsprechen oder dürfen die auch bearbeitet sein, also so wie die meisten Screenshots im Play Store, die unter anderem auch Schrift und andere Elemente enthalten?
+Schrott Games eines sollte auf jeden fall unbearbeitet sein
Ok, dann mach in ein Screenshot unbearbeitet, und auf den anderen schreibe ich Infos drauf
Hat jemand eine gute Idee, wie man implementieren könnte, welche der Nachbarfelder frei sind und man anhand dessen seinen x/y wert verändert? Mir fallen nur sehr hässlich ineffektive methoden ein :p
Danke im vorraus
Schritt 0 :) Den verstehen nur Programmieren vollständig ^^
+Sven Haberkorn Wenn das überhaupt eine Anspielung darauf sein soll, dass Programmierer von 0 hochzählen müssen. :)
+Sven Haberkorn sollte tatsächlich keine sein XD aber du hast recht und nun freue ich mich das ich mir selbst einen witz vorenthalten habe XD
+LetsGameDev Im Prinzip solltest bei jedem Video, wo du mit Schritt 1 anfängst am Ende des Videos mein Browser abstürzen mit der Fehlermeldung "IndexOutOfBoundsException: Dieser UA-camr hat es auf dich abgesehen".
+Sven Haberkorn außer du programmierst lua
*****
Okay, bis auf kleine Ausnahmen. :) Aber cool dass du's sagst. Von Lua hatte ich noch nichts gehört.
Mit Stack meinst du Array oder Table stimmts?
+BuschTube Mit Stack meine ich Stack. In Javascript hat allerdings ein Array auch die Funktionallitäten eines Stacks
+BuschTube In Java wäre ein Stack zB eine Queue (gleiche Funktion wie ein Stack)
+LetsNecnuc ● Ɗĕŗ ǨūŋƋȅ Es gibt auch den Originalstack wie von Tom beschrieben: docs.oracle.com/javase/7/docs/api/java/util/Stack.html
Heii :) Also das ist so: ich bin noch relitiv jung (für das Programmieren) und fange deswegen an mit python zu programmieren, weil ich nicht mit so welchen programmen wie xojo oder so arbeiten möchte.Ist es schlau mit python anzufangen?Ich fing schonmal an die java sprache zu lernen, dann sagte mir mein onkel (er arbeitet als Programmiere oder so :D)das das quatsch ist am anfang java zu lernen.Würde mich über eine antwort freuen, eigentlich egal von wem ^^
ich hab auch mit python angefangen kann bis heute nichts anderes wirklich gut
+Sofa Plays Wenn du dir einen Raspberry Pi holst, kannst du echt coole Projekte mit Python programmieren. Wetterstationen, Smart Home Systeme, Motoren steuern usw. Dazu ist Python 'ne relativ einfache Sprache :)
Ich würd dir aber auch empfehlen HTML und CSS zu lernen damit du ein Grundverständnis für einrücken und die Auswirkung von Befehlen hast. So habe ich es damals gelernt :D
PS: Gib nicht zu schnell auf. Programmieren kann manchmal echt frustrierend sein, aber das ist meiner Meinung nach das spaßige daran :D
+KevinLikesChips ja, mir macht auch am meistem spass das korrigieren, das nachdenken und das verzweifeln :D Am Ende ist man dann um so stolzer ^^ Und danke für dein Kommentar :)
+Boronwarrior Aber wenigstens kannst du eine sache ;)
+Sofa Plays Wie alt bist du denn ;) ?
In diesem Sinne.
HTML5 KANWAAS Element. :3
Hi @LetsGameDev, vielen Dank für das Video. Auf dessen Grundlage konnte ich meinen eigenen Levelgenerator basteln :)
ua-cam.com/video/x9ie-2owKMA/v-deo.html
hehe bin der 69. Zuschauer >:)
haha
Das "und ich programmiere ein Spiel" hat sich nicht sehr überzeugt angehört!
xD puu.sh/mySOK/bdae76cf95.jpg
Enums FTW
Integers sind langweilig
peh.
Ich mag Integer aber D:
ich eigentlich auch aber in diesem Fall zu unübersichtlich :/
mimimi