Sunday, October 30, 2011
De theorie in praktijk
Tot zover hebben we alleen de theorie behandeld. Nu nog de praktijk. Hieronder is de eerste prototype te zien. Een bal die op de horizontale en de hellende vlak beweegt. De besturing van de bal is gebaseerd op de besturing van een auto. Een bal met een autobesturing? Ja, we hebben voor een autobesturing gekozen omdat je zo meer controle op de bal hebt.
Klik hier om het prototype te bekijken.
Klik hier om het prototype te bekijken.
Saturday, October 29, 2011
Op een hellende vlak bewegen
Massa is het belangrijkste deel van onze game. Dus met deze spel maken we het verband tussen massa, oppervlakte en snelheid over hellende en horizontale vlakken duidelijk voor de spelers. De speler kan alleen invloed op de massa hebben (zwaarder of lichter makken tijdens het spelen) en vervolgens de gevolgen op de snelheid terug zien. In onze game speelt de zwaartekracht ook een grote rol, want wanneer je op het aardoppervlak bevind, is de aantrekking door de zwaartekracht constant en gelijk aan mg, waarin m de massa is van het voorwerp dat aangetrokken wordt en g de versnelling als gevolg van de zwaartekracht.
g = 9,8m/s2
Stel je voor dat de speler met de bal van een helling afgaat. De zwaartekracht is uiteraard omlaag gericht. Maar de normaalkracht staat loodrecht op de weg.
Bij een helling staan de normaalkracht en de zwaartekracht niet precies tegenover elkaar. Met de massa van de bal en de hellings hoek kunnen we de normaalkracht uitrekenen.
Hiervoor moeten we de zwaartekracht opsplitsen in twee delen(componenten). De eerste component evenwijdig aan het vlak, de twee loodrecht op het vlak.
De Fz(Fzwaartekracht) kun je berekenen door gebruik te maken van de tweede wet van Newton: F = ma. Dus Fz = mg.
Door gebruik te maken van sinus, cosinus en tangens kunnen we de loodrechte en evenwijdige componenten berekenen. Deze heeft natuurlijk dezelfde grootte als de normaalkracht.
F1 = Fz * sin a(hoek)
F2 = Fz * cos a(hoek)
Friday, October 28, 2011
Natuurkunde voor Dummies
Natuurkunde voor Dummies gaat over de natuurkunde, maar op een andere(makkelijke) manier uitgelegd. In plaats van het te schrijven vanuit het standpunt van de natuurkundige, schrijft de schrijver het vanuit het standpunt van de lezer wat gemakkelijk te begrijpen is.
De belangrijksten delen van dit boek voor onze project zijn:
Deel 1: Natuurkunde in beweging
Het beschrijven van beweging(versnelling, snelheid en verplaatsing)
Deel 2: De kracht van de natuurkunde
Actie is min reactie. verklaren wat er gebeurt wanneer er een kracht uitgeoefend wordt.
Deel 3: De energie om arbeid te verlichten
Je verricht arbeid, en die arbeid wordt de energie van het voorwerp
een goede tip: laat de wiskunde je niet afschrikken.
Hieronder wordt theoretisch beschreven hoe de bal in het game zal gaan bewegen.
Bewegen
In de natuurkunde gebruiken we altijd meter per seconde (m/s).
Op een bal die op een horizontale weg rolt werken de volgende krachten: de “duwkracht” vooruit en de rolwrijving en de luchtwrijving achteruit.
Duwkracht
de duwkracht wordt bepaalt in ons geval door playtesten. Door playtesten kunnen we erachter kommen of we een vaste of verwisselende duwkracht gaan gebruiken en ook hoeveel.
Rolwrijving (of schuifwrijving)
De wrijvingskracht werkt altijd in tegengestelde richting als de beweging. Wrijving leidt altijd tot "negatieve versnelling" ofwel: vertraging.
Fw,rol = μw * Fn
De letter μw betekent de wrijvingscoëfficiënt. Wrijvingscoefficient * normaalkracht geeft de maximale rolwrijvingskracht.
Luchtwrijving
Luchtwrijving is de weerstand die een voorwerp ondervindt als het zich voortbeweegt door de lucht. Bij hoge snelheid is de luchtwrijving evenredig met de snelheid in het kwadraat. Voor berekening van de luchtwrijving wordt de volgende formule gebruikt:
Fw,lucht = Cw * 1/2 * p *v2 * A
in de formule is ρ de dichtheid van de lucht, v de snelheid in m/s en A het frontale oppervlak in m 2 . Het getalletje Cw is een weerstandscoëfficiënt.
Nettokracht
Voor berekening van de nettokracht wordt de volgende formule gebruikt:
Fnetto = Fduw - Fw,rol - Fw,lucht
Versnelling
De versnelling is de mate waarin de snelheid verandert. Je kunt dit uitrekenen met de volgende formule:
a = Fnetto/m
a = de versnelling
Snelheid
Alles wat beweegt heeft een snelheid. De snelheid geeft aan hoeveel weg een voorwerp af legt in een bepaalde tijd. Je kunt dit uitrekenen met de volgende formule:
v = v + a * dt
v = snelheid
a = de versnelling
dt = tijd in seconde
Afgelegde weg
s = s + v * dt
De belangrijksten delen van dit boek voor onze project zijn:
Deel 1: Natuurkunde in beweging
Het beschrijven van beweging(versnelling, snelheid en verplaatsing)
Deel 2: De kracht van de natuurkunde
Actie is min reactie. verklaren wat er gebeurt wanneer er een kracht uitgeoefend wordt.
Deel 3: De energie om arbeid te verlichten
Je verricht arbeid, en die arbeid wordt de energie van het voorwerp
een goede tip: laat de wiskunde je niet afschrikken.
Hieronder wordt theoretisch beschreven hoe de bal in het game zal gaan bewegen.
Bewegen
In de natuurkunde gebruiken we altijd meter per seconde (m/s).
Op een bal die op een horizontale weg rolt werken de volgende krachten: de “duwkracht” vooruit en de rolwrijving en de luchtwrijving achteruit.
Duwkracht
de duwkracht wordt bepaalt in ons geval door playtesten. Door playtesten kunnen we erachter kommen of we een vaste of verwisselende duwkracht gaan gebruiken en ook hoeveel.
Rolwrijving (of schuifwrijving)
De wrijvingskracht werkt altijd in tegengestelde richting als de beweging. Wrijving leidt altijd tot "negatieve versnelling" ofwel: vertraging.
Fw,rol = μw * Fn
De letter μw betekent de wrijvingscoëfficiënt. Wrijvingscoefficient * normaalkracht geeft de maximale rolwrijvingskracht.
Luchtwrijving
Luchtwrijving is de weerstand die een voorwerp ondervindt als het zich voortbeweegt door de lucht. Bij hoge snelheid is de luchtwrijving evenredig met de snelheid in het kwadraat. Voor berekening van de luchtwrijving wordt de volgende formule gebruikt:
Fw,lucht = Cw * 1/2 * p *v2 * A
in de formule is ρ de dichtheid van de lucht, v de snelheid in m/s en A het frontale oppervlak in m 2 . Het getalletje Cw is een weerstandscoëfficiënt.
Nettokracht
Voor berekening van de nettokracht wordt de volgende formule gebruikt:
Fnetto = Fduw - Fw,rol - Fw,lucht
Versnelling
De versnelling is de mate waarin de snelheid verandert. Je kunt dit uitrekenen met de volgende formule:
a = Fnetto/m
a = de versnelling
Snelheid
Alles wat beweegt heeft een snelheid. De snelheid geeft aan hoeveel weg een voorwerp af legt in een bepaalde tijd. Je kunt dit uitrekenen met de volgende formule:
v = v + a * dt
v = snelheid
a = de versnelling
dt = tijd in seconde
Afgelegde weg
s = s + v * dt
Monday, October 24, 2011
DEV - Physics, Hyves API and Gameplay
The physics are still kind of problematic for me. I'm beginning to grasp some of the stuff, but it's still hard for me to use it in the right way. On a flat terrain, my ball is rolling smoothly and when I place my ball on top of a hill, it starts rolling down using a percentage of the gravity. However, the ball is unable to go back up the hill, because it doesn't keep track of it's directional force yet. I wrote down some kind of idea to do that, but I just felt like I had to work on other stuff first or I'd go mad.
So I thought I'd work on the Hyves API, that didn't seem too hard. Well, think again. It's not very well documented. At least, not for a Hyvertising game. They want me to get a logintoken and use my consumer key and secret to generate a unique signature so I can get my authorization token...
Wait, what? How do I get that logintoken? Well, yeah, it's in your iFrame, good luck. Right, iFrame, got it, they hid it in the link... So, how do I calculate this signature of yours? More importantly, why isn't Unity getting any response from the Hyves API? It's done the call, but I don't see any response. I don't see any errors either, so it must be good, right? What if I'd try to use the call directly in my browser? Error...
So why isn't Unity doing anything? Well apparently, in a web player, Unity is only allowed to make a call to pages on the same site as the web player is hosted. Ah. Well, that sucks. So I have to call a web page on the same site which in turn calls the Hyves API and sends the result back to Unity. Fair enough, done that.
By the time I finally got this done, the Hyves API was driving me crazy, so I decided to do something more useful for now. Create gameplay. That's what I've been doing these last two days and finally things are going well. You can grab a key, you can capture points and you can almost bump into each other and rob him of the key. So once that's done, we can finally start playtesting with my gameplay and Gor's physics.
So I thought I'd work on the Hyves API, that didn't seem too hard. Well, think again. It's not very well documented. At least, not for a Hyvertising game. They want me to get a logintoken and use my consumer key and secret to generate a unique signature so I can get my authorization token...
Wait, what? How do I get that logintoken? Well, yeah, it's in your iFrame, good luck. Right, iFrame, got it, they hid it in the link... So, how do I calculate this signature of yours? More importantly, why isn't Unity getting any response from the Hyves API? It's done the call, but I don't see any response. I don't see any errors either, so it must be good, right? What if I'd try to use the call directly in my browser? Error...
So why isn't Unity doing anything? Well apparently, in a web player, Unity is only allowed to make a call to pages on the same site as the web player is hosted. Ah. Well, that sucks. So I have to call a web page on the same site which in turn calls the Hyves API and sends the result back to Unity. Fair enough, done that.
By the time I finally got this done, the Hyves API was driving me crazy, so I decided to do something more useful for now. Create gameplay. That's what I've been doing these last two days and finally things are going well. You can grab a key, you can capture points and you can almost bump into each other and rob him of the key. So once that's done, we can finally start playtesting with my gameplay and Gor's physics.
ART: Environment Design
Last week I begun working on the environment. I started with some color key thumbnails to explore different directions we could go with the game and to see which would go well together.
After alot of thought and looking at gameplay options we decided to go with the green plant and rock environment. So the next step was to do variations on that, so I came up with the idea to have the race in a giant canyon thats been overgrown by all these weird and amazing plants.
We want the game to be very colorful so I made sure that there was alot of color in our plants, because we are gonna be filling the environment with them and alot of them are gonna have gameplay fuctionality too.
Players will be able to bounce on/off some of the plants and other plants might even catapult the players when the ride over them!
After alot of thought and looking at gameplay options we decided to go with the green plant and rock environment. So the next step was to do variations on that, so I came up with the idea to have the race in a giant canyon thats been overgrown by all these weird and amazing plants.
We want the game to be very colorful so I made sure that there was alot of color in our plants, because we are gonna be filling the environment with them and alot of them are gonna have gameplay fuctionality too.
Players will be able to bounce on/off some of the plants and other plants might even catapult the players when the ride over them!
Wednesday, October 19, 2011
One page design v1
Thursday, October 13, 2011
Wednesday, October 12, 2011
ART - Adding some spice to the soup
Last weeks post I talked about doing some style exploration to spice our characters up abit. Of the 6 characters that I showed last week we chose style number 2. I did a few costume variations on it and felt quite comfortable with it.
I really like how its a racing suit, but then with an animal theme to it.
The next step was to put the other animals into the racing suits but the truth was that I wasnt really happy with how they looked. If u just looked at the animals they didnt really make u laugh, smile or anything. So I started resketching them, just doing the heads first.. and then choosing one of those and adding different types of bodies to it.
This process is working pretty good for me and the characters that are coming out are alot more fun to look at.
Monkey
Cat
Mouse Lemur
I really like how its a racing suit, but then with an animal theme to it.
The next step was to put the other animals into the racing suits but the truth was that I wasnt really happy with how they looked. If u just looked at the animals they didnt really make u laugh, smile or anything. So I started resketching them, just doing the heads first.. and then choosing one of those and adding different types of bodies to it.
This process is working pretty good for me and the characters that are coming out are alot more fun to look at.
Monkey
Cat
Mouse Lemur
Tuesday, October 11, 2011
Week één en twee (Zareh)
Week één (Taken verdeling)
Deze week was een moeizaam week want de briefing hebben wij pas woensdag gekregen. Omdat wij heel weinig informatie hadden konden wij ook heel weinig doen voor de game. Dus wij begonnen met het taken verdeling. Ik heb de rol van 3d Artis, game en level design gekregen. Tussendoor hebben wij in deze week een poster en een filmpje gemaakt voor onze groep. Na de briefing begonnen wij dirkte aan het concept te werken.
Week twee (Concept fase)
Deze week begon interessant te worden we hebben 3 verschillende consepten voorgesteld en eentje daarvan gekozen. Na dat concept vast was, begon ik meteen met het onderzoek naar 3d level oplossingen en level design van het game.
Dev - Gor
De opdracht luid maak een educatieve game voor hyves bezoekers waar zij tijdens het spelen over de natuurkunde(fysica) leren. Dus het moet op browsers kunnen draaien. We hebben voor Unity3D(game enigne) gekozen zodat onze programmeurs(ik ben een van hen) en artiesten veel werk kunnen verrichten en leren.
Vincent stelde voor om een eigen physics engine te gaan schrijven in Unity waar ik in het begin tegen was. Ik wil graag een speelbare game aan het einde van deze project hebben en daarom wou ik niet veel tijd in eigen physics engine te gaan steken in plaats van het gameplay. Maar wacht, het hele game gaat over physics. Om een ander iets te leren, moet je het wel zelf goed kunnen beheersen. Dus waarom niet! Ik heb wel in de vorige projecten een eigen 2D physics engine geschreven, maar dat betekent niet dat ik er veel van weet. Dus ging ik direct aan de slag met het onderzoeken van hoe physics werkt. Tijdens het onderzoek heb ik veel bronnen op het internet gevonden maar die waren niet volledig of niet duidelijk genoeg. Na lang zoeken op het internet besloot ik om een boek te gaan aanschaffen. Wat ik in de dichtstbijzijnde boekenwinkel kon vinden was "Natuurkunde voor Dummies". Het wordt lezen, lezen en lezen... probeer zoveel informatie binnen te krijgen.
Vincent stelde voor om een eigen physics engine te gaan schrijven in Unity waar ik in het begin tegen was. Ik wil graag een speelbare game aan het einde van deze project hebben en daarom wou ik niet veel tijd in eigen physics engine te gaan steken in plaats van het gameplay. Maar wacht, het hele game gaat over physics. Om een ander iets te leren, moet je het wel zelf goed kunnen beheersen. Dus waarom niet! Ik heb wel in de vorige projecten een eigen 2D physics engine geschreven, maar dat betekent niet dat ik er veel van weet. Dus ging ik direct aan de slag met het onderzoeken van hoe physics werkt. Tijdens het onderzoek heb ik veel bronnen op het internet gevonden maar die waren niet volledig of niet duidelijk genoeg. Na lang zoeken op het internet besloot ik om een boek te gaan aanschaffen. Wat ik in de dichtstbijzijnde boekenwinkel kon vinden was "Natuurkunde voor Dummies". Het wordt lezen, lezen en lezen... probeer zoveel informatie binnen te krijgen.
Monday, October 10, 2011
DEV - Building up force
I started with some more research on Unity and Networking in a web player. My conclusion: It's impossible. Unity just won't allow me to create a TCP server.
On Monday morning, Martijn came barging in and suggested we'd try hosting our own standalone server on the school network. We'd just have to talk to someone from tech-support. Or so we thought. At tech-support, they sent us to web-support. Sure, no problem. After explaining our situation there again, we were asked to come back the next day, because Ernst wasn't at school at that time. So we returned the next day. Apparently they already had a little chat about our situation and decided we'd better try it upstairs, with the head of the school networking stuff, Emile. Yet again, the person we needed wasn't at school. Perhaps we could return the next day. So of course, we did. Still no Emile, but we got his email address, so if we'd mail our question to him, everything would be all right. Well, no. Apparently, school usually doesn't do this kind of stuff. And that's about the end of story. I'm afraid I'm going to be stuck with Unity once again.
In the physics department, things are going a little better. I've got my ball rolling through applying force on the top of the ball, as if there were a person standing on top of it. I also got a nice, quite realistic gravity working. So now I'm up for my next challenge, making the ball roll down a hill and preventing the ball from intersecting with the terrain.
On Monday morning, Martijn came barging in and suggested we'd try hosting our own standalone server on the school network. We'd just have to talk to someone from tech-support. Or so we thought. At tech-support, they sent us to web-support. Sure, no problem. After explaining our situation there again, we were asked to come back the next day, because Ernst wasn't at school at that time. So we returned the next day. Apparently they already had a little chat about our situation and decided we'd better try it upstairs, with the head of the school networking stuff, Emile. Yet again, the person we needed wasn't at school. Perhaps we could return the next day. So of course, we did. Still no Emile, but we got his email address, so if we'd mail our question to him, everything would be all right. Well, no. Apparently, school usually doesn't do this kind of stuff. And that's about the end of story. I'm afraid I'm going to be stuck with Unity once again.
In the physics department, things are going a little better. I've got my ball rolling through applying force on the top of the ball, as if there were a person standing on top of it. I also got a nice, quite realistic gravity working. So now I'm up for my next challenge, making the ball roll down a hill and preventing the ball from intersecting with the terrain.
Thursday, October 6, 2011
ART Characters
The 5 basic characters have become 6. We decided that we needed 1 large character in there to shake things up abit. Now that the gang is complete people will be dressing up there lizard, lemur mouse, dog, cat , monkey or hippo!
Here you can see how all the characters could look like if they had a Bull suit on. And you can also see the different colors and patterns you would be able to choose to customize your character.
After a team meeting we came to the conclusion that the animals suits that we had looked abit too much like our characters were wearing dead animals so I was sent back to the drawing board to do some more sketching. I did alittle style exploration to look for more ways we could go keeping our target audience in mind.
Which one do you like???
You' ll find out next post which one we chose!
Here you can see how all the characters could look like if they had a Bull suit on. And you can also see the different colors and patterns you would be able to choose to customize your character.
After a team meeting we came to the conclusion that the animals suits that we had looked abit too much like our characters were wearing dead animals so I was sent back to the drawing board to do some more sketching. I did alittle style exploration to look for more ways we could go keeping our target audience in mind.
Which one do you like???
You' ll find out next post which one we chose!
Monday, October 3, 2011
Monkey - Croc Racer
Today we arrived at the idea of giving the Animals steering wheels in their hands, making them pretend they are driving. I did a quick sketch of it and at the same time tried a new suit (the croc). Then I did a quick color, exploring what colors we maybe can use for the game. Hopefully we'll be able to achieve a nice cell-shaded look in Unity.
Hung Pham Week 1, 2 en 3
In de eerste week zijn we eerst begonnen met het verdelen van de rollen. Ik heb de rol van teamcoördinator en game designer op me genomen. Wij zijn daarna gaan kijken wie de poster en de promotie film voor de team gingen maken. Ik heb zelf voorgesteld om de video te maken. Onze game artist, Lloyd heeft de belangrijkste graphics bij mij aangeleverd en de rest heb ik zelf gemaakt. Wij wilden met de video iets leuks doen om ons zelf te presenteren, dus kozen wij een western theme voor onze video.
Ik heb snel gekeken naar verschillende intros van western films en daarop onze video gebaseerd. De promotie film heb ik in het programma "Adobe Premiere CS5" gemaakt. Ik had gehoopt het filmpje in 3 dagen af te krijgen, maar door kleine probleempjes is het uitgelopen naar 5 dagen. Ik had namelijk wat problemen met de verschillende versies van CS5 en CS4 (had toen ik begon versie CS4) en daardoor genoodzaakt om over te schakelen naar CS5. Daarnaast werkte ook niet alle graphics zoals behoren.
In de 2e week zijn wij begonnen alvast begonnen met het bedenken van een concept voor ons spel. Ook hadden wij nog geen officiële briefing gehad, hadden we toch wel een redelijk goed voorbeeld wat de klant van ons verwachten. Op woensdag hadden een briefing met de jongens van Hyves en donderdag heb ik daar een debriefing van gemaakt en de informatie die we hadden een aantal ideeën voor een concept bedacht.
In week 3 zijn wij verder gaan brainstormen voor een concept. Nadat we redelijk er uit waren, zijn ik en Zareh begonnen met het maken van een aantal leveldesigns. Wij hebben wat research gedaan naar verschillende soorten racespellen en gekeken wat het beste past bij ons concept. Ik heb zelf veel gekeken naar de "Motorstorm" spellen aangezien ons concept te maken heeft met verschillende soorten terreinen. En "Motorstorm" is een goed voorbeeld daarvan. Dit heb ik als inspiratie gebruikt voor het maken van een leveldesign.
Subscribe to:
Posts (Atom)