Categorieën
Game development

Jam update #9

[09:35]
Laatste dag. Deadline-day.

Vanavond om middernacht moet het spel klaar zijn. Er moeten nog 3 levels gebouwd worden en het is ook nog eens vaderdag, dus ik kan niet de hele dag hieraan werken.

Kan gewoon niet loslaten dat dit ‘maar’ een game jam is, ik wil gewoon iets moois opleveren. Iets waar we allemaal trots op kunnen zijn.

[16:49]
Vanmiddag toch wat dingetjes kunnen doen. Beetje de splash-animatie zitten tweaken en uiteindelijk het eerste echte level gemaakt. Eerst in de woonkamer wat level-ideeēn zitten schetsen op papier en daarna het eerste level echt gaan maken.

Maar ik verslikte me een beetje – mede door m’n eigen enthousiasme – en maakte het eerste level heel erg groot. De speler moest heel veel rondlopen en het was eigenlijk heel lastig om je weg te vinden.

Maar een teamgenoot vond de schaal juist wel fijn werken en ik heb uiteindelijkd is maar met de breedte van de weg zitten spelen om het allemaal maar beetje werkend te houden.

Lastige was alleen dat ik de enige was die echt nog aan het werk was aan de game. De muziek-gast heeft vanochtend z’n muziek toegevoegd en daarna heb ik weinig van hem meer gehoord. De schrijver was klaar met z’n werk en had ‘s avonds andere plannen. En de beide tekenaars (artists) reageerden alleen heel reactief op zaken wanneer ik het nodig had.

Dit was iets anders dan ik het me had voorgesteld. Voelde me beetje op een eilandje zitten. Prima als je solo een spel maakt, maar nu hadden we een groep van 6 mensen – maar ik zit als enige nog keihard te werken.

Nu eerst even avondeten en dan straks nog eventjes paar uur door.

[19:57]
Het eerste level is “af”. Heb alle layout gefixed, vijanden posities staan vast, de items liggen op hun plek.

Nu verder naar het volgende level. Heb ook de credits-pagina al afgemaakt. Leuke daaraan – al zeg ik het zelf – is dat de namen in willekeurige volgorde gesorteerd staan. Leek me wel zo eerlijk. Heb nog even overwogen om m’n collega-developer niet toe te voegen of altijd als laatste te plaatsen. Maar uiteindelijk maar de eer aan mezelf gehouden.

[21:50]
En het tweede level is qua layout “klaar”. Heb ook de (awesome) animatie in het hoofdmenu afgerond. Was weer eventjes leuk spelen met verschillende sprite-animaties combineren enzo. Maar het werkt nu – super gaaf.

Heb nog maar 2 uur voordat alles klaar moet zijn en nog steeds is niemand anders online. Alleen de designer is er, maar die zit lekker te gamen en reageert soms als ik iets vraag.

[23:07]
Nog minder dan een uur. Ben er bijna, maar nog niet helemaal happy met de levels. En moet nog een scherm toevoegen die getoond wordt als je het spel wint.

[23:53]
En heb het spel gesubmit. Heb uiteindelijk weinig / geen aankleding meer in de levels kunnen doen. Beetje jammer, want nu zijn de levels helemaal leeg en verlaten. Er waren zoveel achtergrond sprites gemaakt door de pixel artist, maar had ik geen tijd meer voor om toe te voegen. En niemand kwam helpen.

Beetje jammer.

Nu ook geen zin meer om er dingen aan te gaan doen. Tijd om te gaan slapen. Ben bekaf.

Categorieën
Game development

Jam update #8

Laatste dag voor de deadline.

En nog super veel te doen.

Gisteravond hadden we een overleg met het team om te bepalen wat we nou precies gingen doen en wat iedereen nog moest gaan maken. Uiteindelijk nog best veel om te doen, waaronder 3 levels om te bouwen. Maar ook allerlei condities die nog gecheckt moeten gaan worden, verschillende schermen (zoals game-over of victory) die gemaakt / getoond moeten worden. En veel ligt bij mij – want m’n collega-developer was ineens weer terug, met als enige melding dat hij niet precies snapte wat we nu aan het bouwen waren. Waar waren de dingen die hij had opgezet in het begin? Waarom was dat ineens weg? Heb maar rustig gereageerd dat we gezien de tijd besloten hadden om de omvang van de game iets kleiner te maken, omdat er nu al genoeg te doen is. Heb maar niet gezegd dat zijn bijdrage 4 dagen geleden was en dat hij dus weinig recht van spreken had in mijn ogen.

Paar uur later reageerde hij nog een keer met de oproep dat hij niet snapte wat er nog allemaal gedaan moest worden en of we precies konden aangeven wat er verwijderd was en waarom. Dus heb toen nogmaals heel duidelijk uitgelegd wat er nog allemaal gedaan moest worden … en dat was de laatste keer dat we iets van hem hebben gehoord.

Opgeruimd staat netjes.

Heb hem uiteindelijk nog wel een plekje in de credits gegeven – maar kostte me wel veel moeite.

Maar ok. Vandaag dus veel kleine dingen lopen fixen. Heb de enemy-movement gefixed, hoofdmenu afgemaakt, een game-over scherm toegevoegd, de custom achtergronden per npc toegevoegd in de dialoog-schermen en nog veel meer.

Merk dat vooral het gedrag van m’n collega-developer me heel erg dwars zit. Er moet super veel gebeuren en ik heb dan ook een grote hekel aan mensen die van alles roepen, maar weinig doen. Bij hem had ik al snel dit gevoel, maar duurt toch even voordat het duidelijk is dat het gevoel klopt.

Helaas.

En we hebben nog maar 1 dag en morgen is het vaderdag. Dus wordt nog hard eraan trekken om iets fatsoenlijks af te leveren.

Categorieën
Game development

Jam update #7

Vandaag had ik de dag vrijgenomen van werk, speciaal om aan de game jam te werken. Dus ben weer een heel eind verder gekomen. Heb een level gemaakt, een font toegevoegd, de animatie toegevoegd waarmee de vijand naar de speler toeloopt en nog allemaal andere zaken welke nodig waren.

M’n eerste level
Categorieën
Game development

Jam update #6

Vanochtend begon al goed met de mededeling van m’n collega-developer die meldde dat hij het heel druk had met ‘real world issues’ en dat hij dus de komende 2 dagen niks kon doen.

What else is new?

Maar ok. Heb er steeds meer vrede mee, geeft mij namelijk steeds minder zorgen om te moeten samenwerken met zo’n iemand. En ik kan dus prima gewoon alles doen zoals ik het wil.

Vanavond vooral bezig geweest met dingen uitzoeken en voorbereiden. Heb morgen de dag vrijgenomen van werk (dacht initieel dat de game jam morgen zou aflopen, vandaar), dus kan dan me heel de dag focussen op de game jam.

Categorieën
Game development

Jam update #5

Vandaag gebeurde er niet zoveel. Het was beetje stil. M’n collega-developer liet niets meer horen. Had eerlijk gezegd ook niet anders verwacht. Maar ook de muziek-gast en de artists waren stil.

Begon me beetje af te vragen of ik de enige was die nog enthousiast was voor deze game jam.

Zelf ‘s avonds ook niet zoveel motivatie om iets te doen. Was beetje gaar van gisternacht.

Categorieën
Game development

Jam update #4

Gaaaaaaaaaaaaaaap!

Ik vanochtend na 4 uur slaap

Gisteravond beetje tot te laat doorgegaan. Ik had ‘s middags (tussen allerlei meetings door) al aan het inventory-systeem gewerkt.

De player kon nu items oppakken en er werd een inventory getoond wat hij dus in z’n broekzakken had zitten.

Onze rat kan items oppakken 🎉

Toen ‘s avonds wilde ik aan de slag met het quest-syteem. Doel was dat de player naar een npc (non-player character) kon lopen, met hem/haar kon praten, dan een quest kreeg (een opdracht om een item te zoeken/halen) en die dan terug kon brengen.

Lastige vond ik dat m’n collega-developer had aangegeven dat hij wel eventjes dat dialoog-systeem zou bouwen. Maar ik had het gevoel dat ik een goed idee had hoe dit te moeten bouwen … en hij deed constant maar 1-2 uurtjes werk en haakte daarna weer af onder het mom van allerlei smoesjes. Dus ik besloot om (wederom) de stoute schoenen aan te trekken en gewoon het dialoog-systeem te bouwen.

Enige probleem was dat het inmiddels al 23:00 was en ik nog moest beginnen.

Maar ik zag het helemaal voor me. Had de JSON-file al helemaal opgezet hoe ik het voor me zag, dus hoefde nu ‘alleen nog maar’ de code te typen.

En dat ging wonderwel zo eenvoudig als het klonk. Juist omdat ik de hele JSON-structuur al klaar had, kon ik vrijwel in een constante stroom alle benodigde code schrijven en had uiteindelijk om 02:30 (‘s nachts ja) een super gaaf dialoog-systeem.

Waarbij de player dus bepaalde quests kon doen, daarbij werd bijgehouden of hij die quest al geaccepteerd had en bepaalde reacties werden zelfs pas actief wanneer de speler de benodigde item in z’n inventory had.

Voelde echt super gaaf – ondanks het late tijdstip. En ik had heel veel geleerd en was nu vol zelfvertrouwen hoe ik bepaalde dingen in Godot moest gaan doen.

De demo van m’n dialog-systeem, welke ik vol trots aan m’n teamgenoten stuurde

Enige nadeel (en klein beetje voordeel) was dat m’n collega-developer (die dus vrijwel niks had gedaan de afgelopen 2 dagen) me vanochtend een berichtje stuurde: “Wow, de development gaat wel heel hard. Weet even niet wat ik moet doen nu”

Dus heb hem keurig een lijstje gestuurd met alles wat er gedaan moet worden; dingen als animaties, menu, navigatie etc. En zeker de levels, want zonder levels hebben we niks.

En nu gaat hij zich dus richten op het level-design. En kan ik me dus op de randzaken gaan richten als animaties, overall game-flow etc.

Er is nog genoeg te doen voordat het aanstaande zondag klaar moet zijn.

Categorieën
Game development

Jam update #3

Vandaag bezig geweest met overdenken hoe de game er nou globaal uit moest komen te zien, qua flow en verschillende ‘states’.

Verschillende flows van de game

Daaruit volgde dat ik bepaalde zaken ergens moest gaan bijhouden, maar was niet helemaal tevreden met de voorgestelde mappen-structuur van m’n collega-developer.

Aangezien hij meer ervaring had met Godot ben ik de eerste dagen hem gevolgd met z’n voorgestelde mappenstructuur, maar hoe meer ik in Godot werkte, hoe meer ik een hekel kreeg aan de opgezette mappenstructuur. Het werkte allemaal niet fijn, zat teveel theoretisch bij elkaar, maar niet logisch.

Ter voorbeeld, zo zat alle animaties in een mapje animations en de code in movable_objects – maar als ik dan iets met de player wilde doen, moest ik in 2/3 verschillende mappen zijn. Veels te veel gedoe.

En aangezien m’n collega-developer vandaag ineens aangaf dat hij examens had op z’n school en dus weinig kon doen (verrassing!), besloot ik om de stoute schoenen aan te trekken en gewoon de boel helemaal om te gooien naar een (voor mij) logischere indeling.

Deze indeling was ongeveer als volgt:

.
├── assets
├── data
├── entities
├── global
├── gui
├── levels
├── menu
├── sound
├── splash
├── tilesets
└── zzzz_deprecated
  • assets – alle sounds en sprites, onderverdeeld in verschillende mappen, per entiteit of domein:
├── assets
│   ├── Sound
│   ├── fonts
│   └── images
│       ├── enemies
│       ├── items
│       ├── menu_animation
│       ├── misc
│       ├── npcs
│       ├── player
│       ├── ui
│       │   ├── main
│       │   ├── npc_dialog
│       │   └── splash
│       └── world
│           ├── floor
│           ├── props
│           └── walls
  • entities – alle verschillende entiteiten, zoals een mapje voor de player, een ander mapje voor een enemy en dan weer een ander mapje voor een item of een npc. Zo staat alles wat bij elkaar hoort bij elkaar, code en animaties:
├── entities
│   ├── enemies
│   ├── items
│   ├── player
│   ├── villagers
│   └── world
  • global – alle globale scripts – bijvoorbeeld om de game-state bij te houden of om muziek af te spelen. Maar ook zaken om globaal de dialogen bij te houden
  • gui – alle UI gerelateerde zaken
  • level – de verschillende levels die gemaakt waren
  • tilesets – de verschillende tilemaps voor de levels

Een aantal mappen had ik achteraf gezien ergens anders willen onderbrengen:

  • sound waarin de code stond voor het aansturen van de muziek, had eigenlijk als submap in global gemoeten
  • menu had als submap van gui gemoeten
  • net als splash wat ook een submap van gui had moeten zijn

Maar al-met-al was ik wel heel happy met hoe ik de overall structuur opgezet had. Voelde heel intuitief aan en wordt ook door Godot niet afgedwongen ofzo – dus kon zelf gewoon lekker m’n eigen weg erin vinden.

En nu dus morgen lekker aan de slag met het quest-systeem, waarbij een npc dus een bepaald item kan requesten, de player dit item dus moet kunnen oppakken en kunnen afleveren.

Heb al wel beetje een idee, maar eens zien hoe we dat gaan aanpakken dan.

Categorieën
Game development

Godot – het vervolg

Afgelopen weekend ben ik begonnen met het opnieuw maken van m’n eerste Unity game, Asteroids.

Voornamelijk om te zien hoe ik in Godot een echt spel moest maken en daarnaast omdat het me een mooie vergelijking leek, eens kijken hoe makkelijk/moeilijk dit gaat verlopen.

Maar al snel had ik de assets erin zitten, had ik de juiste instellingen en kon ik m’n schip bewegen door het scherm.

Volgende stap was het toevoegen van asteroiden. En nu – 2 dagen later – heb ik al een werkend prototype:

Het begin is er ^^

Om tot dit prototype te komen was eigenlijk niet zoveel gepuzzel nodig, vooral logische zaken. Weinig (tot geen) gedoe met uitzoeken hoe ik iets nou precies in Godot moest doen (zoals wel moest bij Unity) – maar vooral nadenken over game-design.

Maar nu ik dit heb, beginnen de ideeën weer te borrelen. Zomaar Asteroids weer opnieuw maken is beetje suf. Dus we gaan een iets andere richting op – later meer hierover (wil niks spoilen ^^)

Maar tot nu toe heb ik Godot nog steeds super hoog zitten, het werken ermee is super leuk en ga nu gewoon weer lekker verder.

Categorieën
Game development

Godot

Vorig weekend kreeg ik van Youtube een aantal videos aanbevolen over indie game development (deze en deze om precies te zijn) en na het kijken ervan zat ik weer vol enthousiasme en motivatie om zelf weer m’n game-dev ambities te volgen.

Het was net alsof Youtube wist wat ik nodig had 🤔

Oskar

De laatste jaren was ik vooral bezig met Unity, begon vorig jaar met een Unity-cursus, samen met neef Rick wat samen lopen rommelen en daarna was het weer eventjes stil. Begin dit jaar weer de cursus opgepakt … maar had er nu eigenlijk geen zin in. Hikte elke keer tegen Unity aan. Om een of andere reden lag het me niet zo goed, voelde allemaal heel omslachtig om simpele dingen voor elkaar te kunnen krijgen.

Dus ik ging beetje verder op zoek. Las een aantal blogposts over andere game-engines, waaronder een paar geschreven in JavaScript. En uiteindelijk ontdekte ik Godot.

Had daar al wel eens eerder van gehoord, qua naam dan, maar nog nooit naar gekeken (want ik was bezig met Unity).

Maar ik begon met het doorlezen van de tutorials en probeerde de eerste stapjes en het voelde geweldig. Heel simpel, heel straight forward, gewoon precies wat ik zocht. De editor was exact gemaakt voor de games zoals ik ze verwacht te vinden, de opzet van de verschillende onderdelen (nodes) voelden heel logisch.

Ik voelde me direct thuis.

Dit was dinsdag.

Woensdag las ik meer van de documentatie en tutorials, probeerde ik verschillende dingen verder uit en leerde zo stapje voor stapje de basis van Godot.

Ook joinde ik de Discord om daar vragen te kunnen stellen. Of sterker nog, al snel begon ik vragen te beantwoorden. Veel beginnende Godot-gebruikers lezen de tutorials nauwelijks, dus ik kon veel basisvragen al vrij snel beantwoorden en soms zelfs helpen met zoeken en/of stukjes code schrijven.

Godot voelt echt geweldig! Kan niet wachten om m’n eigen games te gaan maken. Ben bijna door alle tutorials heen, dus wordt nu wel tijd 😁

Categorieën
Algemeen Game development

ça va?

Even kort dagboek-entry om eventjes bij te kletsen:

// Vorig weekend (met Pinksteren) gingen we een lang weekend naar een camping. Een zogenaamde natuurcamping. Dit klinkt net alsof we daar naakt rondrennen, maar dat is het gelukkig niet. Het is een camping zonder alle meuk als een animatie-team, disco etc. Dus gewoon lekker middenin de natuur, vogeltjes om ons heen, mooie ruime plek, vriendelijke mensen, trampoline voor de kinderen en lekker eenvoudig maar heerlijk kamperen. Samen met m’n moeder, die kwam ook een paar nachtjes in een trekkershutje.

// Afgelopen week was dan weer beetje mix van beetje gamen en daarnaast weer verder met het game-project waar ik samen met m’n neef Rick mee bezig ben. Het begon ooit als cursus-projectje (eerste versie), maar is inmiddels weer zoveel verandert dat het er niet helemaal meer op lijkt. Dus vorige week paar avondjes beetje lopen rommelen met inladen van geluiden, bugs eruit halen, gameplay aanpassen etc.

// Afgelopen weekend waren er meerdere Switch-games in de aanbieding, wat mij dus triggerde om Hollow Knight opnieuw te kopen (had hem al op de PC, maar speelde hem daar nauwelijks). En dat speelt toch wel weer super nice en is toch wel sneller erbij gepakt dan op de PC (+ controller aansluiten etc).

// En ook nog Crypt of the NecroDancer gekocht, want die was helemaal bizar in de aanbieding (3 euro)