Welkom

Op het blog van Unchained Games, hier kan je onze voortgang volgen.

Buzzwords

Procedural, shmup, Star Fox, C++, 3D, Windows & Linux

S.P.A.C.E

Stars Planets And Cosmic Encounters
 

Trailer

maandag 27 januari 2014

S.P.A.C.E.

zaterdag 25 januari 2014

De deadline komt steeds dichterbij en we zijn zeker nog niet klaar, maar toch wilden we nog even wat informatie geven over onze vooruitgang. Op dit moment hebben we eindelijk een werkende game (dat mag ook wel 2 dagen voor de deadline ;P). In de laatste blogposts hebben jullie onder andere de modellen in blender gezien en een paar afbeeldingen waar ze ingeladen waren in onze ‘game’ met een verhaal erbij over de button mapping. We kunnen nu trots de eerste beelden laten zien van onze game, mogelijk zullen er nog een paar dingen veranderen, maar het geeft een goede indruk van wat het uiteindelijke resultaat zal zijn.

Toen we begonnen aan het project wat nu als naam: S.P.A.C.E. heeft gekregen, waren we erg enthousiast en wilden we veel bereiken. Zoals vaak bij (groeps)projecten liepen we tegen sommige bugs en andere problemen aan. Hierdoor is de game die we nu hebben niet wat we voor ogen hadden, maar er is genoeg wel goed gegaan dat we tevreden zijn met het resultaat. De game die je kunt verwachten op het symposium zal vergelijkbaar zijn met een alpha. Het is zeker niet perfect en positieve feedback zijn dan ook zeker welkom! Mocht je ons spel komen testen laat ons dan zeker weten wat je ervan vond, misschien zal er ooit nog verder aan worden gewerkt.

Maar genoeg over wat niet is gelukt, laten we het eens hebben over wat ons game te bieden heeft en wat er verandert is sinds de laatste post. Zoals al eerder gezegd is ons project nu een speelbare game die werkt op zowel Linux als Windows. De button mapping waar al eerder aandacht aan is besteed is nu werkend op toetsenbord en controller. Tijdens het spelen kan overgeschakelt worden van toetsenbord naar controller zonder dat er iets hoeft worden aangepast. Er hoeft niets ingesteld te worden, controllers worden automatisch door de game gevonden.

Natuurlijk hebben we ook nog het visuele gedeelte hierin is onder andere multi-texturing, phong lighting, normal mapping en een menu geïmplementeerd. Phong lighting houdt in dat wij licht hebben welke bestaat uit een ambient, een diffuse en een specular component. De ambient is simpelweg het licht dat overal terecht komt, IRL heb je weerkaatsing van licht van alle oppervlakten/objecten dat ervoor zorgt dat alles in een ruimte een beetje belicht is, dit benaderen wij door elke pixelkleur met een standaard waarde te vermenigvuldigen. Diffuse light berekend aan de hand van de richting van het licht en de positie en ‘richting van de pixel’  hoeveel licht per pixel erbij moet, dit geeft de schaduw effecten op de modellen. Als laatste nog de specular, dit heeft betrekking op de spiegelachtige reflectie die je ziet op de modellen, de extra lichte punten/stukken. De multi-texturing die wij hebben heeft mogelijk gemaakt dat wij normal mapping ook konden implementeren. Als je goed kijkt naar onze modellen, bij de enemies bijv. lijkt het net alsof ze tegen een aantal meteoroïden zijn aangevlogen. Normal mapping zorgt ervoor dat wij met modellen met een laag polygonen aantal toch een redelijk hoeveelheid detail kunnen tonen. Naast deze dingen is er (veel) tijd gestoken in de collisions, het menu, het modelleren in blender en natuurlijk het promotiemateriaal.

Kom gerust langs bij ons op het symposium in BBG 205 en beoordeel onze game zelf!

“Wie schiet wat?” Een blik op de voortgang van de modellen.

vrijdag 10 januari 2014


Als eerst wil ik beginnen om iedereen, namens het gehele team van Unchained Games, een gelukkig 2014 te wensen! Zoals hiervoor opgemerkt door mijn bere-goede vriend Tobias, moeten we helaas concluderen dat de vakantie er toch echt op zit. Naast het verteren van vele oliebollen en verwerken van vele liters champagne is er in de vakantie ook nog het een en ander gebeurd aan het project (zie ook de voorgaande post van  onze beer-liefhebbende Tobias). In deze post nemen we een kijkje naar de modellen die ontwikkeld zijn voor onze game, ontwikkeld door onze Lead-Artist Femke, en mijzelf.

Het moge ondertussen duidelijk zijn dat we in onze game in een ruimteschip andere schepen gaan neerschieten. Ten eerste beginnen we met een gerenderde afbeelding van het schip van de speler (met reflecteerde ondergrond… omdat het kan!)

Dit is het schip wat je als speler zal besturen. Een elegant instrument van ongeëvenaarde behendigheid en precisie, perfect om al het ruimte-schorriemorrie van het heelal mee neer te halen. Dit model is een originele creatie van Femke, die met behulp van haar schetsen tot dit resultaat is gekomen. Leuk trucje van Blender (het modelleer-programma waarin we werken): Het is mogelijk je schetsen met een voor-, achter- en zijaanzicht in te laden in blender, waarna je het model aan de hand van die betreffende schetsen kan gaan maken. Zo is ook dit model tot stand gekomen.

Naast een schip voor de speler moest er ook nog een schip voor de vijand komen. En omdat ik uiteraard niet te beroerd ben om een dame een helpende hand toe te steken, (“Vraag maar aan Edwin, die doet het toch wel.” –Mama van der Riet 2013) had ik die taak op me genomen voor de vakantie. Een verzoek die ik hierbij kreeg van Thomas, was dat het (enigszins) rond van vorm moest zijn, omdat dat makkelijker te implementeren is met de collision enigne van Shu Sheng.

Omdat ik helaas niet kan tekenen op het niveau van Femke (of dat van een 10-jarige, wat dat betreft) koos ik er uiteindelijk voor om uit te gaan van een bestaand model, die ik na wat speurwerk op internet gevonden had. Dit model moest ik echter wel na gaan maken in Blender, omdat het voorbeeld in een ander programma gemaakt was. Dus (na goedkeuring van onze Lead-Artist, uiteraard) ging ik aan de slag:


Zie links het model waarmee ik bezig was, en rechts het voorbeeld model.
Uiteindelijk ben ik gekomen tot dit resultaat:

Het schip van de gemiddelde vijand (ons equivalent van de TIE-Fighter ;-)). Deze dingen bestaan om jou leven in de game zuur te maken, maar natuurlijk ook om als schietschijf te dienen. Alleen schieten deze schietschijven terug, dus wees gewaarschuwd!

En als afsluiter van deze post heb ik een voorproefje van de laser die geschoten wordt (onze schepen moeten toch iets hebben om te schieten). Ook hier is de voor een ronde vorm gekozen, in verband met de collision engine.


Dit effect is tot stand gekomen door een vorm van een bol te nemen, en alle hoekpunten (Ja, in modelleer programma’s heb je altijd hoekpunten, zogeheten vertices) op te laten lichten. In dit geval lichten ze op van binnen naar buiten, van een wit-roze naar een rode kleur. Het idee is om de lasers van de vijanden een opvallende, rode kleur te geven, en die van de speler een coole blauwe kleur. Want ja, wij vinden jou natuurlijk heel cool als je onze game speelt. ;-)

Tot slot rest mij nog te zeggen dat het texturen van de schepen nu in volle gang is, en dat ik hoop dat  door het zien van deze coole modellen de motivatie om onze game te spelen nog wat gegroeid is!

Blogupdate Vrijdag na de vrije dagen

Goedemiddag,

Wij hopen dat iedereen een lekkere vakantie achter de rug heeft, wij in ieder geval wel! Sommigen van ons hebben hard moeten studeren in de vakantie, anderen hebben lekker gefeest en weer anderen hebben de vakantie rustig doorgebracht, om weer even lekker uit te rusten. Iedereen zijn ding, maar één ding is wel duidelijk: We kunnen er weer tegenaan! Nu we de vakantie achter de rug is, gaan we weer net zo hard er tegen aan als voorheen.

Vandaag even een update over de status van ons werk, mijn werk en wat info over mij.

Info over mij 

Ik ben Tobias en ben de beruchte Beer van het team. Beren zijn gewoon awesome! Waarom ik beren zo vet vind? Dat is moeilijk uit te leggen, maar ik denk dat men dat zelf wel al begrijpt, het zijn gewoon enorm sterke beesten met hun grote klauwen, indrukwekkend proporties en hun grote gebit wat menig mens laat duizelen als ze er al naar kijken. Ik hoorde laatst een verhaal over een Chinese man die door dood te spelen ontsnapt is aan een beer. Maar hij is eerst in zijn hoofd en lichaam gebeten, dus hij lag in kritieke toestand in het ziekenhuis. Tja, zeven minuten lang bloeden schijnt niet goed te zijn. Link.

Ik ben voornamelijk verantwoordelijk voor de Kunstmatige Intelligentie (AI), omdat ik daar pas zeer binnenkort mee kan beginnen, heb ik me daar nog niet mee bezig gehouden. Ik heb mij vooral bezig gehouden met kleine dingen als functies schrijven voor bestanden inladen en textures inladen. 

Mijn werk

Wat ik al had gedaan was de TextureHandling klasse, die het laden en terughalen van Textures verzorgt. Had ik van 12 uur tot 2 uur 's nachts gewerkt aan een in mijn ogen geniaal algoritme wat de geladen Texture in één keer op de goede plek in de Array zette, Thomas vertelde mij doodleuk dat het makkelijker en efficiënter kon met de functie 'std::sort()'.
Dus dat was de eerste keer dat ik het "Kill your darlings" principe onder ogen zag en besefte dat het niet makkelijk was zomaar afstand te doen van waar jij hard aan hebt gewerkt. Maar, ik heb zijn advies opgevolgd en de veel makkelijkere 'std::sort' functie toegepast en daar daarna een template van gemaakt die structs sorteert op een 'const char* name' eigenschap die ze allemaal hebben.
Output van pookje in de vorm van de richting

Daarna ben ik bezig geweest met mijn xbox 360 controller te koppelen aan acties en wat wel al gelukt was, was de pookjes koppelen aan output, dus bijvoorbeeld linksboven voor als ik het pookje naar linksboven bewoog enz. Daar raakte ik erg enthousiast van, totdat ik merkte dat als ik de knoppen indrukte, de controller die knoppen ook als assen zag. Daardoor raakte ik dus geïnteresseerd in hoe dat kwam. Maar toen ik de A knop aan specifieke output probeerde te koppelen, werkte dat helaas niet.

Output van de knoppen die ingedrukt worden
Ik heb geprobeerd de beweging van de pookjes te koppelen aan het draaien van een 3D enemy, maar dit lukte niet, de modellen werden dan niet meer getekend, dus ben toen verder gegaan met de knoppen. Maar deze gedragen zich heel raar: als ik op de A knop klik, wordt eerst DPADUP wordt aangeroepen. Dat is de knop omhoog op het DPAD. Dus ik heb nu besloten dat ik eerst verder ga met het draaien van de modellen te koppelen aan het draaien van de pookjes en dan verder ga met de knoppen. Dit geeft mij namelijk een beter beeld van wat er nou werkt en niet.
Output van alle knoppen, ook niet ingedrukt en tussen door ook de pookjes die ik bewoog.

Status van ons werk

Men zegt wel eens: "Een plaatje zegt meer dan honderd woorden", dus laat ik dit plaatje alvast een groot deel zeggen:




In dit plaatje zie je bijna hetzelfde als in de plaatjes hierboven, alleen is in dit plaatje geen controller output te zien en is het dus iets overzichtelijker en geeft het andere informatie weer. Hier geeft het weer dat de modellen succesvol zijn ingeladen. En het resultaat, wat ik nog niet had toegelicht, ernaast. Deze modellen kunnen al draaien, nog niet gekoppeld aan de controller, want daar ben ik mee bezig, maar wel met een waarde gekoppeld aan tijd o.i.d.

Toen het ons gelukt was de modellen op het scherm te realiseren waren we super blij, want dit betekende een hele grote stap voorwaarts, aangezien het oplossen van de problemen daar om heen veel tijd hadden opgeslurpt. Dus het aanspreken van de GPU, de matrices, de camera en de textures werken allemaal samen in dit mooie resultaat!

Zulke resultaten heb je nodig om door te kunnen gaan, want zonder 'Milestones' redt je nooit je doel!

Vooruitblik

Thomas is momenteel bezig met de textures inladen met openGL en de vijanden. Niels is bezig met de lightning en normal maps, dus belichting en hoe het licht weerkaatst wordt. Femke is de textures op het schip en de enemy aan het maken. Edwin is bezig met de laser modelleren die gebruikt zal worden door de vijanden en de speler. Daarna gaat hij meehelpen aan de textures. Shu Cheng is bezig met de collisions tussen objecten. En ik heb al hierboven besproken wat ik ga doen, dus dan heb ik iedereen besproken. Dan rest mij niks meer, dan de andere teams veel succes toe te wensen en hoop ik dat er veel mooie games gemaakt zullen worden!


Physics engine

vrijdag 20 december 2013

Hey, ik ben shu cheng en ik ben verantwoordelijk voor de physics engine. Het maken van een physics engine is vrij complex en kost veel tijd. Aangezien ik heel erg gemotiveerd ben, maak ik mijn eigen physics engine… of pluk ik er gemakkelijk één van het internet af.

Na heel erg “intensief onderzoek” (nauwelijks een uurtje op het web surfen), waren we van plan om de Bullet physics engine te gebruiken. Het bestand kon ik zo van het internet downloaden als een zip-bestand en na het unzippen bleef ik achter met source-bestanden. Hoe moeilijk kon de rest nog zijn? Nou… D: In de library file zat een readme.txt waarin stond dat de libraries hier niet in zitten. Thanks, captain obvious. Waarom maak je een file met helemaal niets erin behalve een txt-bestand dat aangeeft dat de file leeg is?  Ik bleef dus over met source-bestanden die ik moest omzetten naar libraries met het programma CMake. Het programma kan libraries maken voor alle compilers zoals MinGW en Visual Studio. Na het maken van de libraries voor MinGW (de compiler die we voor code::blocks gebruiken), had ik eindelijk de gewilde bestanden, althans… dat dacht ik. De bestanden bevatten libraries die niet werkten, maar bevatten ook bestanden voor Microsoft Visual Studio. Ik snapte er niks van en besloot om een andere engine te proberen.

Na meer “intensief onderzoek”, trok de Panda physics engine mijn aandacht omdat het logo een panda is met een 3D-bril. BEST LOGO EVER (op die van Unchained Games na dan :P). Het was een exe-bestand en ik kreeg langzaam weer hoop. Maar alles veranderde toen Microsoft Visual Studio (nee, niet Jordy) aanviel. De Panda libraries konden we alleen met de Visual Studio compiler gebruiken en de andere physics engines hebben hetzelfde probleem.

Na een berg van mislukte pogingen, hebben we toch besloten om onze eigen physics engine te maken. Ik werk nu aan collision detection en hoop zonder verdere problemen verder te kunnen. Moraal van het verhaal: panda’s met 3D-brillen zijn gewoon geweldig.

Unchained Games wenst jullie een beregezellige vakantie!

Resultaten en plannen

Een paar weken terug hebben wij ons doel uitgesproken, een eigen versie van Star Fox te maken. Dit wordt gedaan in 3D met behulp van C++, SDL en OpenGL. Misschien vraag je je af wat wij al gedaan hebben en gaan doen. De eerste stap, het maken van het framework van de game, is bijna afgerond. Wij hebben nu o.a. een model importer (zie eerdere post),  file I/O en operator overloading voor zowel matrices en vectoren. Voor ons is belangrijk dat we een goed en compleet framework hebben voor we een de game zelf in elkaar gaan zetten. Nu het framework bijna is afgerond kan eindelijk wel worden begonnen met een speelbare game te maken. Na wat laatste aanpassingen aan het framework willen wij in de komende twee weken gaan werken aan die eerste versie. Hierin zal het ruimteschip bestuurbaar zijn, kan geschoten worden en komen er vijanden op je af die je neer kunt schieten. Ook zijn wij van plan om al vroeg support voor zowel keyboard en game pad te implementeren. Als we eenmaal een werkende game hebben wordt het natuurlijk tijd om uit te breiden, dingen die op onze lijst staan zijn o.a. verbeterde shaders, meer en slimmere vijanden en het random genereren van de omgeving. Hou zeker onze blog in de gaten voor alle nieuwe ontwikkelingen en vooruitgang van onze game.

Model importer & converter

Na me te verdiepen in hoe 3D programma's bestanden exporteren heb ik besloten dat Wavefront OBJ het beste bestandsformaat is om te gebruiken doordat alle grote modelleerprogramma's dit bestand exporteren. En ander voordeel aan .obj bestanden is dat het een ascii tekst bestand is, dus het op elke OS makkelijk te wijzigen en in te zien. Het grote nadeel hiervan is dat het meer ruimte kost om data op te slaan, zo kan een float die normaal standaard 4 bytes inneemt ineens 30 bytes innemen. Een ander nadeel is dat de bestanden eerst geparsed moeten worden voordat ze in OpenGL gebruikt kunnen worden, voor kleine bestanden is dit niet zozeer een probleem maar zodra je hoog gedetailleerde modellen in wilt laden kan dit erg lang duren. Laadtijden in games zijn dan vaak ook een groot frustratiepunt onder gamers.

Een mooie oplossing voor dit probleem is bij het installeren de .obj bestanden te parsen en dan binair op te slaan. Zo voorkom je platform-afhankelijke knelpunten als endianness. Het binaire bestand kan dan later gelijk ingeladen worden tijdens het laden van het spel in het geheugen van de GPU zonder eerst geparsed te hoeven worden. Dit bestaat dus in de kern als 2 programma's:

Model Converter

Dit is het programma wat tijdens het installeren aangeroepen wordt, het is een CLI met de volgende syntax: (-v) -i <input> ... -o <output>
Waarbij de -v voor verbose staat, dus je krijgt berichten over de status terug, -i en -o zijn altijd verplicht, waarbij na -i een of meerdere .obj bestanden die geparsed moeten worden volgen en na -o een binair bestand als output. Het binaire bestand wat gegenereerd wordt heeft de volgende indeling:
De CLI ziet er als volgt uit:

Model Importer

Nu het binaire bestand gegenereerd is wordt eerst de header van de file in het memory van het spel geladen, deze is altijd 13 bytes. Hieruit wordt de lengte en hoeveelheid van de individuele headers opgehaald en in een datastructuur gezet. Met deze lengte worden alle headers van de models opgehaald en allemaal in een daarvoor bedoelde datastructuur gezet. Hierna wordt alle vertex en index data geladen in een buffer en geupload naar de GPU. Tijdens het renderren hoeft er nu alleen via een OpenGL call een pointer gezet te worden naar de goede plek en lengte van de buffer door middel van de model datastructuren. Dit zorgt ervoor dat er maar 1x een grote hoeveelheid data naar de GPU verstuurd hoeft te worden.

Technologiën

vrijdag 6 december 2013

Voor dit project hebben we ervoor gekozen om als programmeertaal C++ te gebruiken omdat C++ voor grotere games de standaard is; dit zou ons een beter perspectief geven op de games-industrie en ook vooral onze programmeer-ervaring een duw in de rug geven.
Een andere reden waarom we voor C++ hebben gekozen is omdat het mogelijk is om cross-platform te developen, ons doel is dan ook een versie voor Linux en voor Windows uit te brengen.
Om dit mogelijk te maken hebben we voor SDL als basis-library gekozen.
SDL abstraheerd functionaliteit voor verschillende platforms door middel van generieke functies (SDL is in C geschreven, dus heeft geen OOP), hierdoor hoef je je als programmeur weinig zorgen te maken om de implementatie op meerdere platforms. Naast SDL maken wij ook gebruik van OpenGL welke een API is die communiceert met de graphics hardware, ook OpenGL heeft het voordeel dat het cross-platform is.

Funny Cube

Na een paar weken van denken over de game zijn we natuurlijk ook maar eens gaan programmeren. Ieder lid van de groep heeft zijn eigen onderdeel, waarbij iedereen ook gewoon van plan is te gaan programmeren. Wij hebben de volgende onderwerpen verdeeld: artificial intelligence, physics, coördinator, game designer, artist/modeller en graphics. Om met de graphics rustig te beginnen was het plan om eerst een roterende kubus te maken. De kubus bestaat (vanzelfsprekend) uit driehoeken, die verschillende kleuren hebben. Het is niet echt een moeilijke opdracht maar een fout in het roteren van de kubus zorgde voor een grappig resultaat.

Class Structure

Legend:

* Normal Class
@ Singleton Class
\ Static Class

-> File
=== Folder Name ===
| Folder Depth

Overview:

=== src ===
|-> main
|->@ Engine
|
|| === io ===
||->\ FileHandling
||->\ ModelImporter
|
|| === sound ===
||->* SoundHandling

Ons Doel

vrijdag 22 november 2013

Het doel van Unchained Games is om buiten onze gebaande paden te treden, om onze grenzen te verleggen. En daadwerkelijk ook nog eens een game te bouwen! Hoe kan dat dan beter dan door een game als uitgangspunt te nemen, die zelf ook grensverleggend was: namelijk StarFox op de Super Nintendo Entertainment System. Als de eerste game die op de SNES volwaardige 3d beelden naar je huiskamer bracht, en door de mogelijkheid je ruimteschip door deze 3d omgeving te kunnen manoeuvreren, was deze game voor zijn tijd simpelweg revolutionair. (Verder is het spel ook gewoon keigaaf om te spelen!)

Wij willen deze gedachte vasthouden, en daarbij onze eigen grenzen verleggen, door onze game volwaardig 3d maken en je de vrijheid geven deze 3d ruimte op een leuke en interessante manier te beleven: met behulp van de Oculus Rift!

Niet alleen is dit een primeur voor dit project, maar ook zal het de voor onszelf de eerste keer zijn dat wij voor de Oculus Rift gaan ontwikkelen.

Ben je benieuwd geworden, en heb je ook zin je eigen grenzen te verleggen in 3d ruimte? (of gewoon zin om dingen op te blazen vanuit de luie stoel van je eigen virtuele starship?) Kijk regelmatig op ons blog voor updates over de voortgang, behind-the-scenes informatie, en allerlei andere triviale meldingen die we over ons team doen. En kijk vooral uit naar onze game: Codename "What does the Fox say?".

Ontmoet het team!

woensdag 20 november 2013

Wij zijn Unchained Games, een zooitje ongeregeld wat Game-Technologie studeert aan de Universiteit Utrecht! Samen hebben wij als doel om een beregoed spel in elkaar te zetten, gebaseerd op het populaire Super-Nintendo spel: Star Fox. Op deze blog zullen wij onze knotsgekke, bereleuke, en soms ook enigszins serieuze avonturen delen. Maar, laten we eerst kennismaken met de mensen die Unchained Games vormen. (Foto's volgen!)

Thomas Versteeg

De onverschrokken leider van het team. Met al een aantal jaar ervaring met het ontwikkelen van games, en het werken in teamverband op de opleiding Game Design and Development op de HKU, is hij bij uitstek de aangewezen persoon om dit groepje in goede banen te leiden. Daarom heeft hij dus ook de rol van Lead Programmer aangenomen, met als missie een beresterke game neer te zetten die mee gaat dingen voor de prijzen.

Edwin de Leeuw

De oudste, en daarmee automatisch meteen de wijste(?) van de groep. Als een soort van rechterhand van Thomas probeert hij de overige teamgenoten steun te bieden waar nodig is, aangezien ook hij de nodige ervaring heeft opgedaan bij de opleiding Technische Informatica op de Hogeschool Rotterdam. Verder heeft hij de rol van Game Designer op zich genomen, en bepaalt daarmee de uiteindelijke aard van de game.

Femke van der Riet

De enige echte lieftallige dame van de groep. Ze is gek op alles wat te maken heeft met art (en ons... hopelijk). Zo is zij verantwoordelijk geweest van het ontwerp van het logo van het team. En omdat de rest van ons groepje alleen maar met cijfertjes weet om te gaan, is zij benoemd tot Artist. Haar creatieve inbreng zal de nodige frisse kijk op zaken geven. Want ze weet als Artist, dat echte schoonheid toch ook echt aan de buitenkant zit.

Shu Cheng Jiang

Dit is onze kleine knuffel-chinees. Elk software-development team heeft er een nodig, toch? Hij is lid van het programmeer-team onder toezicht van Thomas, met als doel de collision detection in het spel uit te werken. De programmeerkennis die hij onlangs heeft opgedaan, samen met zijn gestructureerde manier van denken (verkregen door het spelen van vele RPG’s) zullen dus zeker van pas komen binnen het programmeer-team.

Niels den Toom

Een groep is natuurlijk niet compleet zonder een hard dance verslaafde, hiervoor hebben wij dus Niels de hardstyle junky. Als lid van het programmeer-team gaat hij o.a. werken aan het integreren van de 3d modellen. Naast hardstyle houdt hij ook nog van reizen en games. Dus een game waarbij je door de ruimte reist met een flinke hardstyle beat op de achtergrond, ziet hij zeker wel zitten.

Tobias "the Bear" van Driessel

De vrolijke mascotte van het team. Zijn fascinatie voor beren heeft uiteindelijk geleid tot de totstandkoming van ons logo. Zijn vermogen om te denken van uit een ander perspectief (vooral die van een beer!) leent zich uitstekend voor het A.I. gedeelte van het programmeren. Dus we hopen dat hij beregoed zijn best gaat doen.
Hij woont sinds 2 maanden niet meer in Haarlem, maar in Utrecht in een knotsgek studentenhuis. Dus als hij even wat inspiratie nodig heeft, kan hij even koffie halen voor zijn dosis gekheid. (Hij houdt helemaal niet van koffie, niks voor beren, maar dat terzijde.) Hij houdt van gamen en sporten, maar is in allebei niet erg goed. Maar dat maakt voor hem helemaal niets uit! Want Tobias vind plezier het beerlangrijkst.

Lorem

Please note: Delete this widget in your dashboard. This is just a widget example.

Ipsum

Please note: Delete this widget in your dashboard. This is just a widget example.

Dolor

Please note: Delete this widget in your dashboard. This is just a widget example.