De koude tijd van het jaar is weer eens aangebroken. Normaal gesproken zou ik verbaasd zijn als het zo wit buiten is als vandaag, maar sinds vorig jaar ben ik er nu wel gewend aan geraakt. Wat me dan altijd weer teleurstelt is als we witte dagen voor de kerst krijgen, maar tijden de kerst? Oho, dacht het niet. Geen sneeuwvlok in de lucht dan. Hopelijk dit keer wel... Ik vind het altijd wel fijn om sneeuw te zien, maar tegelijkertijd ook vreselijk irritant. Het kan buiten dan zo glad zijn en als postbode is dat niet echt zo fijn. Al helemaal niet als je extra veel post krijgt en sommige mensen denken dat het slim is om kleine vellen papiertjes in een oversized doosje te stoppen waarvan de inhoud driekwart leeg is en de stapel post onnodig groot maakt! But I digress, als je dit leest wil je natuurlijk meer over de voortgangen lezen en niet mijn rotdag.
Momenteel ben ik bezig met de health klasse. In bijna elke videogame waar je schade op kan lopen of dood kan gaan is het belangrijk om health te hebben. Ook in Wall Brawl is een health klasse belangrijk. Niet alleen voor de players, maar ook voor de muren zelf. De health van muren geeft aan wanneer het is gebroken of voor een gedeelte beschadigd. Waarbij players hun eigen health kunnen zien, is de health van de muren natuurlijk niet zichtbaar. Als er geen health zou zijn kunnen de muren niet kapot en kan je nergens naartoe. Zelfs als er geen muren zouden zijn, dan kunnen de players elkaar oneindig slaan, maar dan gaat er niemand dood (of in Pokémon taal "valt er niemand flauw", want een kleine rat levend verbranden doodt hem niet. Pfft nee. In plaats daarvan valt hij flauw! Yup... dat slaat ergens op. *kuch* sarcasme *kuch*) en eindigt het spel nooit. Where's the fun in that?!
Aan het begin van het spel zullen de spelers en de breekbare muren 100% health hebben. Als de spelers elkaar of een muur slaan zal de health van het voorwerp dat aangevallen wordt omlaag gaan. Hoeveel er omlaag gaat zal liggen aan de hoeveelheid defense die de verdedigende voorwerp heeft en aan de hoeveelheid attack die de aanvallende speler heeft. Attack zal standaard 100 zijn. De damage die de player of muur kan oplopen is dan simpelweg de attack min de defense. Hoeveel health de muur of de speler dan nog heeft is dan de vorige hoeveelheid health min de hoeveelheid damage die het oploopt. Stel dat de attack van de speler 100 is en de defense van de muur 80, dan krijgt de muur 20 damage en moet het in totaal vijf keer geraakt worden om het kapot te maken. Muren met power-ups krijgen een defense met 0 of 50. Deze muur hoeft dan maar 1 of 2 keer geraakt te worden om het kapot te maken, zodat de speler snel de power-up kan pakken en snel kan doorgaan. Om de attack of de defense van de speler te verhogen kan de speler doen door deze power-ups te verzamelen. Welke soorten power-ups er nog meer komen, wordt later bekend gemaakt. ;)
Deze klasse zal ik eerst uittesten, door een shrine maiden genaamd Reimu Hakurei een doos te laten slaan. Screenshots komen later...
vrijdag 7 december 2012
Sneeuw, blegh
Begrijp me niet verkeerd, ik vind sneeuw heel leuk... op wintersport. Hier in Nederland is sneeuw eigenlijk alleen maar irritant. Je kunt niet goed fietsen, de dienstregeling van het OV verandert waardoor je geen idee hebt welke trein je moet pakken, en je schoenen worden zeiknat. En dan helpt het niet echt als je alleen maar stoffen schoenen op je kamer in Zeist hebt staan.
Mijn favoriete seizoen is alsnog herfst, wat het nu nog steeds is, aangezien het ten minste niet zo koud is, maar ook niet zo warm als in de lente en zomer. Winter is mij meestal te koud, vooral eind december en begin januari. De lente is meestal weer te warm, en de zomer is veel te warm. (Overigens, in de winter heb je wel een excuus om binnen te zitten en gamen.)
Maar genoeg gezeken, ik post even iets over mijn voortgang. Ik ben momenteel bezig met een klasse voor de levels, om die in te kunnen laden. Hij lijkt een beetje op die van TickTick, maar ik heb hem compleet herschreven, met onder andere wat meer toepasselijke namen voor een aantal methoden en membervariabelen. Daarnaast heb ik gisteren wat levelstructuren gecreëerd, met een aantal verschillende bloktypen. Éen daarvan kun je hieronder vinden:
Mijn favoriete seizoen is alsnog herfst, wat het nu nog steeds is, aangezien het ten minste niet zo koud is, maar ook niet zo warm als in de lente en zomer. Winter is mij meestal te koud, vooral eind december en begin januari. De lente is meestal weer te warm, en de zomer is veel te warm. (Overigens, in de winter heb je wel een excuus om binnen te zitten en gamen.)
Maar genoeg gezeken, ik post even iets over mijn voortgang. Ik ben momenteel bezig met een klasse voor de levels, om die in te kunnen laden. Hij lijkt een beetje op die van TickTick, maar ik heb hem compleet herschreven, met onder andere wat meer toepasselijke namen voor een aantal methoden en membervariabelen. Daarnaast heb ik gisteren wat levelstructuren gecreëerd, met een aantal verschillende bloktypen. Éen daarvan kun je hieronder vinden:
Dit is een van de levels, degene die ik deels op het originele Bomberman-level heb gebaseerd, maar wel met iets minder blokken. Ik weet nog niet hoe grote kans de #-blokken hebben om te spawnen, maar dat is nog te bespreken, persoonlijk denk ik dat 60% wel goed is.
Nu ga ik maar eens richting ouderlijk huis. Dit weekend moet ik gewoon werken, helaas (maarja, anders heb ik geen voedsel), en daarnaast de levelklasse afmaken en leren voor logica (al is dat eigenlijk een verloren zaak, ik snap er geen donder van). Bovendien wil mijn familie toch nog een soort van Sinterklaas vieren, al hebben we geen van allen geld voor cadeaus. Oh well.
De groeten, Duc
Weekend!
Vroeger werd ik altijd blij als het zo mooi wit was buiten. Sinds ik student ben is dat helaas een beetje minder geworden. Voornamelijk omdat ik nu ook met het openbaar vervoer moet reizen..
Maar goed, gelukkig waren mijn ouders zo lief om een auto beschikbaar te stellen, dus vandaag zal ik in ieder geval geen last hebben van niet rijdende treinen en bussen! Hoog uit van wat mensen die hun rijbewijs bij een pak cornflakes hebben gekregen..
Deze week was best wel druk geweest voor mij. Opdrachten verdelen binnen GI Applepie, er achter komen dat volgende week donderdag een tentamen Logica is, als de wie de weer ga opdrachten maken, eten koken, borrel bijwonen. Het is maar druk als student zijnde!
Waar ik deze week ook mee bezig was was het menu concept bedenken. Hiervan had ik in een voorgaand bericht al een klein voorproefje gegeven.
Het menu concept.
Zoals je kan zien heb ik vijf schermen in mijn gedachten. Een titelscherm, help menu, settings, character selection screen en als belangrijkste een credits menu. De vier bolletjes die je in de afbeelding ziet is de manier om tussen de schermen te bladeren.
Naast het menu concept bedenken was ik ook bezig geweest met Artificial Intelligence, en ik moet toch zeggen, dat bleek nog erg lastig! Bijna alle tutorials op internet stellen de eis dat je eerst 10 hoorcollege videos gaat bekijken van het vak AI. Laat ik daar nou net geen tijd voor hebben.
AI hebben we nodig om de tegenstanders te laten bewegen, en het jou een stuk moeilijker te maken om het spel te spelen en winnen! Nou was het mijn idee om een aantal 'states' te definiëren voor de tegenstanders om tussen te kunnen wisselen. Zo dacht ik aan:
- Default, in deze state zal de tegenstander in een willekeurige richting muren gaan vernietigen en bonussen opzoeken.
- Searching, in deze state zal de tegenstander gaan zoeken naar jou, de speler. Dit gebeurt zodra het spel een aflegbare route naar de speler heeft gevonden. Natuurlijk zal dit via de kortste weg geprobeerd worden.
- Aggressive / Atacking, zodra de speler of een andere tegenstander binnen een bepaalde radius van de tegenstander komt of gedetecteerd wordt zal de tegenstander agressief worden en de speler of andere tegenstander aan proberen te vallen.
- Alerted / Intimidated, als je een hele goede speler bent en een paar rake klappen uit weet te delen zonder zelf veel schade te incasseren zal de tegenstander geïntimideerd raken en proberen te ontsnappen aan deze slachtpartij.
- Dead, deze state spreekt voor zich, als de Health van de tegenstander op is door een knokpartij zal deze tegenstander doodgaan. In deze state kan hij niks meer en ligt heel kort op de grond tot hij niet meer getekend wordt.
Tussen al deze states wordt voortdurend gewisseld. Van 1 state kan de tegenstander naar alle andere states wisselen. Hoe we dit voor elkaar moeten krijgen is mij tot nog toe onbekend, maar wees niet getreurd! Ik zal mijn uiterste best doen om dit voor elkaar te krijgen! Ik vind het namelijk een super leuk idee en zou het hartstikke tof vinden als dit spel eenmaal af is en speelbaar is, met 'slim' lijkende tegenstanders!
Maar nu eerst blokken voor het komende tentamen!
3D
Na veel research te hebben gedaan naar 3D programmeren, is het hem eindelijk gelukt om ergens een begin te maken. Het probleem in het begin was vooral dat er maar weinig tutorials te vinden waren waar alles echt stap voor stap uitgelegd wordt, voorbeelden van 3D games met bijhorende source code was daarentegen gemakkelijk te vinden. Aangezien dit zijn eerste keer is dat hij in aanraking komt 3D programmeren, kost het natuurlijk wel even de tijd om alles te begrijpen. Uiteindelijk is hij begonnen met een 3D model weer te geven in C#, hij gebruikt hiervoor Microsoft Visual Studio. Dat ziet er dan zo uit:
Hierna wilde hij beweging aan het 3D model toevoegen, hierbij is de 3D ruimte belangrijk, model moet groter worden naarmate hij dichterbij komt en kleiner worden in de verte. Hieronder een printscreen voor beide situaties:
Verder zat deze week niet alles mee, vooral de NS maakte er een zooitje van afgelopen donderdag wat er voor zorgde dat hij niet in staat was bij de group meeting aanwezig te zijn.
Verder was deze jonge man iets te veel bezig met gamen, hier moet verandering in komen. Het is voor hem nog moeilijk te begrijpen dat hij nu in staat is om games te maken in plaats van ze te spelen.
Verder zat deze week niet alles mee, vooral de NS maakte er een zooitje van afgelopen donderdag wat er voor zorgde dat hij niet in staat was bij de group meeting aanwezig te zijn.
Verder was deze jonge man iets te veel bezig met gamen, hier moet verandering in komen. Het is voor hem nog moeilijk te begrijpen dat hij nu in staat is om games te maken in plaats van ze te spelen.
Sneeuw!
Het is 7 uur ‘s ochtends en de klanken van ‘Wake me up when
September ends’ van Green Day beginnen te spelen. Het is tijd om op te staan.
Voor de zekerheid check ik nog even mijn telefoon en wat zie ik daar? Een
bericht. Blijkbaar komt er niemand anders van mijn team naar college en kan ik
beter nog even doorslapen. Geen probleem! Maar is er dan echt zóveel sneeuw
gevallen? Ik gluur tussen de gordijnen door en trek ze dan open van verbazing.
Miljoenen witte sneeuwvlokken dansen voor mijn raam, terwijl ze de stad
langzaam maar zeker bedekken met een witte laag. Goed, nog even naar bed dus.
Ik draai me om en slaap verder.
Nu ik wakker ben, moet ik natuurlijk wel hard aan het werk.
De afgelopen dagen heb ik me beziggehouden met de kinect. Ik heb een tutorial
gevolgd en het programma wat daar uitkwam gebruik ik als richtlijn voor
WallBrawl. Dit is het resultaat tot nu toe:
Het
ziet er niet heel spectaculair uit, maar de vuisten die je ziet volgen je
handen met behulp van skeleton tracking en diepte (depth stream of Z positie). Als
je slaat lijkt het dan ook alsof deze vuisten ook slaan en met een beetje geluk
sla je een diepe scheur in de muur voor je!
Skeleton tracking is heel
handig. Het volgt 20 punten van je lichaam: je hoofd, nek, schouders,
ellebogen, polsen, handen, voeten, enkels, knieën, heupen, midden heup en het
midden van je torso. Voor elke van deze zogenaamde ‘joints’ kan je een
afbeelding tekenen. Ik heb voor de handen deze twee vuisten laten tekenen. Skeleton
tracking werkt ook voor mensen die graag op hun handen lopen, dan worden de
voeten gelezen als handen. Om dit te testen had ik een proefkonijn die zo gek was om
midden in de gamehall op zijn handen te gaan staan. Dankjewel!
Als ik straks een 3D omgeving heb om in te werken zal ik
verder gaan met het implementeren van de bewegingen van de speler, maar nu ga
ik eerst ontbijten!
donderdag 6 december 2012
Probleempjes
Ja, daar zit je dan tot 'laat' in de nacht. Er waren wat probleempjes met het inleveren van het Design document. Rond een uur of 13.30 kwam ik erachter dat het document nog niet was ingeleverd. Iets met een internetverbinding die niet werkte en een onleesbaar klad blaadje..
Waar het in ieder geval op neer kwam was dat er nog een klein deel miste en dat het dus nog ingeleverd moest worden. Dus ik aan de slag gaan om het af te maken, bleek dat ik er helemaal niet tevreden mee was!
Het was een best wel een saaie opsomming om mee te beginnen, en dat is dus totaal het tegenovergestelde van een Design Document. Dus herschrijven die hap! Beetje voor een leuke opmaak zorgen, plaatjes toevoegen, bedenken dat iets toch anders opgeschreven moest worden, de boel weer aanpassen, beetje prutsen met converteren naar PDF, Adobe haten omdat het geld vraagt voor bestanden converteren, opzoek gaan naar gratis PDF converter, PDF converter installeren, PDF maken, mail adressen opzoeken waar het naar toe gestuurd moet worden en klaar.
Om een lang verhaal kort te maken, ik heb in ieder geval een leuke tekening gemaakt van hoe ik het menu voorstel.
Zo.. tijd voor een biertje en wat nachtrust!
Het menu en beschrijving hoe je naar andere schermen beweegt.
dinsdag 4 december 2012
Abonneren op:
Posts (Atom)









