Categorieën
Devlog Game development

Game gejam

Afgelopen week in een spontane aktie weer meegedaan met een game-jam, de Godot Wild Jam. De game-jam was afgelopen vrijdag al begonnen, maar kwam maandag op m’n radar en toen stond m’n pet juist in de “ik heb weer zin om een game jam te doen”-modus … dus ideale timing. En deze keer weer eens lekker alleen-ig.

Het thema was deze keer “You Aren’t The Hero”.

Begon dus eerst met het brainstormen van ideeën; vele ideeën kwamen op het papier en even leek het alsof het idee van een tovenaar die een platform-held moest helpen met het overkomen van obstakels zou “winnen”. Maar het voelde niet leuk – en dat is toch wel belangrijk als je iets wilt gaan bouwen.

Dus nog even beetje nadenken en toen was daar HET idee – een held die door een dungeon loopt, welke jij moet bouwen voor hem. De held loopt / vecht vanzelf, jij bepaald indirect zijn succes, door te bepalen waar de monsters, de schatten en de hartjes komen.

Maandag (17) begon ik met het genereren van kamers met willekeurige deuren, zodat niet elke kamer hetzelfde aantal en plekken van deuren had. En toen plaatste ik deze kamers op het grid.

Op dinsdag (18) maakte ik een design in Aseprite en verwerkte dat in de game. Aan het eind had ik iets wat een beetje leek op wat ik had getekend.

Het design in Aseprite

Woensdag en donderdag (20) werkte ik aan de mogelijkheid om kamers te kunnen selecteren, een preview te kunnen zien en ze te kunnen plaatsen.

Vrijdag (21) voegde ik de eindkamer toe (eindelijk een doel om naartoe te kunnen bouwen) en deed ik wat tweaks met de look-and-feel.

Nog twee dagen te gaan en had wel een basis, maar nog weinig echte gameplay. Terwijl dat altijd wel m’n aanpak is, zo snel mogelijk de gameloop klaar – zodat je kan aanvoelen en testen of het leuk is om te spelen.

Komt ook wel beetje doordat ik doordeweeks gewoon moet werken en dus alleen ‘s avonds aan m’n gamejam kan werken.

Zaterdag (22) maakte ik beduidend meer voortgang:

  • de held loopt zelfstandig door de dungeon
  • wanneer deur connecten, teken een “opening”
  • de held loopt in willekeurige volgorde door de dungeon
  • kamers hebben verschillende eigenschappen (monsters, schatten of hartjes) en daar wordt iets mee gedaan

Zondag (23) was de laatste dag en er was nog genoeg te doen. De deadline van 22:00 kwam in de buurt en uiteindelijk heel veel kunnen oplossen:

  • Je score wordt berekend op basis van aantal “stapjes”
  • De levenskracht van de held wordt bijgehouden en hij/zij kan “dood”
  • Wat visuele tweaks (zoals de grond en gras)
  • Een splash-screen en hoofdmenu werden toegevoegd

Uiteindelijk submitte ik m’n game en was klaar. De deadline was afgelopen en ik was klaar.

Of toch niet?

Toen ik het spel – kort na de deadline – bekeek op de itch.io pagina, zag ik dat de tekst door elkaar stond. Tijdens de last-minute tweaks, had ik per ongeluk wat tekst versleept. Nu stond de uitleg door een stukje tekst over hoe te restarten. Helemaal niet leesbaar.

Gelukkig heeft de organisatie van de Godot Wild Jam een regel dat als er een game-breaking bug in je game zit, dat je die dan mag uploaden om te fixen. Dus ik paste het gelijk aan en stuurde een berichtje.

Maar de organisatrice was aan het werk en niet te bereiken. Dus ik moest wachten tot ze weer terug was om te reageren.

In de tussentijd merkte ik op dat het spel in de browser heel (heel veel!) trager speelde dan lokaal. Het was gewoon bijna niet speelbaar, de held liep super traag en je moest dus heel lang wachten totdat hij uberhaupt de dungeon binnentrad.

En ik begreep maar niet waar het door kwam. Totdat ik m’n fout realiseerde en me wel voor m’n kop kon slaan. Ik had het lopen van de held op basis van een Timer gedaan – dus elke 18 milliseconden deed hij een stapje. Maar aangezien het spel in de browser draaide, was de update daarvan niet consistent. Soms werd de code wat later uitgevoerd en dan was het “stap”-moment al geweest en werd de held dus niet verplaatst.

Een hele erg beginnersfout, een van de eerste dingen die je leert als game-maker … maar ik was er toch ingetrapt.

De fix was heel eenvoudig, zit gewoon (praktisch) ingebakken in Godot. Bij de update (_process) functie krijg je altijd de tijd mee sinds de vorige update. Dus als je daar gewoon kijkt of er inmiddels 18 milliseconden voorbij zijn, kan je dan de held een stapje laten zetten … en kan je gewoon normaal bewegen – ongeacht de snelheid van de updates.

Dat werkt perfect. Deed z’n werk en was ook nu robuust gemaakt. Maar ja, ik had m’n game al gesubmit. En zo’n fix is niet echt game-breaking.

Maar toen kwam de organisatie van GWJ en meldde dat de upload nog even aangezet was. Dus ik kon m’n tekst wijziging nog uploaden. En toevallig kwam daarin ook m’n timer-probleem-fix mee.

Gefixed!

Check de game hier

De rest van de week heb ik eigenlijk (te) weinig reclame gemaakt voor m’n game, het werd maar door 15 mensen gerate en het spel eindigde dan dus ook op plek 48, van de 89 – dus net iets onder de helft. Helaas.

Qua meeste categorieen (graphics en theme) stond ik in de middenmoot. Alleen qua controls en originaliteit en fun eindigde ik iets hoger:

Controls#18
Originality#22
Fun#26
Theme#32
Overall#48
Graphics#53
Accessibility#59
Audio#82

En hoe nu verder?

Ik typ deze blog nu 2 maanden later (19 juli), maar cheat een beetje (voor de record van het archief) door deze op de oorspronkelijke postdatum te laten staan.

Maar nu ik het proces van deze game jam heb beschreven, merk ik dat m’n enthousiasme voor dit concept nog steeds leeft. Het was zo lekker simpel en eenvoudig, maar had zoveel potentieel.

Dus ik wil er heel graag aan verder werken – betere game van maken.

Heb hierna nog een andere game jam gedaan en de game die daaruit kwam was een leuk experiment – maar merkte dat ik daar veel minder enthousiast over was.

Categorieën
Algemeen

Bijgepraat

Moet vol schaamte bekennen dat ik weer tijdje niks van me heb laten horen. Ik doe genoeg, maar vergeet het hier te loggen. Terwijl ik het toch altijd wel leuk vind om terug te lezen wat voor ‘niet bijzondere dingen’ ik gedaan heb. Terwijl de dagen/weken er toch over het algemeen wel hetzelfde uitzien.

Zo werk ik overdag, nog steeds vanuit huis, want de pandemie is nog steeds aan de gang. Vind het thuiswerken heerlijk, dichtbij m’n gezin, weinig (lees: geen) reistijd en meer gefocust kunnen werken. Ook zie ik dus Lies en de kids veel meer, zeker nu het meivakantie is.

Het nadeel van de pandemie begin ik ook wel beetje te voelen. Niet meer een avondje met vrienden, geen bordspellen-avondjes met vrienden en ook niet ff naar de bioscoop kunnen ofzo.

En in de avonden speel ik (bord)spelletjes en kijken we films of series.

En even voor de historie-boeken, de films/series/spelletjes die er gekeken en gespeeld worden. De serie Modern Family is echt onze serie op dit moment. Even lekker half uurtje lachen om herkenbare situaties. Zijn inmiddels al bijna aan het eind van de serie, maar zou het niet gek vinden als we het weer van voor-af-aan gaan kijken.

Qua games speelde ik de afgelopen week vooral veel BPM (Bullets Per Minute) op de PC. Wat een fantastisch spel! Helemaal mijn ding. Random levels, lekker op het ritme van de muziek knallen en moeilijk genoeg dat het een uitdaging is, maar vergevensgezind genoeg dat ik niet afhaak.

Maar ook de bordspellen mogen niet vergeten worden. Er was weer een Math Trade (op BGG) waardoor ik weer helemaal enthousiast raakte, aan meegedeed en verstuurde dus een aantal spellen en krijg er iets van 8 terug.

Ook kwam eind vorige week Zombicide 2nd Edition (van Kickstarter), dus die aantal keren op tafel gehad. Samen met Tobias uren zombies lopen verslaan en een avondje samen met Lies en Tobias. Helemaal geweldig!

En daarnaast speelden we Cubitos, Diamant, Love Letter, Jaipur (de nieuwe go-to game voor Lies en mij).

En soms speel ik een avondje weer verder Bloodborne, zijn inmiddels alweer aan de DLC bezig. Speelt nog steeds geweldig en is samen eigenlijk nog 10 keer leuker dan alleen. Ook omdat het iets minder eng is … en je elkaar kan helpen, waardoor zelfs de boss-fights prima te doen zijn.

Categorieën
Algemeen

SSDD

Same Shit, Different Day
(uit Dreamcatcher – Stephen King)

Gewoon weer een dag/week/maand, net als alle voorgaande dagen/weken/maanden.

Afgelopen maand gebeurde er wel dingen, maar vergat het hier neer te pennen (what else is new).

  • Eind vorige maand vierden we Tobias z’n 10e verjaardag, inclusief een aantal leuke puzzeltjes met geheimtaal om z’n cadeautjes te kunnen vinden.
  • We bouwden een knikkerbaan met Gravitrax.
  • Ik speelde weer wat Bloodborne samen met Edgar
  • Speelde wat bordspelletjes (waaronder weer eens Bardsung en begon met Forgotten Waters) en ook (de lang op gewachtte) X-ODUS.
  • Speel soms nog op de PS4, maar vooral meer op de PC (vooral veel indies, maar ook weer beetje Rainbow Six Siege)
  • Afgelopen week ook weer eens de game-dev-pen opgepakt, me weer ingeschreven voor een nieuwe Godot Wild Jam – voor het eerst iets in 3D gedaan.
Een half-transparante sniper-laser-lijn in een 3D-wereld. Die ook nog eens beetje beweegt en je kan hem dynamisch ‘richten’
Categorieën
Algemeen

Beetje stil

Afgelopen maand was het beetje stil hier. Er gebeurde veel, maar ik vergat om het hier neer te pennen.

Maar al met al was het uiteraard druk in december met alle feestdagen (Sint, Kerst en Oud&Nieuw).

Dus we vierden Sinterklaas (die netjes de zak in m’n werkkamer had neergezet en later nog een sjoelbak voor de deur bracht).

En twee weken daarna kwam Kerst voorbij, waarbij we gourmetten en lunchten met m’n moeder.

En met oud&nieuw hielden we een sjoel-competitie en keken we al het illegale vuurwerk (want, voor de toekomstige lezertjes, dit jaar mocht niemand vuurwerk afsteken ivm Corona).

En nu zijn we inmiddels alweer aangekomen aan het eind van januari … waarbij het jaar begon met heel naar nieuws voor Renske. Zal het hier niet verder over uitweiden, maar neem maar aan dat het super kut is.

Voor de rest gaat het wel aardig. Ben beetje met aantal boeken bezig om iets meer grip om m’n eigen ontwikkelingen te krijgen, doe soms een poging om weer eens een game te bouwen (of verder mee te gaan eigenlijk) en speel (uiteraard) nog regelmatig spelletjes. Wel steeds vaker op de PC en minder op de PS4 – behalve dan Bloodborne, waar ik nu samen met een collega doorheen ren.

Dus al-met-al niet veels nieuwswaardigs … maar ga wederom proberen om iets vaker hier iets te plaatsen.

Categorieën
Algemeen

Voor Oh

40.

Veertig.

Negenendertig plus één.

De helft van tachtig.

Jaja, vandaag vier ik weer m’n verjaardag. Iets anders dan voorgaande jaren, maar gevierd wordt het wel.

Dit jaar zonder visite, behalve dan Maarten en Alien die op de stoep stonden te zingen voor me. Maar wel met slingers en versiering overal.

En wakker gezongen worden door de kids.

En (met liefde) gemaakte tekeningen van de kids. Altijd leuk.

Als cadeautjes kreeg ik Colt Express, een ijsschep, een tweetal boeken (Lee Child en een Game Develop-boek) en een berg (40+) kaartjes (beetje vastspelen, want Mathijs en Rashida hadden 40 kaartjes door de brievenbus gedaan).

Al met al een prima verjaardag. Lekker rustig ook.

En zaterdag nog met wat vrienden een avondje videobellen en misschien nog wel een spelletje doen. We gaan het zien.

Categorieën
Game development

Game dev enthousiast

Heb al lange tijd een game-idee, denk dat het al paar jaar door m’n hoofd spookt. Heb al meerdere keren beetje lopen nadenken hoe ik het wilde gaan maken – maar nooit echt aan begonnen.

Maar sinds de afgelopen maanden ik met een aantal game jams mee heb gedaan, vond ik het nu langzamerhand wel tijd om echt iets te gaan doen.

Heb ik wel vaker gedacht, maar dacht dan elke keer “nog even wachten, eerst nog even dit-en-dat leren of beter worden in zus-en-zo“.

Terwijl het grappige is dat ik juist van het doen in de game jams heel veel geleerd heb. Veel meer dan alleen maar uitzoeken en lezen, maar daadwerkelijk het doen en iets doelgericht moeten oplossen.

Dus ik besloot afgelopen week om echt een eerste stap te zetten. En in dit geval is de eerste stap een style definieren. Het idee wat ik heb is namelijk niet bijzonder origineel (een soort hack/slash ala Dark Souls, maar dan zonder bossfights). Maar ik wil vooral dat de style er vanaf druipt.

Dus ik ging aan de slag. Na heel even getwijfeld te hebben of ik niet alles zelf moest doen, maar op itch.io gaan zoeken naar wat stylen. Daar zitten toch ook meer de artiesten die het net ietsje beter kunnen dan ondergetekende. En ik hoef niet alles-alles zelf te gaan doen, begin ik me steeds meer te realiseren.

Nadat ik uiteindelijk een artist had gevonden wiens art-style heel erg in de juiste richting was, toen in Aseprite zelf een mockup gemaakt:

De dagen erna beetje lopen rommelen met de pixels soort van 3d-ish te maken dmv sprite stacking, maar uiteindelijk vond ik dat toch niet zo heel geweldig. Het heeft een heel gaaf effect, maar het deed beetje af aan de stijl die ik had neergezet in de mockup.

Dus uiteindelijk maar gekozen om ‘normaal’ 2D verder te gaan.

Dus zie hier, de eerste bewegende pixels van (werktitel) DunBrawl

Categorieën
Algemeen Games

Afgelopen maand

We kijken even kort terug op afgelopen maand (want ik heb weer tijdje niks gepost … maar sssst).

Elke week had ik twee avonden ingeroosterd om me verder te verdiepen in game development – zogenaamde studeeravondjes.

Heb aantal dingen gedaan, zoals in Godot dmv een TileMap een level op te bouwen en dergelijke. Daarnaast beetje met Blender gespeeld, me verder verdiept in vectoren en de wiskunde daarachter. En de afgelopen week ben ik vooral meer bezig gaan houden met kijken naar 3D development – ipv de 2D waarbinnen ik nu paar games mee gemaakt heb.

Qua games speelde ik vooral Ghost of Tsushima op de PS4. Had Sekiro aan een collega verkocht, maar door z’n enthousiaste verhalen begon ik het samurai-zijn te missen… maar had weinig behoefte om weer Sekiro te gaan spelen. GoT speelt heel nice, de combat was even wennen, maar nu own ik als een boss. Heerlijke gevechten en constant het gevoel dat ik beter kan.

Het open-wereld-teveel-te-doen-syndroom komt soms wel beetje naar boven, maar GoT begeleid je heel netjes met vosjes / vogels / wind die je kan volgen om dingen te ontdekken. Dus ben toch elke keer weer vrolijk bezig op het eiland.

Daarnaast kwam deze maand ook Spelunky 2 uit – rond diezelfde tijd dat ik met GoT begon. Geinspireerd door dit vervolg ben ik Spelunky maar weer eens gaan spelen en is eigenlijk toch best heel gaaf.

Uiteindelijk ook deel 2 gekocht (zelfs 2 keer, op PS4 en daarna op PC) … en speel het nu dagelijks. Kom steeds iets verder, wordt elke keer net weer ietsje beter. Heel gaaf.

Categorieën
Tutorials

Snelle video

Na m’n eerste tutorial video had ik de smaak te pakken en werd geinspireerd door een comment, dus maakte meteen kort daarna een tweede video met meer uitleg.

Snel en kort gemaakt, maar uiteindelijk kostte het toch nog iets meer bewerktijd dan ik had voorzien. Maar al-met-al wel tevreden met het eindresultaat.

Categorieën
Tutorials

leren

Laatste tijd veel mezelf aan het ontwikkelen door games te maken en daarover te vloggen (zoals dat zo mooi heet).

En had zelfs zo de smaak te pakken dat ik besloot om ook wat kleine tutorials te maken waarin ik kleine nuances of techniekjes uitleg welke ik gebruikt heb of heb ontdekt tijdens het maken van m’n games.

En nu is m’n eerste klaar, over hoe tekst te animeren en te triggeren in Godot:

Categorieën
Devlog

Boem!

En de volgende devlog is klaar.

Het maken ging al een stuk sneller dan de eerste.

Alhoewel. Het opnemen van de voice-over ging een stuk sneller, aangezien ik nu weet hoe ik dat proces wil doen. Ik schrijf de bulletpoints op, ga dan gewoon zitten en begin te vertellen en gebruik de bulletpoints als leidraad. Daarna luister ik m’n gebrabbel terug en schrijf het letterlijk uit, zonder alle uhms en verander sommige woorden nog wel beetje.

Dan heb ik een ‘natuurlijk verteld’ verhaal en kan het daarna in 1 run opnemen. Soms paar keer even pauseren wanneer ik de draad kwijt raakte of even struikelde over m’n woorden, maar over het algemeen was het redelijk snel opgenomen.

En toen begon het zoeken van de juiste video-fragmenten, wat een grotere klus was dan ik had verwacht.

Bij m’n eerste devlog had ik de fout gemaakt dat ik geen tussentijds beeldmateriaal had opgenomen, dus heb tijdens het maken van m’n devlog een aantal keer gefaked – een oude build geopend en die gefilmd … alsof ik ermee bezig was.

Dat werkte wel bij de dingen die ik moest doen binnen Godot, maar voor bijvoorbeeld het tekenen van de art werkte dat niet – want juist dat opbouwende proces kon ik niet laten zien, wat jammer was.

Dus had me bij deze game jam voorgenomen om elke keer alles op te nemen. En dat had ik ook heel keurig gedaan.

Wat dus resulteerde in dat ik meer dan 20 uur aan videomateriaal had. Met daarbij dus allemaal geswitch naar Spotify of Discord, wanneer ik met Rick aan het kletsen was. Of dat ik eventjes iets moest opzoeken of even m’n mail bekeek – stond er allemaal op.

En daar moest ik dus overal doorheenploegen. Gelukkig kon ik nog wel beetje m’n git history gebruiken om te kijken wanneer ik bepaalde features af had gerond en dus beetje zien wanneer ik waar mee bezig was.

Dat scheelde wel aanzienlijk, maar ben toch dagen (op-en-af) bezig geweest met het doorzoeken van de videos naar de juiste fragmenten.

Maar hij is eindelijk klaar!

Wel blij met het eindresultaat. Heb iets meer dingen kunnen laten zien hoe het gedaan is en wil ook wat kleinere videootjes op gaan nemen die bepaalde aspecten nog iets beter uitleggen.

Heb wel beetje de smaak te pakken gekregen met het maken van videos.

En heb ook gelijk maar even geinformeerd bij een aantal mede-game-developers hoe zij hun devlog materiaal opnemen. En die doen dat dus blijkbaar tijdens het ontwikkelen, dat wanneer ze een bepaalde feature afgerond hebben, dat ze dan even dat opnemen, zodat je later gewoon wat fragmenten kan combineren en klaar.

Dus dat gaan we de volgende keer doen ^^