vrijdag 4 december 2015

Progressiepost #0

De ontdekking van de teamnaam
De teamnaam was het eerste waar wij ons druk om maakten, en het eerste waar wij het oneens over waren. Na lange discussies en veel vreemde en nutteloze suggesties zijn wij tot de conclusie gekomen dat wij pizza allemaal wel leuk en lekker vinden. Vervolgens ontstond er een nieuwe discussie over het gebruiken van het wiskundige teken Pi in Pi-zza games en of dit alleen in het logo of ook in de officiële naam moest worden verwerkt. Uiteindelijk kwamen we tot de Pizza Games-compromis: de naam werd Pizza Games, maar het wiskundige teken bleef toch in ons logo!

Teambuilding
Teambuilding, daar doet Pizza Games zeker aan. Als event zijn wij deze maandag met zijn allen naar Amber toe geweest. Hier hebben wij een ge-wel-dige lan-party gehouden, met vanzelfsprekend, PIZZA.

De games die we hebben gespeeld variëren erg, iedereen heeft wel eventjes zijn of haar game gespeeld (Hearthstone e.d.), maar het grootste deel van de tijd hebben wij Jackbox Games gespeeld. Om precies te zijn, Fibbage en Drawful. Deze spellen konden wij namelijk met zijn allen tegelijk spelen. Wij hebben gespeeld met mobiele extenties waar wij mogelijk iets mee willen doen, dus het was zelfs nog leerzaam!

Het doel in het spel Fibbage is om zo veel mogelijk punten te halen. Punten haalt men door de tegenstanders slimmer af te zijn, we moesten namelijk mogelijke antwoorden verzinnen op ongebruikelijke en rare vragen. Hieruit is gebleken dat wij allemaal heel goed kunnen liegen, want er zijn veel punten behaald! Ook is gebleken dat niet alle antwoorden voor de hand liggen en dat sommige teamleden een voorkeur hebben om seksuele antwoorden te verzinnen (uhum Fergus).

Het doel in het spel Drawful is om wederom punten te verzamelen, alleen dan door een woord of woordgroep na te tekenen op een tablet of telefoon. Vervolgens moeten mensen aan de hand van jouw tekening het woord raden, wat tussen de antwoorden staat. Een aantal van de opties om uit te kiezen is echter verzonnen door de medespelers, waar zij weer punten voor kunnen krijgen als jij daarvoor kiest. Hieruit is gebleken dat wij allemaal kunstenaars zijn, met hele abstracte werken.

Aangezien er punten te halen vielen, zou er eigenlijk een winnaar moeten zijn. Deze zijn wij een beetje vergeten… We hebben wel PIZZA gegeten dus we zijn allemaal winnaars! Het uiteindelijke doel was om een hechter team te worden en dat is zeker gelukt. Conclusie: voor herhaling vatbaar!

Progressie van de game
Ook zijn er natuurlijk serieuze zaken om te behandelen. Zo is er een begin gemaakt aan het ontwikkelen van het spel. We zijn dus ook begonnen met het programmeren: dit is natuurlijk allemaal nog heel basaal. Ten eerste is de game management library van Arjan Egges is geïmporteerd en vanaf hier is een soort fundering gelegd voor de rest van het spel. Er is bijvoorbeeld een Level klasse gemaakt, met daarin een grid voor de representatie van de blokken in het Bomberman-veld en een functie met een algoritme om deze op te halen uit tekstfiles. Er is ook al een redelijk succesvolle poging gedaan om een custom level editor te ontwikkelen, om het levels ontwikkelen wat designer-vriendelijk te maken. Vervolgens is de Level klasse ook in staat om dit grid weer te geven.

Ook is er al een simpele klasse ontwikkeld voor de speler, als het ware dus Bomberman zelf, die in staat is te bewegen bij toetsenbord input, simpele animaties te laten zien en bommen te plaatsen. Deze bommen hebben dan ook weer een klasse die ervoor zorgt dat de bom na een bepaalde tijd explodeert en in een specifiek patroon, zoals in alle Bomberman games wel te zien is, explosies genereert. Voor deze explosies zijn ook weer aparte klassen, ook met animaties.

Tussen alle objecten zijn ook al collision checks, zodat de player bijvoorbeeld explodeert als hij een explosie raakt. Een interessante collision check is die tussen de player en de blokken in het levelgrid: de player kan zich namelijk onafhankelijk van het grid bewegen, maar hij is wel de grootte van een blok van het grid: wanneer hier dus pixel perfect collision gebruikt zou worden zou het dus bijna onmogelijk worden om precies tussen twee blokken in te lopen. Hiervoor is een soort gridsnapping geintroduceerd: Wanneer het spel merkt dat een player een collision heeft met een blok in het grid en deze merkt dat de player ook de kant van het blok op aan het bewegen is, dan snapt de code de player als het ware vast aan het gridvak waar hij in zit, iets wat voor de speler amper te zien is; zo kan de speler vervolgens makkelijk door een gat tussen twee blokken in bewegen, zonder dat de pixels van de player exact op dezelfde lijn zitten als de pixels van het gat. De basis voor de game is dus deze week gelegd en zo kan het retro deel van het spel al snel af zijn, zodat we aan het interessante kunnen beginnen: onze moderne toevoegingen!

Geen opmerkingen:

Een reactie posten