Gengo Girls #34: The Journey Is More Important Than The Destination

Gengo Girls #34: The Journey Is More Important Than The Destination

In the real world people almost never say boring things like “I go” or “The dog barks”. It’s always “I’m going to the library, be back in a minute” or “Why in the world is that dog barking so loud at 3 in the morning?”

But saying complex sentences require a lot of grammar we haven’t covered yet so for the next several strips you’re just going to have to deal with artificially boring sentences.

Vocabulary

= わたし = I; me

行く = いく = to go

Transcript

言語ガールズ #34

The Journey Is More Important

Than The Destination

Blue: Let’s try using the “Subject Verb” pattern to say “I go”.

Yellow: Let’s see… 行く doesn’t end in “iru” or “eru” so to make it polite I have to change the last syllable to and add ます.

Yellow: So “I go” must be…

Yellow: 私は行きます

Blue: Perfect!

Yellow: But where am I going?

Blue: We need to learn some new grammar before we can answer that question.

Yellow: In that case I’m going home.

Gengo Girls #33: Another Building Block

Gengo Girls #33: Another Building Block

It’s amazing how many different situations you can talk your way through using nothing but the “A is B” pattern, but eventually you’re going to need to use an actual verb. And now you can! Or at least, you can as soon as you learn some more verbs.

Transcript

言語ガールズ #33

Another Building Block

Blue: Now that you know how to make verbs polite we can learn a new sentence pattern!

Yellow: Hooray?

Blue: Our new pattern is the simple “Subject Verb” pattern.

Yellow: You mean things like “The dog barks” and “The bird sings”?

Blue: Exactly!

Blue: In 日本語 this pattern is “Subject Verb”.

Yellow: That’s almost the same as in 英語. This is easy!

Blue: One last thing: the sounds like “wa” instead of “ha”, just like in the “ABです” pattern.

Yellow: Come on , make up your mind already!

Gengo Girls #32: Fool Me Once…

Gengo Girls #32: Fool Me Once...

Wakaru is yet another super common Japanese word. It is usually used to mean that you literally do or don’t understand something, like when you want to say “I don’t understand Japanese” or “Thank you for explaining that. I understand now”.

But wakaru is also often used as a way of agreeing to requests. If your boss asked you to photocopy a document and deliver it to one of your coworkers you could say “wakarimasu” to mean “I understand your request (and will go do that now)”.

Vocabulary

分る = わかる = to understand

Transcript

言語ガールズ #32

Fool Me Once…

Blue: Verbs that don’t end in “iru” or “eru” will still end in some sort of “u” sound like or .

Yellow: That’s convenient.

Blue: To make these verbs polite you first change the final “u” sound to an “i” sound.

Blue: to , to , to and so on.

Blue: Then you add ます to the end.

Blue: Let’s look at わかる. It ends in “aru”, not “iru” or “eru”, so we can’t just replace the with ます.

Yellow: Instead we have to change the to and then add ます, right?

Blue: Exactly! So the polite form of わかる is わかります.

Yellow: I understand…

Blue: I’m not falling for that gag a second time.

Gengo Girls #31: I See What You Did There

Gengo Girls #31: I See What You Did There

Look at you, conjugating verbs and everything. Just a few more lessons and we’ll finally be able to say something other than “A is B”. How exciting.

Vocabulary

見る = みる = to see

Transcript

言語ガールズ #31

I See What You Did There

Blue: The easiest verbs to make polite are the ones that end in an “iru” or “eru” sound.

Blue: The “ru” has to be but the “i” and “e” can be part of another symbol like or .

Blue: To make these verbs polite all you have to do is replace the with ます.

Yellow: I think I can handle that.

Blue: Here’s an example: みる becomes みます.

Yellow: I see.

Blue: That’s one possible translation.

Yellow: Translation of ?

Blue: No, a translation of 見ます.

Yellow: What’s a 見ます?

Let’s Program A JavaScript Game 9: Look Before You Leap

Avoiding Un-win-able Games

 

Now it’s time to actually put together a stage, with gaps for the player to jump over and everything.

 

The most important element here is making sure that the gaps are small enough that the player can always jump over them. It’s neither fun nor fair to hit the player with an impossibly large obstacle.

 

So that means we have to figure out how far the player can jump, which depends on two things: 1) How long the player is in the air 2) How fast the player is moving forward while in the air.

 

For example, if the player’s jump leaves him in the air for two seconds and the player is moving 100 pixels per second the player can safely jump a 200 pixel gap.

 

Now we already know that our player can move 5 pixels to the left or right per frame. But to figure out how long they can stay in the air we’re going to need to do a little math.

 

You might remember from physics that a moving object’s position can be described by the equation: current position = starting position + velocity * time + ½ acceleration * time^2.

 

Now this equation doesn’t quite match our frame-based game world physics, but it will still give us a close estimate. So let’s plug in some numbers and find out how long it takes for an object to reach the ground (position 0) if it starts at position 0 with a velocity of -15 pixels per second and an acceleration of 1 pixel per second per second.

 

0 = 0 – 15t + ½t^2.

15t = ½ t^2

15=1/2t

t=30

 

According to this our cycle’s jump takes 30 frames, or about a second and a half, to complete. And from testing the code so far that feels about right.

 

So 30 frames of airtime while moving 5 pixels to the right per frame means our cycle can move 150 pixels in one jump.

 

To test this I’m going to shrink the current “ground” testObject to only fill a third of the screen and then insert a second testObject2 150 pixels further to the right. I will then add code for testing collisions with testObject2 so I can practice jumping between them.

 

I’m also going to add code to detect when the motorcycle has fallen off the bottom of the screen. Eventually we’ll want this code to trigger some sort of game over message but for now we’ll just have it drop the cycle back into starting position. It would be a real pain to have to reload the game testing page every time we fell off the screen.

 

This code goes near the top of your script, before any function declarations:

 

var testObject = new Object();
testObject.x = 0;
testObject.y = 350;
testObject.width = 200;
testObject.height = 20;

var testObject2 = new Object();
testObject2.x = 350;
testObject2.y = 350;
testObject2.width = 200;
testObject2.height = 20;

 

And the drawScreen function needs to be changed like this to draw two rectangles instead of just one:

 

//Draw red squares the player can jump on
context.fillStyle = '#FF0000';
context.fillRect(testObject.x, testObject.y, testObject.width, testObject.height);
context.fillRect(testObject2.x, testObject2.y, testObject2.width, testObject2.height);

 

And the collision detection section of the updateGame function needs to be changed to this:

 

if(intersectRect(testObject, getFeetHitbox(player.x, player.y))){
   feetCollision = true;
   player.yVel=0;
   player.y=testObject.y-48;
   player.onGround=true;
}

if(intersectRect(testObject2, getFeetHitbox(player.x, player.y))){
   feetCollision = true;
   player.yVel=0;
   player.y=testObject2.y-48;
   player.onGround=true;
}

if(intersectRect(testObject, getDeathHitbox(player.x, player.y))){
   deathCollision = true;
}

if(intersectRect(testObject, getGrazeHitbox(player.x, player.y))){
   grazeCollision = true;
}

//Reset the player to default location when they fall off the screen
if(player.y > 400){
   player.x = 100;
   player.y = 100;
}

 

Run the game now and you can jump between the two red platforms and confirm that 150 pixel jump is just about right for jumping distance.

 

Next Time: Lot’s More Platforms

 

With this little bit of prep work out of the way we can finally write some code to automatically generate and position hundreds of platforms. This game will finally start feeling like a game!

Gengo Girls #30: Dreaming Of A White Christ-masu?

Gengo Girls #30: Dreaming Of A White Christmasu?

 

Ganbaru in it’s various conjugated forms is another word that’s really easy to pick out in Japanese media. It’s a common phrase that gets used anytime someone wants to wish someone else good luck (try your best). Or encourage someone who is having a tough time (keep trying). Or compliment someone on a job well done (you did your best (and it worked)). Or to console someone who failed (you did you best (even though it didn’t work out)).

It’s basically a super word that can be pulled out anytime hard work and fighting spirit is involved. And I think it says a lot about Japanese culture that their version of “good luck” is more literally translated as “go work really hard”.

Vocabulary

頑張る = がんばる = to try your best

Transcript

言語ガールズ #30

Dreaming Of A White Christ-masu?

Blue: The dictionary form of a verb and the polite form both start the same way, but the polite form will always end in ます.

Blue: For example: look at the 日本語 verb for “to try your best”.

Blue: The dictionary form is がんばand the polite form is がんばります.

Yellow: They do sound pretty similar.

Blue: Be aware that most people pronounce ます more like “mas” than “masu”.

Yellow: Oh! Just like how です sounds more like “des” than “desu”!

Blue: So, are you ready to learn the rules for making polite verbs?

Yellow: Yeah! Let’s 頑張ります!

Blue: That’s the spirit!

 

Gengo Girls #29: That’s Just How Life Is

Gengo Girls #29: That's Just How Life Is

 

If you got into Japanese from watching anime or playing games odds are good you hear casual (or even vulgar) Japanese a lot more often than formal Japanese, which isn’t a bad thing per se. Just don’t let it influence the way you talk to actual Japanese people.

As for this whole polite verb thing: as an English speaker you should already be used to the idea that certain words are more polite than others. You might tell a friend that your car “is all busted up” but if a police officer wanted to know why you were walking along the side of the road you would probably say something more like “my car broke down a few miles back”.

In Japanese it’s the same idea, except that you have the choice between not only polite and casual words but polite and casual ways to say each word. The polite and casual forms of the verb “broke” both mean the same thing but when describing how your car broke down you would use the polite form for your mechanic, coworkers or a police officer and save the casual form for telling your best friend how your car broke down and ruined your day.

Transcript

言語ガールズ #29

That’s Just How Life Is

Blue: Respect is such a big part of 日本語that it even affects how verbs are conjugated.

Blue: Specifically, all verbs come in both a “dictionary” form and a “polite” form.

Blue: The polite form is used for doing business and for conversations between adults that aren’t close friends.

Blue: Foreigners like us use the polite form for both work and sightseeing, so we should practice it extra hard.

Yellow: Does that mean I can ignore the dictionary verb forms?

Blue: You need to know those too. Dictionary form is used in a lot of books, pamphlets, websites, TV shows and games.

Yellow: I have to learn about both types of verbs even though I’m only allowed to use one of them?

Yellow: That’s not fair!

Blue: Why are you looking at me like that? How is this my fault?!