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.
VRTK is een Virtual Reality toolkit om snel VR stuff te maken in Unity. In begin had heel de groep problemen om het correct te lanceren dankzij een compile error.
Het is uiteindelijk een collega gelukt om die error te omzeilen door het opnieuw en correct te installeren met .git commands.
Daarna heb ik een tutorial gevolgd om een 3rd person tower defense te maken in Unity (gewoon om er in te komen en alles nog is op te frissen).
Een collega was ondertussen ook datzelfde tutorial aan het volgen, dus spendeerde ik mijn tijd en aandacht elders.
Namelijk toon shaders, maar dan in de lightweight render pipeline. Ik had een paar coole tutorials gevonden om zo die cell shading, cartoon, anime effect te krijgen. Zoals in Guilty Gear Xrd, Zelda Breath of the Wild en zo van die typische 3D anime games.
Ik heb beide tutorials nog ni volledig doorlopen, maar morgen hopelijk wel
Particle effect pack gedownload en getest in Unity.
Daarna zitten spelen en proberen om de materials en particles om te zetten in een lightweight render pipeline.
Sommige waren direct zonder moeite gelukt met die LWRP upgrade functie.
We hebben daarna een meeting gehouden in de vergaderzaal in verband met de game. We hebben de analyse gebruikt als leidraad om te kiezen welke features of mechanics we alvast in ons spel willen. Dit is uiteindelijk uitgegroeid naar een drive document van 8 pagina's.
Als we iets interessants vinden, wordt het daarin gedropt.
Na de meeting heb ik zitten helpen met het builden van een verbeterde versie van de Augmented Reality app.
Terwijl dat bezig was (en voor de rest van de dag) heb ik nog onderzoek gedaan naar de game om toe te voegen in de drive.
Onderzoek naar Oculus Go en unity, maar de grootste deel van de dag heb ik gespendeerd aan gedetailleerd games te onderzoeken en een analyse te op te stellen.
Welke (unieke) mechanics heeft elk VR Tower Defense game? Welke zijn interessant om over te nemen of zelfs te verbeteren?
Met deze gedachtegang ben ik aan het werk gegaan om het volgende lijst op te stellen.
- Selecteer towers uit uw boek (linkerhand) en plaats ze op de map
- Sell of upgrade tower
- Participeren door aan te vallen met een hamer, geweer of mijn.
- Participeren door in VR PoV te teleporten op een enemy path.
- Player death > terug in top down view met wapen in cooldown
tower opties:
- Towers kunnen geplaatst worden in enemy paths (reroute)
- Build Wall of fire pit (0 cost)
- Build towers op walls
- Sell of upgrade tower (damage+ of speed+ optie)
In your face TD -- https://www.youtube.com/watch?v=_r-HNqmhTSg
- Free Game
- Resource over time (can increase by upgrading HQ?)
- Game over: HQ = 0 hp
Speler functies:
- Teleport overal in de map in VR PoV
- Teleport bovenop geplaatste towers
- Selecteer towers uit inventory en plaats ze op een panel (met preview)
- Sell of upgrade tower
- Participeren door aan te vallen met een heleboel wapens.
- Player death == ?
tower opties:
- Towers kunnen geplaatst worden in enemy paths (reroute)
- Sell of upgrade tower
Voila, dit is het zowa.
Maandag gaan wij een meeting houden om te kijken welke mechanics we concreet in ons spellen willen hebben binnen de scope en met tijd die we er voor krijgen.
In Your Face TD lijkt in mijn opinie toch wel één van de beste TD games die ik heb gezien dat een perfecte mix is tussen een first person shooter en een klassieke TD. Hoe je overal rondt kunt teleporteren, rondwandelen en schieten komt meer natuurlijker over dan de andere spellen.
Niet lang daarna, hebben we nog is gecheckt wat de stand van zaken waren in verband met de update naar ons app.
De meeste van de taken waren gisteren afgerond, gepusht en werkte. Maar met de laatste build van vandaag waren er ineens talloze bugs.
Particles waren verplaatst, in de prefab en scene zelf waren er dinges verandert en last but not least, animaties waren kapot.
Dit leidde tot gevolg tot onenigheid en meer werk in de groep. Er waren pogingen om de laatste dinges die waren toegevoegd te fixen, maar dat leidde alleen tot nog meer bugs.
Uiteindelijk heb ik dan 2 Unity projecten geopend (1 van de laatste build, en 1 van mijn build van gisteren wanneer alles nog werkte).
Met de 2 projecten en GitKraken open, was het makkelijker om te kijken wat er precies verandert was waarom alles niet meer werkte.
Na een aantal uur had ik dan alles kunnen fixen, een script aangepast voor een collega en de 'HotFix' feature voor bugs getest, gepusht en dan samengevoegd met de develop branch. Voor in de toekomst is het echt wel belangerijk dat iedereen eerst alles test, vooraleer je uw feature afrondt en er gepusht wordt naar de develop.
Nadat alles back on track was en mijn collega verder kon, heb ik mij meer verdiept in particle effects voor de Lightweight Rendering Pipeline (zie dag 11 voor uitleg).
Ik ga waarschijnlijk soortgelijke particles gebruiken voor de Tower Defense game, dus het is nooit te vroeg om dit onder de knie te krijgen.
Uiteindelijk om de dag af te sluiten nog meer analyse naar voorbeelden van game mechanics voor de game. Gewoon mikken en wegen van wat we kunnen pakken/verbeteren van andere games. Morgen ga ik daar meer over in detail.