schadowhunter's Kill All Zombies! TD

  • Heute habe ich außerdem noch eigene Button gemalt.



    Ich hab für die ganze UI noch keinen genauen "Stil" gefunden. So bin ich aber für den Moment ganz zufrieden (alles ist besser als die grauen Standard-Klötze:D), die Buttons wirken finde ich ein bisschen Antik und passen zu einem historischen Setting, sind aber trotzdem gut lesbar und nicht "altbacken". Es gibt jeweils einen Hover Effekt, hier grade bei "Optionen" sichtbar (der weiße Rand).


    Und wo ich schon dabei war, habe ich auch die ersten beiden Soundeffekte integriert, einen button_hover und einen button_klick Sound. *yey*


    Bei sowas fällt mir immer auf, was für einen Unterschied doch Kleinigkeiten machen. Obwohl es im Grunde eine reine "Fleißarbeit" war, hat es das Projekt gefühlt eine ganze Ecke nach vorn gebracht.


    Das Hauptmenü ist nun mal das erste, was Spieler sehen und ich finde es nicht verkehrt, das im Rahmen des Möglichen ein bisschen hübsch zu machen und vernünftig zu durchdenken.


    (A propos durchdenken: Die Dropdown-Box zur Levelauswahl ist natürlich ein Platzhalter!)

  • Solche dinge sind auch nicht straight. Du wirst aber wirst immer sachen designen oder Programmieren die dir vielleicht irgend wann nicht mehrgefallen. Dann machst du sie neu und das so oft bis sie dir gefallen.

    Das gehört mit dazu.

    Ich hatte früher mal einen Kunden da hab ich eine Szene insgesamt über 60 mal überarbeitet bis sie dem kunden gefallen hat. Das ist halt so :)


    Lieber ein schnelles Menü das vielleicht nicht 100% ist und dann direkt weiter zur nächsten Baustelle als sich wochenlang mit nichtigkeiten aufhalten.

  • Sooo ich habe die komplette Fallenmechanik neu gemacht (wir sind mittlerweile beim 3. Komplett-Rework).


    Alle Daten, die die Fallen unterscheiden, bis hin zur Farbe der Schadenszahlen, werden jetzt (wie wir es diskutiert hatten) aus einem Datatable geladen.


    So ist alles schön übersichtlich an einem Ort und ich kann in Zukunft das komplette Balancing aus einer Tabelle erledigen.



    Außerdem gibt es jetzt auch die "Arkanfalle". Mit Abstand die teuerste Falle, hat eine sehr lange Nachladezeit aber hat dann 5 Ladungen à 50 Schaden.


  • Ich habe die Zombiemenge mal getestet und gleich etwas optimiert.


    Größter "Gewinn" ist offensichtlich immer das Reduzieren das attentuation radius der Lichter, insbesondere der Straßenlaternen. Die habe ich halbiert (von 2500 auf 1500) und man bemerkt es optisch kaum, spart aber teilweise über 1000 Draw Calls.


    Ich habe mir mal eine komplizierte Szene gesucht. Map Brücke, man guckt runter und sieht jede Menge Lichter und einen Großteil des Levels.


    Ich bin bei ~90FPS gestartet und der Punkt, wo ich unter 30 FPS gedroppt bin, lag bei circa 160 Zombies im Level.


    Bei 200 Zombies im Level (das ist aktuell das größte, was "möglich" ist; es bedeutet, dass auf der größten Map bei längst möglichem Weg die komplette Lane von Spawner bis zum Herz voll steht) habe ich 26 FPS und 3,2k Draw Calls.



    Alle 200 Zombies haben hier einen eigenen Schatten. Da ist also noch Luft nach oben.

  • Die letzten Tage habe ich mit Quixel Mixer herumgespielt.


    Ich bin relativ begeistert, was das Tool alles kann. Ich habe gleich mal zwei neue Texturen erstellt, eine Art Kopfsteinpflaster für den Boden und ein paar "altbackene" Mauersteine.


    Das ganze Level wirkt gleich ganz anders, finde ich (hab versucht den selben Winkel zu treffen wie im vorherigen Screenshot).


  • So, ging (viel) schneller als erwartet: Das "Falleninventar" ist fertig.


    Das Falleninventar ist im Grunde eine Menüseite, auf welcher der Spieler sich entscheidet, welche Fallen er mitnimmt in ein Level.


    Im oberen Bereich werden alle verfügbaren (=mit Skillpunkten freigeschalteten) Fallen angezeigt. Im unteren Bereich sind 5 Slots, die der Spieler per drag&drop beliebig mit Fallen füllen kann (Die Zahl 5 ist dabei grade völlig beliebig, könnten später auch 6, 7, 8 oder sonst wie viele werden. Möglich wäre auch eine Verknüpfung mit dem Skilltree: Spieler starten mit 5 Slots und können weitere Slots freischalten um so mehr Fallentypen ins Level "mitnehmen" zu können.


    Das heißt, der Spieler hat niemals alle Fallen zur Auswahl (wäre ja langweilig).


  • Tja, das war ein nerviger Sonntag.


    Ich hatte ein ziemlich gravierendes Problem, welches ich nur deshalb hatte, weil ich vorher nicht vernünftig mitgedacht hatte.


    Im Wesentlichen: Ich hatte bisher immer nur einen Spawnpunkt pro Map. Natürlich wollte ich aber Maps mit 2, 3 eventuell noch mehr Spawnpunkten haben.


    Ich hatte nun mit viel Mühe ein ziemlich komplexes System gebaut, welches dem Spawner mitteilt, auf welcher Welle er in welcher Reihenfolge welche Mobtypen spawnen soll. Das System war aber überhaupt nicht darauf ausgelegt, dass möglicherweise zwei oder mehr Spawnpunkte zeitgleich verschiedene Sachen tun sollen.


    (Beispiel:) Ich wollte gerne einstellen können:


    Welle 4

    Spawner 1: 16 normale Zombies, 4 dicke Zombies, 2 kleine Zombies dann wieder 12 normale Zombies

    Spawner 2: diese Welle inaktiv

    Spawner 3: 22 normale Zombies, 4 Feuerzombies, 10 normale Zombies, 4 dicke Zombies

    ...usw...



    Ich hab ewig herum gedoktort und es hat nicht funktioniert und jetzt habe ich im Grunde die komplette Spawnmechanik von 0 auf neu gemacht / machen müssen.


    Es funktioniert jetzt auch alles genau so wie es soll. Aber diese triviale Szene (Spawner links spawned was anderes als Spawner rechts) hat mich im Grunde einen 5-6 Stunden Arbeit gekostet.




    Es zeigt einfach mal wieder, wie wichtig es ist, sich von Anfang an genau zu überlegen, was ein System können/leisten soll. Es ist einfach kompletter Abf***, wenn man alles wieder über den Haufen werfen muss... :cursing: