Tagebuch: Tower Defense

Was halt extrem cool ist, ist der neue Shader-Graph. Damit kann ich die einfach über einen Node-Editor zusammen klicken (wie ich es von Blender schon kenne).

Damit hab ich jetzt (mehr oder weniger nach einem Tutorial) einen „Gegner löst sich auf“-Shader gebastelt:

Gut in der Vorschau zu erkennen: von der Kugel sind jetzt nur noch 60% sichtbar. Alles andere wird basierend auf einem Noise-Muster ausgeblendet.

Diesen Wert hab ich dann einfach als Property zur Verfügung gestellt und dann kann ich innerhalb vom Spiel das ganze entsprechend animieren :slight_smile:

Findest? Das was du bisher gezeigt hast fand ich schon beeindruckend. Woran henkts?

So. Hab heute Mal wieder etwas weiter an meinem neuen Spawner gearbeitet. Unter anderem hab ich dem ganzen jetzt noch einen Info Text spendiert + es gibt sinnvolle Integration Tests dafür.

Bin mir noch nicht sicher ob ich noch einbauen will, dass sich der Button während der Drop Phase visuell verändert. Aber eigentlich könnte ich das zur Not auch in einem anderen Task machen.

Ich überleg mir das Mal - aber bin mir fast sicher, dass ich die Änderungen heute Abend in den 0.3.1 Branch mergen werde.

Als nächstes würde dann die neue Rendering Pipeline anstehen. Weiß nicht ob sich das Performance technisch großartig auswirkt - aber ich würde gern den Shader Graph haben :stuck_out_tongue:.

Schau mir gerade das mit der LW-RP an. Und die empfohlene Umstellung auf LW RP ist:

Lösch dein Projekt und fangs nochmal neu mit LW-RP an. Und das versuch ich gerade. Da ich mit der LW RP auch Post-Processing-Effekte bekomme, dürfte es das mehr als wert sein :slight_smile:.

OMG. Kurzzeitig war meine komplette Scene PINK. Aber ich denk, ich hab das meiste auf LW-RP umgestellt.

Aber ich will mir jetzt auch mal PostProcessing näher anschauen. Da gibt es einige nette Sachen, mit denen ich das Spiel besser aussehen lassen kann:

Mal gespannt, ob ich da was tollest gemixt bekomme.

Muss mal gucken, wie und ob ich das animiert bekomme (bin mir aber sicher, dass es gehen wird). Dann würde nämlich das Menü u.U so aussehen:

Und für das Spiel, würde ich 2 Effekte entfernen und es wäre so:

Ich glaub der Übergang würde schon echt verdammt geil aussehen :slight_smile:.

Ok. Ich hab es animiert bekommen. Leider nicht mithilfe des AnimationsFramework das mit Unity kommt. Aber da es nur zu Spielstart/-Ende getriggert wird bin ich guter Dinge, dass meine Implementierung tut was es soll.

Allerdings glaub ich, lass ich den Vignetten-Effekt (der schwarze Rand) permanent. Irgendwie find ich, hat das was :stuck_out_tongue:.

Das neue Projekt kommt auch gleich mit 3 verschiedenen Settings:

  • Low
  • Medium
  • High

Und sowohl Medium als auch High KILLEN mein Smartphone. Das endet tatsächlich in einem nicht gewollten Neustart! Momentan liegt meine Vermutung darin, dass Medium und High auf MSAA als Anti-Aliasing setzen (und das soweit ich weiß für mobile Geräte Overkill ist). Auf jeden Fall hat das Setting gerade ohne das funktioniert. Jetzt probiere ich gerade mal einige Einstellungen durch und hoffe damit gute Lauffähige Ergebnisse zu erzielen.

Vor allem: Denn soweit ich weiß, kann ich Profile zur Laufzeit austauschen. Damit kann dann jeder abhängig von seinem Gerät die gewünschten Einstellungen treffen :slight_smile:

Ja, das MSAA ist absolut tötlich! Hab mir zum testen der Einstellungen 3 Buttons angelegt „Low, Medium, High“. In die Grafikeinstellung von High habe ich 2x MSAA eingestellt. Ein Klick darauf kommt einem Geräteneustart gleich.

Auch macht HDR probleme - zwar keine kritischen, aber meine Animation funktioniert damit leider nicht :frowning:. Somit unterscheiden sich die Grafikeinstellungen vorerst nur in Bezug auf Licht+Schatten.

MSAA ist auch auf Rechnern „tödlich“. Selbst eine 2080Ti hat davon spürbare Performance Einbußen. Da Android aber nicht die Speichernutzung der GPU reguliert, und MSAA exorbitant Speicherhungrig ist, hast du dir damit eventuell das Smartphone abgeschossen.
Nur eine Vermutung, mal so in den Raum geworfen. :slight_smile:

1 „Gefällt mir“

Ich bin da tatsächlich unschuldig. Das waren Settings die schon mit dem Projekt angelegt wurden. Von daher dachte ich, das würde passen. Aber vllt ist die LW RP auch für andere Plattformen geeignet die mit MSAA klar kommen. Mich hat nur der mobile Part interessiert.

Das würde auch die HDR Einstellung erklären, dir ich ja auch ausschalten musste.

Aber danke für deinen Input. Das lässt mich MSAA doch ein bisschen besser verstehen. Bzw verstehen warum ich es deaktiviert halten sollte. Hab nämlich überlegt ob ich es optional aktivierbar machen soll für Flaggschiffe. Aber ich glaub das lass ich besser.

So. Hab den Glitch nochmal verschoben und bereite gerade das nächste Update vor. Will nämlich heute gerne ein Update raushauen und v0.3.1 bringt einiges an Verbesserungen:

  • Zoom
  • Kamerasteuerung bei Platzierung
  • Minions werden beim Spawnen aufs Ziel ausgerichtet.
  • Neue Start-/Endpunkte
  • Bugfix: Spawn Button wurde zu früh aktiviert
  • Post Processing

Wie Ihr seht: da kommt einiges neues. Und das Paket will ich langsam mal raus haben :slight_smile:

So. Das Release ist eingereicht. Mit der neuen Pipeline hat sich auch das minsdk auf (afair) 18 erhöht. Ka ob das notwendig gewesen ist - aber ich wollte es jetzt nicht drauf anlegen.

Wie immer: viel Spaß beim testen :slight_smile:.

Ok - ist schon online :smiley:

Also bei mir stürzt es jetzt nach dem Logo ab. Dafür läuft das Unity Logo jetzt sehr flüssig :smiley:

Manchmal seh ich noch das grüne Menü auf schwarzem Bildschirm. Nehme an liegt wohl an zu wenig Speicher. Mit 1 GB RAM.
Hast (oder kannst du überhaupt) die Flag für die App setzen für hohen Speicherverbrauch?

*Edit
https://forum.unity.com/threads/how-to-set-android-largeheap-true-in-manifest.338125/

1 „Gefällt mir“

Na toll. Immerhin etwas seufz

Momentan startet es standardmäßig mit „mittleren“ Einstellungen. Vllt sollte ich mit wirklich den niedrigsten starten und dann hoch schrauben lassen.

Also - etwas kann ich noch schrauben (Lichter und Schatten). Wobei ich nicht weiß, wie viel man da gerettet bekommt mit 1 GB Ram. Vor allem wie lange das gut geht - weil mit dem nächsten Update sind dann auch 3D-Modelle für die Tower geplant:

cool. Vielen dank. Das schau ich mir auch mal an. Schaut auf jeden Fall aus wie etwas, was ich haben sollen wollte ^^

-Xmx4g wäre die Option, sonst schnappt er sich nur 2g.

Edit: Ach quatsch, bitte wieder vergessen…

Meinte eigentlich 2 GB. Das S10 hat ja mittlerweile schon 8 GB :open_mouth:
Aber so viele Texturen sind es ja nicht oder sind die so hochauflösend?

Die existieren noch nicht. Bin erst noch am modellieren. Auf was ich eher hinaus wollte ist: das Spiel wird jetzt halt erstmal etwas Ressourcen hungriger werden.

Das mit dem Android-Manifest hab ich mir mal angeschaut - aber keines in meinem Projekt gefunden. Eine vergleichbare Einstellung irgendwo in den Projekt-Settings hab ich auch nicht entdecken können.

Ich werde einfach mal fürs nächste Release schwächere Grafik-Settings einstellen.

Weiß nicht zu wie viel ich heute noch komme - aber ich werd mal gucken, dass ich hier einfach abseits vom Store mal eine apk reinstelle mit allen Einstellungen auf low.

So, nachdem ich noch etwas Zeit bis zum Abendessen habe/hatte - hab ich mal das 3d-Modell angemalt und Szene gesetzt. So schaut es bisher aus:

Ich weiß noch nicht wie - aber irgendwie würde ich den Kristall in der Mitte gerne als Spielelement haben. So könnte er mitunter die Upgrades des Towers anzeigen oder so.

Hmm… ich hab gerade eben mal was ausprobiert. Viele Türme kann ich derzeit nicht platzieren ohne Performance zu verlieren.

Das liegt zu einem wesentlichen Anteil vermutlich an den Türmen. Man merkt es auf jeden Fall, wenn man mehrere platziert.

Deswegen überlege ich, das ganze anders umzusetzen. Bisher war ja “geplant”, dass man die Türme frei setzen kann. Es gibt ja aber auch eine TD-Variante wo man Punkte hat zum drauf bauen. Der Weg der Minions ist vorgegeben.

Der Spieler wird also kein Labyrinth bauen können.