vrijdag 25 januari 2013

This is the end...

Dit is alweer de allerlaatste Blogpost van Demiurge Gaming.
We hebben het einde van de reis behaald. De laatste finishing touches worden nog aan de demo toegevoegd. De laatste bugs worden verwijderd, de laatste (domme) fouten worden eruit gehaald.
Maar het einde is in zicht, en ons project is klaar.

We hebben een boel meegemaakt, misschien zelfs wel het een en ander opgestoken hier en daar. Zo weten we bijvoorbeeld ondertussen dat TickTick een echte gruwel is. In de afgelopen maanden hebben we ruim de tijd gehad om de beperkingen van deze library te kunnen ondervinden. Vastlopen op eigenlijk heel simpele dingen, omdat je bijvoorbeeld niet bij bepaalde klassen of variabelen kan komen. En zeker in het begin nog niet precies weten hoe alles nou geregeld wordt, zodat alles extra tijd kost. Dat je constant door code aan het zoeken bent naar die ene plek waar datgene waar jij naar op zoek bent geregeld wordt.

Om nog maar te zwijgen van problemen met SVN. De problemen die je als groep bijvoorbeeld krijgt als mensen te weinig uploaden, zodat ze een aantal revisies achterlopen. Dit is zeker lastig en naar als mensen niet weten hoe ze SVN kunnen gebruiken om dingen te 'mergen'. Ook daar weer van geleerd natuurlijk.

We hebben geleerd hoe je een vergadering goed kunt laten verlopen. En vooral hoe het niet moet.
Dat als je geen strakke deadlines maakt, er weinig gebeurd. En zelfs met strakke deadlines liep je soms tegen problemen aan. Dat mensen teveel dingen voor hun rekening nemen. Of juist te weinig.

Dat het sowieso soms moeilijk kan zijn om in te schatten hoeveel tijd ergens in moet worden gestoken. Dat mensen vaak denken dat het allemaal makkelijk te redden valt. Waarna achteraf blijkt dat alles toch net niet zo makkelijk bleek te gaan als gehoopt. Maar ook het tegenovergestelde. Dat we als groep hadden verwacht ergens heel lang mee bezig te zijn. En dan heeft plots iemand een 'breakthrough'. Zoiets kan weken op een schema schelen.

We hebben ook geleerd dat het soms moeilijk is om consistent te blijven met code als zes mensen op zes verschillende manieren programmeren. Dat een iemand iets met de code doet wat een ander niet had voorzien. Geeft weer een boel leuke bugs natuurlijk. Dat het soms ook moeilijk is om überhaupt bij te houden wat er allemaal veranderd is aan de code.

We hebben ervaren hoe frustrerend het kan zijn om uren naar je scherm te staren zonder enige inspiratie. Dat je een probleem tegenkomt waar je maar niet langs komt. Doorsturen naar een ander blijkt dan soms een optie. Maar soms kwamen we er zelfs met zijn zessen een tijd niet uit.

Maar we hebben ook voldoening gehad. Dat je na een tijdje ploeteren resultaat ziet op het scherm. Dat dingen juist precies gaan zoals jij ze geplant had. Of soms zelfs nog beter. Dan blijkt een onvoorziene fout eigenlijk een verbetering te zijn voor de gameplay.

We hebben geleerd problemen op te lossen. Dingen uiteindelijk toch aan de praat te krijgen. Als alles echt goed ging zelfs op een slimme en nette manier. Maar vaak ook met behulp van onhandige en resourcevretende structuren. Maar het werkte dan wel.

En we hebben natuurlijk leren programmeren. Niet iedereen was hier even bekwaam in aan het begin van het project, maar iedereen heeft een boel geleerd. Van elkaar, maar ook door elkaar. Leren van de code van een ander, maar net zozeer door de fouten in die code.

En we hebben natuurlijk een leuke tijd gehad, een tijd waarin we ergens naar toe hebben gewerkt.
Vrijdag is het resultaat te zien!

Dit was onze laatste blogpost.
Demiurge Gaming out!

Oh, bijna vergeten. Onze laatste blogpost moest natuurlijk eindigen met een foto, dus bij deze de setup van Guyon:

















EDIT: Na zo'n prachtige foto van Guyon's setup kan ik(bart) natuurlijk niet achterblijven...
Vandaar hier ook een mooie foto van mijn 'werkplek'... Het zou denk ik leuk zijn als we van iedereen een leuke foto zouden hebben, maar ik denk niet dat dat ervan gaat komen... Nouja...nogmaals, hier dus mijn foto:


donderdag 10 januari 2013

We're back!

Tijdje geleden sinds de laatste blogpost. We hebben natuurlijk net met z'n allen een vakantie achter de rug, en gelukkig ondanks alles allemaal onze 10 vingers behouden met Oud en Nieuw. Met die 10 vingers zijn we meteen hard aan de slag gegaan om de deadlines die we de vorige keer hadden gesteld netjes te behalen.

Want natuurlijk gebeurde er aan het begin van de vakantie vrij weinig, wat aan het einde leidde tot een stortvloed aan SVN-updates. Onze doelstellingen hebben we helaas niet allemaal behaald, maar we zijn flink in de buurt gekomen. De HUD is voor 3/4 af, de basis voor online multiplayer zit erin, bijna alle animaties zijn af en ook bij de AI van de vijanden is het einde in zicht. Wat nog wel mist is de 'gore' als je op dit moment op enemies schiet en ze doodmaakt gebeurt er vrij weinig. Hier gaat natuurlijk wel verandering in komen. We hebben het waarschijnlijk al wel eens eerder gezegd. We willen wat meer bloed en andere 'leuke' effecten in het spel hebben. Wij zijn van mening dat het er dan een stuk interessanter uit gaat zien.

Op het punt waar we nu zijn aangekomen gaat het ook al erg goed met de besturing met de Wiimote. Eigenlijk is dit gedeelte nu wel af. Je kun alles wat je normaal met het toetsenbord en de muis zou doen nu met de Wiimote ook. Natuurlijk kan je als je geen Wiimote bezit ook nog gewoon het toetsenbord en muis gebruiken. Bij het opstarten van het spel krijg je hierin de keuze aangereikt. Zelf vinden we het natuurlijk wel veel leuker om het spel met de Wiimote te spelen, maar als je er geen hebt.... dan houdt het op...

Omdat we van plan zijn om dit tempo lekker door te zetten hebben we tijdens de vergadering van vandaag weer wat strakke deadlines staan voor volgende week. Tegen die tijd moeten we niet alleen een complete HUD hebben, ook de vijanden moeten afzijn, net als alle animaties. Er moet duidelijkheid zijn over de haalbaarheid van ons online multiplayerplan en we willen volgende week een soort alpha-versie van de uiteindelijke demo hebben. Dit houdt dan in dat we een aantal speelbare levels fiksen, die ook nog eens echt leuk zijn om te spelen. Ook moeten de levels behalve speelbaar zijn er ook nog een beetje leuk uit zien... Dit is nog lastiger dan je misschien denkt en wij denken dat het goed is dat we daar nu al een beetje mee aan de gang gaan.

Verder zijn we druk bezig met het opschonen van alle code. Er zitten namelijk nog veel nutteloze restanten in van de TickTick game, die we ijverig aan het verwijderen zijn. En na zoveel weken kunnen we gerust concluderen dat 6 man niet allemaal dezelfde coderingsstijl hebben. Op zich hoeft dit geen probleem te zijn, maar bij ons heeft dit toch voor wat inconsistentie geleid, wat het er allemaal natuurlijk niet overzichtelijker op maakt.

Als laatste nog even wat gekkigheden die we hebben meegemaakt de afgelopen tijd. Zo hebben we het voor elkaar gekregen om allerlei leuke SVN-errors te produceren, die niet allemaal even makkelijk te verhelpen bleken. Ook hebben we nu een geweldige AI in het spel voor een 'hondenemy'.  Die kan nu niet alleen over platformen lopen maar ook gewoon een wandeling maken door de lucht, lekker de pootjes strekken. Dat en ons geliefde hoofdpersonage heeft soms nog steeds de neiging om net als TickTick even goed te exploderen.

Dat was het weer voor deze week, volgende week weer een update over onze vooruitgang. We beginnen de eindstreep te naderen!

zaterdag 22 december 2012

Gore


GORE

Ter verbetering van de originele game, zullen we in onze game extra veel GORE toevoegen. Hier zijn wij zelf nogal enthousiast over en dit willen we natuurlijk graag op jullie lezers van deze blog overbrengen. Allereerst voor diegenen die niet weten waar we nu over praten, even een definitie van wikipedia. “Graphic violence visually depicted, especially the realistic depiction of serious physical injuries involving blood, flesh, bone and internal organs”. Oftewel, meer bloed, botten en ingewanden als je enemies neerschiet of als je zelf dood mocht gaan.

Wij willen dit verwezenlijken door middel van een particle systeem wat bloed genereert, veel bloed ook. Verder door het spawnen van wat botten als een enemie sterft en deze botten wat physics mee te geven willen we de gore in onze game toevoegen. We denken zelf dat dit samen met het bloed voor genoeg gore zal zorgen. Maar we staan natuurlijk ook open voor anderen ideeën.  Dus ben je enthousiast over gore en heb je een goede tip... Wie weet zie je het straks terug in de game.

Besturing
Met de besturing door middel van de Wii-mote, kun je nu overal naartoe schieten waar je maar wilt. Je kan 360 graden rondom mikken en dus ook overal op je scherm enemies raken. Samen met de gore denken we dat dit voor mooie effecten kan zorgen.  Zijn er veel enemies in je bereik? Je kan ze nu allemaal tegelijk aanvallen en op veel verschillende plekken op je scherm zal het bloed dan in het rond vliegen. Als je dit vergelijkt met de originele Jazz Jackrabbit waarin niks bloed of gore te merken is, denken we dat dit een mooie verandering is.

vrijdag 21 december 2012

Next Blog

Hey allen,

We zijn ondertussen weer een stukje verder sinds de vorige blogpost. Zo hebben we in de tussentijd onder andere een presentatie gehad en een belangrijke vergadering om alles wat scheef zat recht te trekken.

Tijdens de presentatie is was het ons niet gelukt om een werkende demo te kunnen presenteren. Dit heeft eigenlijk twee oorzaken. Allereerst is er de focus die wij hebben gelegd op het verkrijgen van een goed eindproduct. Zo hebben we tijd gestopt in een particlesysteem en in de alternatieve besturing met de Wii-mote. Dit zijn alleen niet echt boeiende dingen om te laten zien in een demo. Verder hebben we allerlei Jazz Jackrabbit-aspecten toegevoegd, maar ook hier geldt weer dat het niet bijzonder boeiend is om te laten zien. Zeker aangezien we gebruik maken van de TickTick-game die we met een opdracht van het vak Gameprogrammeren hebben gekregen. Hierdoor lijkt ons spel nog ontzettend veel op TickTick, en iedereen is hier wel aardig bekend mee.

Het tweede punt is het te weinig tijd besteden aan het project. Hier zijn we allen in meerdere of mindere mate schuldig aan. Daardoor zitten we nog niet op het beoogde aantal uur, en hadden we dus meer kunnen presteren en dus presenteren als we dit wel hadden gedaan.

Om ervoor te zorgen dat dit in het vervolg wel correct verloopt hebben wij als groep strakke afspraken gemaakt over wie wat moet doen binnen een bepaalde tijd. Deze is gezet op 7 januari. Door middel van de volgende blogpost kun je hier lezen hoe dit is gegaan.  Als we ons aan de gemaakte afspraken houden zijn wij ervan overtuigd dat we alles op tijd afmaken.

Dat was hem weer voor deze keer. Tot over twee weken.
Demiurge Gaming out...


vrijdag 7 december 2012


Voortgang

Besturing

Voor de besturing van onze game gaan we gebruik maken van de Wiimote en Nunchuck, de welbekende controllers van de Nintendo Wii. Tot nog nu toe gaat de implementatie van dit onderdeel zeer voorspoedig. We zijn ondertussen zover dat het mogelijk is om een cursor te besturen met de Wii-mote. Natuurlijk is dit nog niet hetzelfde als een volledig bestuurbaar konijn, maar het is een goede eerste stap. Deze hebben we onder andere kunnen behalen door de public library van de Wii-mote die op internet te vinden is. Verder hadden we een bluetooth ontvanger nodig zodat de Wii-mote met de PC kon communiceren. Om met de Wii-mote naar het scherm te kunnen richten en hem als een soort muis te kunnen gebruiken hadden we ook nog een sensorbalk nodig die infrarood uitzend. Wij hebben hiervoor de sensorbalk gebruikt die standaard bij de Wii wordt geleverd. Een andere, mogelijk iets minder praktische oplossing, zouden twee kaarsen zijn. Kaarsen zenden namelijk, net als de sensorbalk die we nu gebruiken, ook infrarood licht uit.
                De volgende stap waar we aan gaan werken voor dit onderdeel is de implementatie voor Jazz zelf. Zo moet hij uiteindelijk kunnen richten en schieten naar de cursor van de Wii-mote. Dit vereist bovenop Wii-mote implementatie ook een uitbreiding van de sprites van Jazz. In de originele serie is het namelijk alleen mogelijk om recht vooruit te schieten. Ook moet Jazz nog bestuurd kunnen worden met de Nunchuck.

Implementatie

Wij zijn natuurlijk ook al een stuk verder met de implementatie van het retrospel. Zo is het ondertussen mogelijk om net als Jazz te kunnen springen, rennen en sprinten. Verder versnelt Jazz als hij langer aan het rennen is, ook kan hij op die manier al hoger springen. Ook kan Jazz al ‘helikopteren’. Hierbij gebruikt hij zijn oren als wieken van een helikopter om in de lucht te kunnen zweven. We zijn nu bezig met het toevoegen van de vijanden en de daarbij behorende AI. Ook zijn we bezig om te zorgen dat Jazz kan schieten. Hierbij hoort dus ook dat Jazz kan richten, met Wii-mote en muis. Dat laatste voor alle programmeurs die thuis geen Wii en bluetooth ontvanger hebben. Ook zijn we bezig met het implementeren en nabootsen van de HUD uit Jazz Jackrabbit 2.

Graphics

Ons graphics team, Arno en Jimmy, zijn ondertussen druk bezig alle spritesheets werkend te krijgen. De progress die hiermee wordt gemaakt is ontzettend motiverend, omdat ons spel daarmee meteen zo’n sterke ‘Jazz-vibe’ krijgt. Natuurlijk is iedere stap die we maken belangrijk en leuk, maar juist op dit gebied is het verschil zo sterk merkbaar. Ook wordt er in dit onderdeel hard gewerkt aan het implementeren van zoveel mogelijk gore als maar mogelijk. Zo heeft Olaf laatst een werkende particlelibrary toegevoegt zodat we daar nu ook met zijn allen mee kunnen kutten. Het huidige plan is hierbij om een grote hoeveelheid bloedparticles en een scala aan botten te laten spawnen als een vijand sterft.

En dan nog even


We worden de laatste tijd helemaal platgebombardeerd met e-mails en brieven met de vraag waar toch de naam Demiurge Gaming vandaan komt. Hierbij valt op dat tot nog toe iedereen erg positief is, één iemand noemde het zelfs de ‘name of the century’. Iemand anders schreef dat ze haar eerstgeborene naar ons bedrijf wilt noemen.
                Dus hoe zit dat, hoe zijn we nu eigenlijk op deze geniale naam gekomen? Zoals het eigenlijk bij alle goede ideeën zit, is het eigenlijk heel simpel. De eer komt in zijn geheel toe aan Guyon en Joost. Dit duo zat in de bus, net een enerverend college achter de rug, terwijl ze zaten te peinzen over de naam. Guyon was, zoals altijd, muziek aan het luisteren. Hierbij ontsprong het idee om gewoon de lijst met muziek af te zoeken naar een goedklinkende naam. En zo is het geschied. Simpel doch efficiënt,  overeenkomstig met de grondbeginselen van ons bedrijf.

donderdag 22 november 2012