Een eiland in de oceaan van weblogs

Categorie: Game development (pagina 4 van 5)

Nek, Shaders…

... knie en teen - knie en teen

Al sinds ik computerwerk doe, zijn m’n nek en rug zwakke schakels. Om de paar maanden heb ik er last van. De ene keer heftiger dan de andere keer. Heb er hier al meerdere keren over geschreven. En nu was het weer zover.

Ik had (weer eens) te lang op m’n laptop zitten werken gamen. Deze keer was Risk of Rain de boosdoener. En dit samen met op de bank voorovergebogen zitten, voor langere tijd, zorgde ervoor dat m’n nek helemaal verkrampt raakte en ik daar 1,5 week last van heb gehad.

Ben zelfs een dag thuisgebleven van werk. Maar vorige week toch maar naar de fysio gegaan, die heeft me wat oefeningen gegeven en het even los gemasseerd. Dus het gaat nu alweer een stuk beter.

En ik doe – als ik eraan denk – m’n oefeningen en let meer op m’n houding achter de computer. En dat lijkt allemaal goed te werken.

Heel fijn.

Maar dit resulteerde ook dat ik niet verder kon met m’n game-dev ontwikkelingen. Enige wat ik kon doen was op de bank zitten en beetje films kijken. In de afgelopen week ook wel weer meer gaan inlezen / bekijken over shaders en de technologie daarachter.

Super interessant en leuk!

En nu sinds een week is m’n nek weer beetje losser en ben ik beginnen met te rommelen met Shader Graph – de tool om shaders te bakken in Unity. Heel erg gaaf, maar nog super veel om te leren.

Shader Graph, de nodes die het effect zoals hieronder samenstellen.
M’n geexperimenteer met shaders (in Unity)

Ook een aantal videos gevonden met andere toepassingen van Unity, waaronder het procedureel genereren van de wegen en huizen in steden. Super gaaf en zeker iets waar ik binnenkort iets mee wil gaan doen.

M’n top-down shooter spelletje heeft ook wat kleine verbeteringen gekregen. Zo was het voor Rick (m’n neef, die de muziek en geluidseffecten verzorgd) handig als hij runtime de geluiden kon inladen – zodat hij kon experimenteren met de balans en samenhang. Dus een avondje me eventjes kwaad gemaakt en het inladen van de geluidsbestanden erin gehangen.

Merk dat ik al wel steeds meer vertrouwd raak met Unity en dingen erin bouwen. Is echt wel heel gaaf. Maar nog zoveel te ontdekken en leren.

Maar nu hebben de shaders weer even de aandacht. Zal binnenkort wel weer vervangen worden door iets anders, misschien wel verder gaan met de top-down shooter.

We zullen zien.

Watskeburt

// Vorige week m’n topdown shooter afgerond. Hij valt hier te bekijken: Laser Defender

// Hierdoor ook weer enthousiast geraakt en toen samen met neef Rick gaan doorontwikkelen. Hadden genoeg nieuwe ideeën en Rick gaat voor de muziek en soundeffects zorgen. Heb er weer helemaal zin in.

// Ook heb ik samen met Lies Avengers: Infinity War teruggekeken. Door de lengte van de film, moesten we hem over twee avonden uitspreiden. Maar we moesten hem afkijken, want

// Afgelopen zaterdag gingen Lies en ik naar Avengers: Endgame. De laatste, afrondende, film in de hele Avengers saga. Was een hele gave afronding van het verhaal, zal niks spoilen, maar zeker eentje die je moet gaan kijken.

// Werd laatst enthousiast gemaakt door een post op Waypoint over Risk of Rain 2 en ben nu weer helemaal into PC-gaming. Roep al zo lang (al jaren!) dat ik ooit weer zelf een PC wil gaan bouwen, maar heb het altijd afgeschoven als te duur. En geinspireerd door Tobias z’n Switch-spaar-plan nu zelf ook een PC-spaarplan gemaakt:


Dus hopelijk kan ik eind binnen een jaar een nieuwe PC samenstellen en daarop lekker weer gamen.

Elke week weer anders

Sinds ik me kan herinneren, of eerder, sinds ik me er bewust van ben geraakt, ben ik regelmatig enthousiast over iets anders.

Heb er ooit een hele post aan gewijd, m’n golvende enthousiasme. Ene moment ben ik enthousiast over het een en het volgende moment over het ander.

Momenteel ben ik me aan het inlezen over het programmeren voor de GPU, zogenaamde shaders maken dus. Dit alles na het zien van onderstaande trailer van de indie-game A Short Hike.

Vond de grafische stijl zo gaaf, zag daar al echt een grover spel in gebeuren … en wil dat dus gaan leren.

Heb nog even aan de ontwikkelaar gevraagd of hij iets meer kon vertellen hoe hij dat had gemaakt en al snel kreeg ik een reactie met wat meer informatie.

Een van de grootste eye-openers was dus dat de stijl deels mogelijk wordt gemaakt door een aantal custom shaders. Dus tja, daar wil ik dan meer van weten.

En tegelijkertijd heb ik ook weer het gevoel dat ik mezelf niet verder ontwikkel, omdat ik de Unity-cursus alweer paar weken niet heb aangeraakt en dat eigenlijk zou moeten afmaken… vind ik dan.

Maar ja – ga nu lekker even wat tutorials doen om shaders te (proberen te) begrijpen.

Weer eentje af

De afgelopen weken werkte ik langzaam door de stapjes van m’n Unity cursus. Vaak tijdens de 30/40 minuten durende treinreis van/naar m’n werk en soms nog wat thuis verder, als er tijd is.

En zo rondde ik vorige week weer een spelletje af. Ben te enthousiast voor het volgende spel, dus zal niet meer levels maken. Maar je kan hem hier spelen: Block Breaker

En heb ook de source van al m’n werk op Github gezet:

Momenteel ben ik bezig met een topdown shooter, genaamd Laser Defender. Dit concept spreekt me veel meer aan – ook qua looks & feel en gameplay. Dus wil hier nog wel wat meer extra’s in verwerken.

Huidige staat van de game

En nog een spelletje

Vanavond rondde ik weer een (simpel) spelletje van m’n Unity-cursus af. Een spelletje waarin je simpel een getal in gedachten neemt en dat ‘het spel’ dat getal gaat raden. Qua programmeren was het echt te simpel voor woorden, maar heb er wel weer een-en-ander van geleerd. Het inladen van verschillende scenes, de knoppen werkend maken etc.

Let wel, visueel is het echt een draak. Had geen zin om er iets moois van te maken, wilde door met de volgende lessen ^^

Bekijk het spelletje hier dus: Number Wizard UI

Spielerij

Vorige week begon ik met een online Unity cursus, op het platform Udemy.

Als eerste kwamen de kleine simpele tutorials. Meestal sla ik die over, ik wil meteen door naar het echte werk. En loop dan tegen allemaal dingen aan die ik niet weet en haak dan af. Dat is ongeveer het patroon van de afgelopen jaren.

Maar ik word ouder… en wijzer. Ik begin in te zien dat ook (lees: juist) de kleine beginstapjes heel erg waardevol en leerzaam zijn. Deze beginselen vormen de basis van de rest van wat je gaat leren.

Dus ik bekeek alle filmpjes (op 1,5x de snelheid, soms zelfs 2x) en deed mee op m’n laptop. En ik leerde. Soms was het heel logisch en soms zelfs dan leerde ik nog kleine dingetjes. Handigheidjes en truukjes die ik niet kende.

En zo begon ik aan m’n eerste echte spelletje. Een textbased choose-your-own-adventure. Ik besloot om het voor Tobias en Renske te schrijven, dat maakte het nog veel leuker en makkelijker.

Eerst dus een setting kiezen, daarna de flow/stapjes uitwerken. Ik tekende op draw.io een flow-diagram en vulde die in een avondje met allemaal stapjes en teksten.

En schreef het daarna in C# en Unity. Ik voegde zelfs nog wat kleine extra dingetjes toe, zoals keuzes die onthouden werden, keuze-afhankelijke teksten (die getoond werden op basis van je gemaakte keuzes) en moest hiervoor nog wat dieper rommelen met C# en regular expressions. Heel leuk. En dat bleek ook wel, want uiteindelijk ging ik weer veels te laat naar bed.

Maar hij was wel af. M’n eerste spelletje. Of eigenlijk m’n tweede, want anderhalf jaar geleden maakte ik er ook al eentje.

Bekijk hier m’n eerste baksel: een lekker ontbijtje.

En hier staan – voor archief-doeleinden – nog even m’n Asteroids-kloon

Twee eindes

Van de week weer even iets meer gefocust aan m’n Asteroid game verder gegaan. Wilde hem maar eens afmaken, want was weer enthousiast geworden van een nieuwe manier van bouwen. Dus maandag aan de slag, gefocust op het implementeren van de navigatie, het kunnen pauzeren en herstarten enzo.

Uiteindelijk was het best een leuke en leerzame klus. Helemaal toen ik besloot om het niet allemaal perfect te doen, maar het gewoon degelijk in elkaar te zetten. Uiteraard nog steeds wel netjes, maar of het de beste manier is – daar hield ik me even minder mee bezig. En dat bevrijdde me zo, dat ik na een avondje rommelen heel de flow af had. Pauzeren, restarten, game-over… alle states waren afgevangen en het spel was dus (soort van) klaar. Het einde van m’n eerste game-ontwikkel-projectje.

Check het resultaat hier: Mac OSX / Windows

Of bekijk het hier in je browser

Het tweede einde haalde ik dinsdag, toen ik besloot om DOOM maar eens verder te spelen. Het voelde alsof ik bijna aan het einde was… en dat bleek ook zo te zijn. Was laatst 1/3 level van het eindgevecht gestopt. Dus even nog 2/3 afmaken (was nog best/beetje pittig) en toen kwam de eindboss. Deze was in eerste instantie best wel lastig, ik ging 2-3 keer dood en gooide al bijna de handdoek in de ring. Maar besloot het nog 1 keer te proberen. En die poging slaagde en ik had DOOM uitgespeeld.

Het eind was beetje mwah, maar overall heb ik me heel erg goed vermaakt met het spel.

Asteroids Advanced Extra Extreem ++

Afgelopen week besloot ik om me weer wat meer te richten op game development. Pakte m’n Asteroids projectje weer op en ging weer beetje verder rommelen.
Begin dit jaar had ik al de enemies geintroduceerd en beetje een beginnetje gemaakt met dat ze de player volgden.

Maar toen beetje blijven hangen in dat ze (de enemies) moesten kunnen rondkijken, de player vinden en dan naar de laatste locatie gaan waar ze hem vonden. Denk dat ik het mezelf weer beetje te moeilijk heb gemaakt. Maar toch kon ik het idee niet helemaal loslaten. Heb destijds (begin dit jaar) ook een tijdje wat tutorials en cursussen (online) gevolgd over trigeometry enzo, was super interessant en leerde er weer veel van. Maar m’n game-dev ambitities belanden weer in het vergeethoekje.

Dus nu weer beetje opgepakt. Vanavond weer beetje lopen rommelen en uiteindelijk nu enemies die je zoeken en volgen, health items die animeren wanneer ze worden opgepakt en last-minute ook nog even wat smoke animaties gemaakt wanneer je ergens op schiet ^^

Kijk hieronder even een aantal gifjes met de voortgang:

De enemies achtervolgen de speler (februari 2017)

Testje om de enemy te laten zoeken ipv dat ze direct op de speler afkomen (februari 2017)

Enemies zoeken en zodra de speler in hun Field of View is, gaan ze naar de laatste lokatie waar hij gezien is (september 2017)

Smoke en health pickup animaties (september 2017) – en lastige enemies ^^

Gangetje

Tja, zo gaat het soms.

Z’n gangetje

Ik werk inmiddels al bijna 2 maanden bij IN10 en nog steeds naar volle tevredenheid. Voel me er steeds meer thuis en allemaal mooie dingen aan het maken.

Daarnaast thuis voornamelijk bezig met Battlefield 1 en laatst weer DOOM opgepakt, blijft ook wel een hele fijne game hoor.

En eens per week – de woensdag – werk ik me helemaal in het zweet bij Wing Chun. Heerlijk en dat gaat ook steeds beter. Minder spierpijn of blauwe plekken ^^

Laatste tijd weer beetje aan het kijken om m’n tekenskills op te vijzelen, maar twijfel ook nog steeds of ik wellicht liever m’n game-ontwikkel-skills wil gaan aanscherpen. Voelt beetje alsof ik moet kiezen welke skill/hobby ik me op ga focussen. En daar ben ik nog niet over uit. Dus tot die tijd doe ik niks op beide vlakken  TT

Voortgang met asteroides

Laatste tijd weer meer bezig met Unity leren en dan voornamelijk door aan m’n Asteroids kloon te werken. Al is het eigenlijk geen Asteroids meer, maar eigenlijk een spin-off. En vanavond weer een heel eind verder gekomen. Je kan nu schieten, de asteroids doen damage, er worden health-packs gedropt en je health loopt automatisch terug. Je hebt dus (eindelijk!) een doel.