vrijdag 22 januari 2016

Dit is het dan, de laatste blogpost van dit introproject. Erg jammer maar ook wel een beetje fijn dat na 10 weken hard werken we een mooi product hebben gemaakt om aan iedereen te presenteren.
Hieronder hebben de teamleden een klein stukje geschreven over hun ervaringen van het project.

Dit is het dan, de laatste blogpost van dit introproject. Erg jammer maar ook wel een beetje fijn dat na 10 weken hard werken we een mooi product hebben gemaakt om aan iedereen te presenteren.
Hieronder hebben de teamleden een klein stukje geschreven over hun ervaringen van het project.

Simon:
Mijn ervaringen van het introductieproject waren bijna allemaal positief! Ik heb zo veel geleerd wat betreft programmeren. In het eerste blok kregen wij vooral theorie, maar nu moeten we die theorie echt toepassen om een leuke game neer te zetten.
Daarnaast mocht ik de soundtrack maken voor de game, wat ook een leuke uitdaging was, aangezien ik altijd al heb willen beginnen met produceren, alleen het er nooit van kwam. Daarom was dit een leuke gelegenheid om er toch eens in te duiken.
Wat echter wel tegenviel waren de hoeveelheid uren. Na de kerstvakantie had ik er ruwweg 75, terwijl ik nog 3,5 week had om bij de 200 te komen (oops!). Gelukkig heb ik keihard gewerkt om toch nog een mooi aantal uren te maken.
Mijn rol als projectleider beviel ten slotte goed, want plannen en organiseren is mij op mijn lijf geschreven. Hoewel de communicatie af en toe wat stroef verliep, ben ik blij dat ons team goed kon samenwerken.
Veel plezier met onze game!

Wink:
Het introductieproject heeft voor mij en ik denk wel voor ons allemaal veel meer laten ervaren hoe het programmeren in de praktijk is. De practica tijdens het vak gameprogrammeren hebben ons natuurlijk wel een beetje klaargestoomd, maar in het introproject is het nodig dat je echt een volledig spel maakt, ook met veel afwerking en polish. Zo besteed je niet alleen tijd aan interessante dingen zoals AI schrijven, maar moet je ook bijvoorbeeld een settings menu programmeren, waar toch ook meer werk bij komt kijken dan dat je in eerste instantie denkt. Bij het polishen van de game horen natuurlijk ook dingen zoals bugs fixen. Zo begon de game opeens verschrikkelijk slecht te lopen wanneer er heel veel vijanden in het scherm zaten. Dan ben je toch wel weer even bezig met het optimaliseren van de AI zodat de game juist weer fatsoenlijk runt en hier gaan ook veel uren in zitten, omdat je constant variabelen en kleine stukken code aan het tweaken bent. Of je maakt bijvoorbeeld sprites voor particle effects, die bij sommige mensen waarschijnlijk niet eens zullen opvallen. Dit zijn allemaal dingen die je in de practica helemaal niet tegenkomt omdat het maar een klein spel is en het is handig om te ontdekken dat dit soort dingen ook gedaan moeten worden. Dat is volgens mij wel het beste aan het introductieproject, tegen dingen aanlopen die je tijdens een kort practicum nooit zou zien. Ik hoop ook dat het uiteindelijk te zien is in de game hoe hard we aan het polishen hebben gewerkt en dat de begeleider veel plezier heeft bij het spelen van oze lastige game!

Fergus:
Ik vond het introductieproject een erg leuke ervaring!
Ik leerde hier hoe het is om samen met andere mensen aan een grote game te werken.
Wat me erg opviel is hoe veel dingen er eigenlijk belangrijk zijn bij een goede game, naast een goed idee hebben en de code schrijven bleek dat er heel veel andere dingen moeten gebeuren, bijvoorbeeld graphics en geluid, design van menu, goed bedenken hoe de game moet zijn en dat deze natuurlijk voelt om te spelen en ook dat sommige kleine dingen heel belangrijk lijken te zijn! (Zoals dat een knop er anders uit gaat zien als je muis er op staat, of kleine sparkles bij sommige items)
Gelukkig hadden we voor elk van deze uitdagingen wel iemand die er goed mee om kon gaan, en daarnaast ook nog goed samenwerkte met de rest van de groep.
Nu we aan het einde van dit project zijn kan ik gelukkig wel zeggen dat ik enorm blij ben met wat we hebben gemaakt, en dat dit mij nog meer motivatie geeft om games te gaan maken

Wiebe:
Het introductieproject is een leuke en leerzame ervaring geweest voor mij. Ik heb mij veel bezig gehouden met het visuele aspect van onze game, maar de code heeft mij ook veel nieuwe dingen geleerd. Ik vind dat dit project een goed vervolg is op het vak Gameprogrammeren. Het is ook goed om een projectgroep zo in het diepe te gooien, we moesten namelijk zelf zorgen dat wij aan een goed aantal uren kwamen. Dit alles vereist veel discipline en heeft ons allemaal een stuk zelfstandiger gemaakt.
Wat mij het meeste bijblijft is hoeveel er eigenlijk komt kijken bij het maken van een game, het moet een kwalitatief en compleet product zijn, hier hebben wij met zijn allen heel hard aan gewerkt. Iedereen heeft veel aandacht besteed aan de kleine details in de game. Dit loopt uiteen van een logisch menu ontwerp tot de AI van de enemies in de game.
De communicatie was af en toe wel wat minder naar mijn mening, maar niet alles gaat perfect. Het is moeilijk om een andere meeting te plannen naast de wekelijkse meeting met onze projectbegeleider aangezien iedereen andere verplichtingen heeft. Vaak miste ik initiatief van onze projectleider, maar iedereen heeft zich uiteindelijk zo goed mogelijk aan de afspraken gehouden die we voor het project hebben gemaakt.
Kortom, ik heb erg veel geleerd van dit project, en het was een leuke ervaring. Tenslotte vond ik het jammer dat er zoveel op de uren gehamerd werd, maar dit heeft er wel voor gezorgd dat wij een goed afgewerkte game hebben neergezet. Ik had niet anders verwacht van de enige echte Pizza Games!

Amber:
Het introproject! Na 10 weken lang hard werken samen met het team hebben we toch maar even een leuk en goed spel in elkaar gezet. En net zoals de rest heb ook ik veel geleerd tijdens het project. Het leren van code schrijven was belangrijk maar ik vond vooral de game-design aspecten erg interessant om meer over te leren. Zo wordt een spel al snel te moeilijk of te saai en een goede balans vinden is lastig maar wel uitdagend. Ik vind dat ons team een goed hardwerkend team is dat echt goed gewerkt heeft en ik heb dan ook veel plezier gehad om met deze mensen te mogen werken!
Ik hoop dat jullie veel plezier beleven met het spelen van ons spel.

Het spel

Ons spel is eindelijk af!
Er zijn veel verschillende speel opties mogelijk bij ons spel. We hebben 2 verschillende singleplayer opties: namelijk loaded, voor geprogrammeerde levels, en random, waar je elke keer een random generated level krijgt dat wel steeds moeilijker wordt naarmate je verder in het spel komt.
Je kan zelf met tot wel 4 spelers tegen elkaar strijden om de beste Bomberman te worden.

Hieronder is nog een filmpje te vinden van een stukje gameplay van Bomberman.






vrijdag 8 januari 2016

Hallo, hoe gaat hij met jou?
De kerstvakantie is al weer een week voorbij en dat is goed te merken. Van lekker relaxen bij de kerstboom met een hapje, drankje en een video game naar gemiddeld 7 uur per dag hard werken aan het project. We zijn er na de kerstvakantie achter gekomen dat we toch nog maar 3 weken hebben om aan dit project te werken en 3 weken gaan toch sneller voorbij dan je denk. Dus dat wordt vast veel stress, heel hard werken en avonden laat naar bed. Vooral als je nog 100 uur aan je project moet werken J.

Iets waar Fergus en Jelle heel hard mee aan het werk zijn is Artificial Intelligence of te wel AI.

Artificial Intelligence

 Eén van de vele soorten verbeteringen die we aan onze game toevoegen is een verbeterde AI. In ons geval betekent dit dat we de vijanden van Bomberman veel slimmer gaan maken! Er zijn op het moment acht vijanden in het spel, en elk van deze vijanden hebben andere doelen. Zo hebben we bijvoorbeeld de Pontan. Pontan komen origineel uit de gevangenis van Munteiland. De eigenaar van de bomfabriek van Bomberman heeft ze uit de gevangenis gehaald om ze te gebruiken als bewakers.

Pontans doel in de game is simpel, totale vernietiging. Hij is super snel, kan door blokken heen en zal er alles aan doen om zo snel mogelijk bij de speler komen. Hij is hierdoor dan ook één van de meest hinderlijke, gevaarlijke en vervelende vijanden in het spel.

ander voorbeeld is de Pass. De Pass kwamen origineel uit Zuid Afrika, maar omdat zij alle andere dieren met hun slimheid hebben gevangen, werd hun gebied al snel leeg en zijn ze zich gaan verspreiden. Voordat ze te ver gingen, kwam er door puur toeval helaas een meteoriet die het grootste deel van Afrika verwoeste. De laatste levende Passes waren gevangen en getemd door de beruchte bomfabriek eigenaar, waar ze nu alles doen wat hun baas ze verteld.

Deze tijger zal samen met zijn mede-tijgers de speler zoeken totdat hij in de buurt van de speler is. Omdat deze tijgers erg slim zijn door onze AI, zullen ze samen werken en de speler omsingelen. Wanneer elke Pass op een goede plaats zit en ze de speler hebben omsingelt, gaan ze dan snel op de speler af om deze om zeep te helpen. De enige manier voor de speler om dit te overleven, is er voor zorgen dat hij zijn bommen zo plaatst dat de Pass er niet langs kunnen, of een Pass op te blazen en dan uit de cirkel te ontsnappen.

De andere vijanden die er in het spel zitten zijn Balloom, Doll, Kondoria, Minvo, Oneal, Ovapi.
De strategiën van de andere zes vijanden zullen jullie zelf maar eens achter moeten komen zodra Bomberman voor het publiek beschikbaar is eind januari! :). 

Deze nieuwe vijanden garanderen dat het spel een stuk spannender gaat worden, en dat het uit de fabriek ontsnappen geen makkelijke taak meer gaat worden zelf niet voor de professionele Bomberman spelers onder jullie.

Multiplayer

Wink is momenteel bezig om er voor te zorgen dat je straks met drie andere vrienden ons geweldige spel kan spelen en ervaren. Hiervoor is het wel handig als we iets van xBox controlers hebben om op te spelen want met 4 mensen achter een computer wordt wel erg gezellig maar erg moeilijk. Ook is Wink bezig om er voor te zorgen dat je met je vrienden kunt spelen terwijl je allemaal op je eigen computer zit, met wel een werkende internet verbinding. Want binnenkort kan je dus gewoon via het internet ons geweldige Bomberman spel samen met je vrienden of tegen je vrienden spelen.

Nu we nog 3 weken hebben wordt het ook tijd om ons promotie materiaal te gaan maken voor ons spel, dat natuurlijk eigenlijk geen promotie materaal nodig heeft ;P! Denk aan een geweldige trailer die binnenkort te zien gaat zijn! Flyers waardoor je het spel zeker gaat pre-orderen! En nog vele andere dingen die er binnenkort aan gaan komen en dan vast ook op de blog komen te staan!

Voor nu zeggen we even doei! Tot over 2 weken voor de laatste blogpost voor het einde van het project!

Groetjes,

Amber, Fergus, Wink, Wiebe, Jelle en Simon of te wel TEAM PIZZA.

Hieronder is nog een leuk filmpje te vinden van Wink die om help roept omdat de hoeveelheid particles op het scherm een beetje uit de hand aan het lopen was!






vrijdag 18 december 2015


Het is kerstvakantie!

Dit betekend na vele vele weken hard werken aan het project om even te relaxen voor twee weekjes en te genieten van lekkere kerstdiners en mooi vuurwerk met oud en nieuw. We mogen niet te hard relaxen want er moet wel nog gewerkt worden aan het project. We willen tenslotte een leuk spel maken :D!!

De laatste week voor de vakantie hebben we een mooie presentatie mogen geven over de voortgang van ons project en hebben we naar veel presentaties gekeken van andere groepjes,  die allemaal leuke games en goede ideeën voor hun project hebben maar niet zulke goede team namen hebben als wij ;).  En zoals het hoort bij een presentatie gaan er altijd dingen mis. Wij als informatica/gametechnologie studenten gaan er wel een beetje van uit dat we verstand mogen hebben van computers en programma’s maar PowerPoints en beamers blijven altijd moeilijk en lastig om mee om te gaan. Waarom zien we het wel op de laptop maar niet op het grootte scherm? Het heeft even geduurd maar uiteindelijk is het ons natuurlijk gewoon gelukt om een mooie demo te laten zien van ons spel en alle fijne vragen te beantwoorden.

De laatste paar weken hebben we hard gewerkt aan het spel en daarom is het ons gelukt om de originele Bomberman nu zo goed als af te hebben. Hierdoor kunnen we nu gaan beginnen aan het upgraden van het spel en het echt een Pizza Games spel laten worden.

Wink heeft zich goed verdiept in het laten lopen van de enemies. Volgens Wink was het laten lopen van de enemies een hels karwei. Moeilijke algoritmes begrijpen en dan ook nog eens programmeren.
Maar onze code wizard zorgt er gewoon voor dat het lukt ze te laten bewegen over het speelveld. De enemies kunnen nu random door het veld lopen zonder dat ze op de speler letten en het is nu zelfs mogelijk om de enemies de speler te laten achtervolgen. Wat het allemaal extra spannend maak en misschien zelf een beetje stressvol. Ons plan voor de toekomst is om ervoor proberen te zorgen dat de enemies met elkaar gaan samenwerken om de speler aan te vallen.

Wiebe en Fergus hebben ervoor gezorgd dat we nu professionele HD 360 3D live motion animatie hebben in ons spel. Wiebe en Fergus zijn nog niet tevreden over de animaties en gaan, onder andere in de kerstvakantie, de animatie blijven verbeteren door de sprite sheets groter en langer te maken waardoor de animaties nog smoother en scherper wordt. Ook gaan ze zelf nieuwe animaties maken voor onder andere de “death animatie”. Elke enemie heeft nu dezelfde animatie en willen dus voor elke enemie een eigen “death animatie”maken.

Jelle heeft hard gewerkt aan het maken van de levels en hij heeft ervoor gezorgd dat de levels nu elke keer random worden gemaakt.  Als we nu willen spelen hebben we elke keer een nieuw level en power ups en enemies. Door het steeds veranderen van het level wordt het spel iedere keer anders en blijft het leuker om te spelen. Tijdens het spelen kan je ook power ups vinden die er voor zorgen dat het nog leuker wordt om te spelen. De power ups die we hebben zijn: meerdere bommen, sterkere bommen, sneller lopen, ontsteken van bommen, over bommen lopen, door muren heen lopen en een mystery power up. De power ups zijn ook random verdeeld over de levels.

Toekomst

We hebben nog een maand en in deze periode kunnen we op alle leuke ideeën die we hebben focussen.

Iets wat ons erg leuk leek om in het spel te willen hebben is verschillende multiplayer modes.
Hier kunnen 2 tot misschien zelfs wel 4 mensen op een computer tegen elkaar of met elkaar spelen. Als de spelers tegen elkaar kunnen spellen is het de bedoeling om elkaar zo snel mogelijk op te blazen en zo te winnen.  Een probleem waar we dan tegenaan lopen is dat we niet 4 mensen op een toetsenbord kunnen laten spelen dat wordt erg onhandig. Hiervoor zullen we moeten kijken naar eventuele controlers die aangesloten kunnen worden op de computer.


Het leek ons ook leuk een zombie mode te maken. In de zombie mode kan je samen met je vriend of vriendin met elkaar spellen, een coöp dus. Bij een zombie mode komen er in verschillende vlagen allemaal verschillende enemies op je af, die je dan moet tegenhouden en verslaan. Vaak begint het spel makkelijk en wordt het steeds moeilijker naarmate je het langer volhoud. Een zombie mode is extra leuk als je het met z’n tweeën kan spelen dus daarom maken we er een coöp van. 

Dit zijn twee ideeën van de vele ideeën die we hebben en waar we er zoveel mogelijk van in het spel proberen te krijgen!

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!

vrijdag 20 november 2015

Hallo!

Wij zijn Pizza Games!
Deze periode gaan wij ons focussen op het spel Bomberman. Wie kent het niet?
De eerste Bomberman kwam uit in 1985 op de NES en sindsdien zijn er vele verschillende versies op gekomen. En binnenkort komt er weer een nieuwe versie bij!

Wij hebben verschillende ideeën over wat er verbeterd moet worden aan onze versie van Bomberman. Zo zijn er ideeën over het gebruikt van je smartphone, random level generators, betere graphics en netwerken. Zoals je ziet hebben we veel ideeën en dus erg ambitieus.

Ons team bestaat uit: Simon, Wink, Wiebe, Fergus, Jelle en Amber.
Als je meer over de teamleden wilt weten kan je recht op de blog speciale pagina's vinden waar de teamleden wat over hunzelf vertellen.