Prozedurale Generierung – Level-Schwierigkeitsgrad vorgeben – Unity3D Tutorial

Weiter geht es mit der Prozeduralen Level-Generierung unseres 2D Plattformers. Nach dem wir uns das letztes Mal um die Prozeduralere Generierung von 2D Plattformen gekümmert haben, entwickle ich heute mit Dir einen Schwierigkeitsgrad für eine Szene.

Anhand diesem werden wir dann die isDanger-Eigenschaften unserer Plattformen steuern.

Wie kann man den Schwierigkeitsgrad beeinflussen?

Es gibt viele Möglichkeiten über die man die Schwierigkeit eines Levels steuern kann. Das kann die Gegneranzahl sein, die Stärke der Gegner oder aber auch wie gefährlich das Level an sich ist. Aber wie kann ein Level gefährlich sein, fragst Du Dich jetzt vielleicht.

Das geht ganz einfach. Stelle Dir ein Level mit einer geraden Fläche vor, die Du als Spieler einfach entlang laufen kannst. Dies ist sehr einfach und Du kannst  nicht (ohne Gegner oder anderen Fallen) sterben.

Besteht Dein Level aber nun aus verschiedenen Inseln, von denen Du herunterfallen kannst, ist das Level plötzlich gefährlich. Denn Du kannst nun nur aufgrund des Level-Aufbaus auf einmal sterben –  ganz ohne Gegner oder ähnlichem.

Und genau dies integriere ich in diesem Teil meiner Unity-Reihe und den Plattformer.

Ich werde mit Dir eine Schwierigkeitsgrad-Variable einführen, anhand dessen Wert wir nun entsprechend viele Plattformen als „gefährlich“ definieren werden. Hierfür nutzen wir den Kenner isDanger, den die Platform-Klasse besitzt, welche wir im ersten Teil dieser kleinen Sub-Serie erstellt haben.

Das klingt im ersten Moment sehr einfach, hält aber einige Tücken bereit, wie Du in dem Video sehen wirst.

So darf z.B. der Schwierigkeitsgrad lediglich einen Wert von 0 bis 1 erhalten, was 0 bis 100% der Plattformen entspricht. Und auch dürfen wir beim Zuweisen der isDanger-Eigenschaft keine Plattformen doppelt erwischen, da sonst die Vorgabe durch den Schwierigkeitsgrad nicht mehr stimmt.

Wie ich das alles löse, siehst Du im folgenden Unity-Tutorial.

Video-Tutorial

Viel Spaß also!

Projektdateien herunterladen?

Solltest Du die Dateien (Skripte, Texturen,…) dieser Tutorial-Reihe einfach herunterladen wollen anstatt sie alle nacheinander durchzuarbeiten, dann ist dies kein Problem.

Wie das funktioniert, erfährst Du hier: Projektdateien des prozeduralen 2D Plattformers.

Nächste Folge

Und das werden wir in der nächsten Folge behandeln: Items und Gegner in prozedural generierten Levels richtig platzieren.