Animatie nog een beetje aangepast van de hand van de speler.
Voor de gun wilden we graag ongeveer in deze richting gaan om te zien hoeveel kogels je nog hebt.
Dan heb ik deze script gemaakt en toegepast in de game. Values halen van de main gun script doe ik gewoon met een simpele get functie.
Daarna heb ik nog wat meer gescript en een asteroid field gemaakt. Dit dient meer voor de achtergrond. Models zijn nu wel gewoon placeholders van random vormen en enemies.
Torens geupdate, (veel) bugtesting, simpele levels en een claw gemaakt.
De tanden tussen de torens waren moeilijk zichtbaar, dus de oplossing om dit duidelijker te maken was via texturing.
Om dit goed en gedetailleerd te laten overkomen heb ik iets nieuws geprobeerd om een deel van alle polygonen op elkaar te plaatsen en eenzelfde klein stuk van de texture te gebruiken. In C4D heb ik niet direct iets simpels gevonden om de punten met elkaar te snappen. Ik heb uiteindelijk gewoon alle punten vanonder links geselecteerd, dan allemaal gescaled tot 0% (zodat ze op dezelfde locatie zitten) en dan gezamenlijk verplaatst in een hoek.
Voor de claw had ik deze moodboard opgesteld en uiteindelijk ook uitgewerkt.
Het mist alleen nog implementatie voor unity en animaties.
Ik heb een taak van een ander collega overgenomen en me bezig gehouden met het retexturen / unwrappen en optimaliseren van de polycounts voor de torens, guns, balkons en armband. Alle torens delen nu éénzelfde texture.
Voor de balkon ben ik wel trots dat ik het heb kunnen reduceren tot 71 polygonen zonder n-gons te maken.
Daarnaast ben ik ook gaan zoeken achter goeie skymaps om de look en feel voor het spel te bepalen.
Buiten het modelen heb ik ook veel samen met een collega zitten bugtesten van verschillende scripts voor de game.
Het enigste wat rest is het texturen. Ik heb wat online rond zitten vragen en veel mensen waren toch een fan om van hem een soort van Red Minotaur Knight te maken.
Storyboard afgemaakt en geholpen met het opstellen van de repository.
Daarna waren ik en een collega begonnen met meer 3D models te maken. Ik had aan hem al een 3D toren gegeven om te starten. (de torens van dag 22)
Na een tijd kwam er onenigheid tussen de collega's in welke stijl het uiteindelijk zou moeten zijn.
Mij maakte het op zich niet uit zolang het spel maar werkt en ik weet wat ik moet doen.
Maar voor in het algemeen was het misschien wel een goed idee om terug samen te zitten en de knoop door te hakken.
Iedereen heeft dan een moodboard moeten samenstellen, en tijdens de meeting gedebatteerd welke enemies en torens er specifiek in zouden moeten zitten.
Een checklist van wie wat gaat doen is waarschijnlijk voor dag 27. het uiteindelijke stijl = zo weinig mogelijk textures, heel simplistisch, kleurrijk, weinig magie en geen natuur.
Briefings, bugfixing, onderzoek, brainstormen en storyboards in een nutshell.
Ik heb me vooral beziggehouden in het visualiseren van de flow van het spel en welke features we er uiteindelijk in gaan stoppen en hoe we dit gaan verwezenlijken.
Hier zijn een paar kleine (bijna onleesbare) previews van de storyboard.
Hier en daar de collega's zitten helpen met de game en basis klassediagram in de gemeenschappelijke google drive gedropt.
Groot deel van de dag zitten scripten voor een vorig project. Ook wat zitten experimenteren met de DOTween packet.
Met dit kun je eigenlijk heel makkelijk dingens animeren in script-vorm. Zo heb ik bijvoorbeeld mijn script van dag 19 aangepast zodat de infolabel zichzelf draait in een animatie als die bijna in het model zit. Ook meer onderzoek over gedaan want dit is wel iets wat ik kan gebruiken voor mijn eindwerk.
Verder gedaan met het grafisch implementeren van verschillende ideeën voor het spel.Om te starten had ik ogen gegeven aan de enemies.
Het gaf zoveel personaliteit, dat iedereen het goed vond om de enemies uit te werken tot iets cools.
Uiteindelijk ook zo'n robotic backpack gegeven en dan was de look ongeveer compleet.
Towers met verschillende varianten gemaakt waar je ook op kunt staan. Het idee is dat je dan daarop kunt teleporteren en als speler kunt schieten op de enemies.
Daarna zitten scripten. Dingens zoals er voor zorgen dat je niet 2 of 3 torens op 1 tile kunt plaatsen en dat de enemies de juiste path volgen.
Tijdens het testen merkte ik op dat er een paar fouten waren met de tiles die ik eerder had gemaakt.
Ergens tijdens het modelen is de tile in de y-scaling vergroot. Als gevolg betekent dat alle tiles werken zolang die 0 of 180 graden hebben, maar vanaf je ze draait met 60 graden verschil, dan past het niet meer zoals het zou moeten voor een 6 hoek.
Dan ben ik aan de slag gegaan met een verbeterde versie van de tiles die in alle hoeken correct zou moeten zijn.
Grootste uitdaging was een perfect ratio vinden tussen de afstand van verschillende tiles. Liefst zouden we iets hebben dat een meervoud is van 0,5 meter in de X en Y-richting. Dit zou er dan voor zorgen dat het veel makkelijker is om met Unity's ProGrid te werken. Uiteindelijk na veel trial en error is hetgelukt met een radius van 226 cm.
Met een collega nog is bekeken hoe de AI (Artificial Intelligence) GraphUpdateScene component in elkaar zit. De bedoeling is dat de AI zijn pad aanpast met deze component als er plotseling iets in de weg staat tussen hem en zijn eindbestemming. Paar example scenes uitgeprobeerd en tenslotte een paar Youtube videos gevolgd waar mensen dat ook gebruiken in hun Tower Defense Tutorials.
Dag begonne met het onderzoeken van A* pathfinding. Ons begeleider is toch wel een fan voor de maze tower defense.
In zo'n versie van Tower Defense, is het op zich de bedoeling om zelf een maze te bouwen voor de enemies zodat ze zoveel mogelijk moeten rondlopen vooraleer ze uw basis bereiken. Dit wordt dan gedaan door torens in hun weg te plaatsen. Met A* pathfinding, kunnen de enemies hun pad zodanig dan updaten voor een nieuwe route naar uw basis.
Daarna heb ik mijn tijd verder spendeert met shaders van gisteren. Er kwamen toch wel veel problemen bij te pas met de tutorials die ik online vond.
Veel van die dingen werkte bekan nimeer met de nieuwste Light Weight Render Pipeline. De grootste issues waren bij het krijgen van light info van de main directional light. Uiteindelijk was het me gelukt door zelf een custom node te programmeren/aanpassen en zag de 1ste versie van mijn shader graph er zo uit:
Daarna heb ik mijn cartoon shadergraph zitten uitbreiden door outlines toe te voegen aan simpele objecten.
Volgende afbeeldingen waren voor spheres en cubes. Voor ronde objecten is het op zich een fresnel toepassen en dan een step om geen tussenwaardes (grijze kleuren) te hebben.
Na veel onderzoek lijkt het er blijkbaar op dat outlines voor complexere modellen op het moment niet mogelijk is met shadergraph. Een makkelijk manier dat ik vaak online lees is om post processing te gebruiken, maar dat is iets wat ik toch niet wil gebruiken ten koste van performantie.
Uiteindelijk de shadergraph verder uitgebreid om ook Ambient Occlusion te accepteren. Het is nu nog wel mikken en wegen in welk volgorde ik dit in de graph ga doen.