Placeholder Image

字幕表 動画を再生する

AI 自動生成字幕
  • Hi guys, welcome back to another video.

    やあ、みんな。

  • If you've seen some of my other videos, you'll know I like making games with redstone.

    僕の他の動画をいくつか見てもらえば、僕がレッドストーンを使ったゲーム作りが好きなことがわかると思う。

  • I really like making games with redstone.

    レッドストーンを使ってゲームを作るのがとても好きなんだ。

  • But what goes on behind the scenes?

    しかし、舞台裏では何が起こっているのか?

  • How do my projects get built from start to end?

    私のプロジェクトはどのようにして最初から最後まで構築されるのですか?

  • Today, hopefully, I'm going to answer those questions and take you along with me on my journey to build Flappy Bird with just redstone.

    今日はその質問に答え、レッドストーンだけでフラッピー・バードを作る私の旅にお付き合いいただこうと思っている。

  • I hope you enjoy.

    楽しんでほしい。

  • Flappy Bird is a mobile game by Miniclip, originally released in 2013.

    Flappy BirdはMiniclipが2013年にリリースしたモバイルゲーム。

  • However, it was removed from the App Store and the Google Play Store in 2014 because the creator felt like it was too addictive.

    しかし、制作者が中毒性が高すぎると感じたため、2014年にApp StoreとGoogle Playストアから削除された。

  • Well, sorry Miniclip, but today we're going to be spreading your game a little bit.

    さて、ミニクリップには悪いが、今日はあなたのゲームを少し広めることにしよう。

  • First, let's think about the screen.

    まず、スクリーンについて考えてみよう。

  • I think the best way to do the screen is with a lamp display.

    スクリーンはランプで表示するのがベストだと思う。

  • I don't see any advantage to using pistons here.

    ピストンを使うメリットはないと思う。

  • As far as how big it's going to be, I'm not really sure, so I'm just going to make a starter screen and we can always change the size later.

    どれくらいの大きさにするかについては、よく分からないので、とりあえずスタータースクリーンを作って、後でいつでも大きさを変えられるようにするつもりだ。

  • Okay, I just made one that's 16 lamps by 16 lamps.

    じゃあ、16灯×16灯のものを作ったよ。

  • Now let's talk about the bird.

    さて、鳥の話をしよう。

  • So, the bird is constantly falling.

    だから、鳥は常に落下している。

  • To me, when I hear constantly falling, I think of a degrading circuit.

    私にとっては、常に落ちていると聞くと、回路の劣化を思い浮かべる。

  • A degrading circuit would just lose value over time.

    劣化した回路は時間とともに価値を失うだけだ。

  • For example, you could have a comparator into another comparator like this.

    例えば、コンパレータを別のコンパレータに入れることができる。

  • If you imagine that this line right here is the height of the bird, if you start it like this, you can see how the height naturally falls down.

    この線が鳥の身長だと想像して、このように始めると、身長が自然に下がっていくのがわかるだろう。

  • Here, let me put some lamps so you can see it a little bit better.

    ほら、もう少しよく見えるようにランプを付けよう。

  • You start like this and see how the gravity part of the bird.

    このように始めて、鳥の重力の部分を見る。

  • All right, so I played with the timings a little bit and as long as we're trying to make this game run in real time, I think this is probably a good speed.

    このゲームをリアルタイムで動かそうとする限り、このくらいのスピードがちょうどいいと思う。

  • Yeah, it feels about right.

    ああ、ちょうどいい感じだ。

  • The one problem with this though is that right now, aesthetically, the bird is just a huge bar of lamps that gets shorter.

    ただ、ひとつ問題があるとすれば、今のところ、鳥はランプの巨大な棒が短くなっているだけだ。

  • I'd rather have it just be like the top of the bar, so a single pixel.

    むしろ、バーの一番上と同じように1ピクセルにしてほしい。

  • If we attach a red coder to this or a signal strength decoder, we can just get that top pixel.

    これにレッドコーダーか信号強度デコーダーを取り付ければ、一番上のピクセルを得ることができる。

  • I'll show you what I mean.

    どういうことか、お見せしよう。

  • All right, I attached a red coder on the end of Now, if we send in a signal strength here, it's only going to light up one lamp associated with that signal strength.

    ここで信号強度を送信すると、その信号強度に関連するランプが1つだけ点灯する。

  • When I press this button, it's still going to give a signal strength of 15 and start to degrade, but now it's just a single lamp.

    このボタンを押しても、信号強度は15のままで劣化が始まる。

  • Our lamp started up there and it falls all the way down to the bottom just like it had gravity.

    私たちのランプはあそこから始まり、まるで重力があるかのように下まで落ちていく。

  • All right, so we've got a bird on the ground.

    よし、鳥が地面に落ちたぞ。

  • We can set it up to the ceiling and then it'll fall down, but how do we make it jump?

    天井に設置すれば落ちてくるが、どうやってジャンプさせるのか?

  • Well, if we think about what a jump is, a jump is really just take the current height and add a value to it.

    さて、ジャンプとは何かを考えてみると、ジャンプとは現在の高さに値を足したものだ。

  • Why don't we just take this signal strength, which again represents the height, add some value to it, and then plug it back in whenever we want to jump.

    高さを表すこの信号強度に値を加え、ジャンプしたいときにそれを差し込めばいい。

  • It seems like it would work to me.

    私にはうまくいくように思える。

  • The way that we're going to add a value to the height is with a circuit like this.

    高さに値を加えるには、このような回路を使う。

  • This is the input signal strength right here, this is the output, and this is where you want to put the value that you want to add.

    これが入力信号強度、これが出力で、ここに追加したい値を入れる。

  • What we're doing here is what I like to call a double inversion, where an inversion is taking 15 minus your current signal strength.

    ここでやっているのは、私が二重反転と呼びたいもので、反転とは15から現在の信号強度を引くことだ。

  • We do it once right here because we're taking 15 minus whatever this signal strength is, and that's the output, and then we're doing it again over here. 15 minus 7 is 8.

    ここで一度、15からこの信号強度を引いたものを出力し、ここでもう一度行う。15マイナス7は8です。

  • If you don't do anything special to it in between the two inversions, then it's just kind of a comparator.

    2つの反転の間に特別なことをしなければ、単なるコンパレーターのようなものだ。

  • It goes in one signal strength, and it comes out the same signal strength, because inverting it once and then inverting it again puts it back to what it was.

    ある信号強度で入り、同じ信号強度で出てくる。一度反転させてからもう一度反転させると、元に戻るからだ。

  • But if we go over here and put some value here, that's going to subtract it from whatever it is in between the two inversions, and that actually adds it to the number.

    しかし、ここに行って、ここにある値を入れると、2つの反転の間にあるものから引き算され、実際に数字に足されることになる。

  • If you want a proof of this, I'll put it on the screen right now, but yeah, I mean this is just the way I remember it.

    その証拠が欲しければ、今すぐスクリーンに映し出しますが、ええ、つまり、これは私が覚えている方法なんです。

  • The way to add to signal strength is just to subtract while it's inverted.

    信号強度を増やす方法は、反転している間に引くだけだ。

  • So if you jump height to be let's say 3, then you just grab a signal strength barrel with 3, and now whatever signal strength goes in here, it's going to add 3 to it and come out here.

    つまり、高さを仮に3とすると、信号強度の樽を3でつかみ、ここに入る信号強度が何であれ、それに3が加わってここに出てくる。

  • So for this example, we have 8 plus 3 is 11.

    つまり、この例では8+3で11となる。

  • If I try something else, let's say 10 plus 3 is 13.

    例えば、10に3を足すと13になる。

  • So that seems to be working.

    それでうまくいっているようだ。

  • So now I just have to attach this to this, and we should have jumping.

    だから、あとはこれをこれにくっつければ、ジャンプができるはずだ。

  • Alright, I think it might be working.

    よし、うまくいきそうだ。

  • Let's try to spawn a bird and jump.

    鳥を産んでジャンプしてみよう。

  • Okay, maybe now it's working.

    よし、今ならうまくいくかもしれない。

  • No, not at all.

    いや、全然。

  • Okay, finally seems to be working.

    よし、ようやくうまくいきそうだ。

  • I changed some timings.

    いくつかのタイミングを変更した。

  • Alright, I think it's time to put this bad boy onto the screen.

    さてさて、そろそろこの不良少年をスクリーンに映し出す時が来たようだ。

  • To do that, I'm going to need a vertical red coder instead of a flat one like I have here, but I think I have a design for it.

    そのためには、ここにあるようなフラットなものではなく、縦長の赤いコーダーが必要になるのだが、そのためのデザインは考えている。

  • Yep, I was right.

    そう、私は正しかった。

  • I have one in my schematics folder.

    私の回路図フォルダに1つある。

  • So this is a vertical red coder.

    つまり、これは縦長のレッドコーダーだ。

  • It does the exact same thing as the other one.

    他のものとまったく同じことをする。

  • Whatever signal strength you put into the back here, it's just going to show whatever lamp that is.

    ここにどんな信号強度を入れても、それがどんなランプであっても表示されるだけだ。

  • So we've got 14.

    だから14人だ。

  • That's going to show the 14th lamp.

    これで14番目のランプが点灯する。

  • Okay, I took the vertical red coder, I attached it to this guy, and I put it behind the screen.

    縦長の赤いコーダーをこいつに取り付けて、スクリーンの後ろに置いたんだ。

  • I think it should work.

    うまくいくはずだと思う。

  • Let's try it out.

    試してみよう。

  • Nice.

    いいね。

  • It actually feels like Flappy Bird already.

    実際、もうフラッピーバードのような感じだ。

  • The next step is to generate the pipes.

    次のステップはパイプの生成だ。

  • Since we have pipes coming from the top and the bottom, you might think it's easiest to just generate like a random length pipe right here, and then another random length pipe right here, and that would look something like this.

    上と下からパイプが来ているので、ここにランダムな長さのパイプを作り、さらにここにランダムな長さのパイプを作るのが一番簡単だと思うかもしれません。

  • But I think a better way to generate them would be to generate one giant line and then pick a random hole, right?

    でも、もっといい方法は、巨大な線を1本生成して、ランダムに穴を選ぶことだと思うんだけど?

  • Because once you have this line, if you just pick a random hole, like say you pick here, there you go.

    というのも、このラインさえあれば、適当に穴を選べば、例えばここを選べば、それでいいんだ。

  • Those are your two pipes.

    これが2本のパイプだ。

  • To physically move the pipes across the screen, I think I'm just going to use a system like this.

    物理的にパイプを画面上で動かすには、このようなシステムを使えばいいと思う。

  • It's actually pretty simple.

    実は簡単なことなんだ。

  • We just have an observer chain and then a bunch of observers coming off of that chain.

    私たちにはオブザーバー・チェーンがあり、そこからたくさんのオブザーバーがやってくる。

  • Whenever you give it an update, it gives you a nice three-wide pulse across these lamps.

    アップデートをするたびに、これらのランプに3つのパルスが表示される。

  • Okay, I stacked it up a little bit and I simulated a little system to see what the pipes might look like.

    では、パイプがどのように見えるかを見るために、システムを少しシミュレーションしてみました。

  • Yeah.

    そうだね。

  • I mean, that looks pretty good.

    つまり、かなり良さそうだ。

  • My only concern is that this might be a little bit too fast.

    唯一の懸念は、ちょっと早すぎるのではないかということだ。

  • I mean, these are moving pretty fast across the screen and considering our bird only falls that fast, I don't think it'll mix well with those pipes.

    つまり、これらは画面内をかなり速く移動していて、我々の鳥がその速さでしか落下しないことを考えると、あのパイプとうまく混ざり合うとは思えない。

  • But I mean, at the same time, you can also just make the bird fall a little bit faster by making this clock a little bit shorter.

    しかし同時に、この時計を少し短くすることで、鳥を少し速く落下させることもできる。

  • So I'm not that concerned.

    だから、それほど心配はしていない。

  • You know too fast.

    早すぎるよ。

  • This would, even if the bird was at the same pace and it was falling really fast, this, I don't think Flappy Bird is meant to be, meant to be this crazy.

    これでは、たとえ鳥が同じペースで、ものすごい速さで落下していたとしても、フラッピー・バードがこんなにクレイジーになるとは思えない。

  • At least not until you get to the later levels or whatever.

    少なくとも、後半のレベルか何かになるまではね。

  • So I'm going to have to think of a different system to move the pipes across.

    だから、パイプを横に移動させる別のシステムを考えなければならない。

  • Okay.

    オーケー。

  • I just had a thought.

    ちょっと思いついたんだ。

  • What if we put repeaters on the back of these?

    この裏にリピーターをつけたらどうだろう?

  • They're one wide.

    幅は1つだ。

  • So, oh, okay.

    だから、ああ、わかった。

  • That's, that's much better.

    その方がずっといい。

  • Check it out.

    ぜひご覧あれ。

  • Dude.

    おい。

  • Oh my God.

    なんてことだ。

  • I can't believe how easy that was to fix.

    こんなに簡単に直せるなんて信じられない。

  • All right.

    分かった。

  • So like I said before, for each set of pipes, we're just going to create one long column and then generate a random hole.

    だから、さっき言ったように、パイプのセットごとに長い列を1つ作って、ランダムな穴を生成するんだ。

  • To me, when I hear one long column and a random hole in it, that kind of reminds me of the vertical red coder again, because if you just invert this, now it looks like one long column with a hole in it.

    私にとっては、1本の長い列にランダムな穴が開いていると聞くと、縦長の赤いコーダーを思い出す。

  • So I think if I can find a way to modify this to make the hole bigger, that'll be perfect.

    だから、これを改造して穴を大きくする方法が見つかれば完璧だと思う。

  • Okay.

    オーケー。

  • I've been working on it a little bit.

    少しずつ取り組んできたんだ。

  • I think I've got something promising.

    有望なものを手に入れたと思う。

  • So if we input a signal like that, we get a hole right here.

    つまり、このような信号を入力すると、ここに穴が開く。

  • And if we input a different signal strength, maybe you want a little bit higher.

    そして、もし違う信号強度を入力したら、もう少し高い方がいいかもしれない。

  • We get a hole that's higher up.

    より高い位置に穴を開ける。

  • Okay.

    オーケー。

  • That seems pretty cool.

    かなりクールだと思う。

  • All I did here was take the output from the red coder and make it go up a slab tower by a designated amount.

    ここで私がしたことは、レッドコーダーからの出力を、指定された量だけスラブタワーを上昇させただけだ。

  • So for example, I think the output's coming from about right here and you can see it came out with a single strength of seven, meaning that it's going to go up like this and create a hole.

    つまり、このように上昇して穴を開けるということです。

  • That's only seven long.

    たった7本の長さだ。

  • Everything else still has torches on it.

    それ以外のものにはまだ松明がついている。

  • Okay.

    オーケー。

  • I hooked up the fancy observer screen to it.

    私はそこに派手なオブザーバー・スクリーンを接続した。

  • And now we'll actually be able to see the pipes right now.

    そして今、実際にパイプを見ることができる。

  • It's set at this current height.

    この高さに設定されている。

  • And if we press this button, it releases it.

    そして、このボタンを押せば解除される。

  • And that's what the pipes look like.

    パイプはこんな感じだ。

  • That's actually pretty good.

    それはとてもいいことだ。

  • We can go over here and we can change the height.

    ここに行って、高さを変えることができる。

  • We can do something like this instead, press the button and we get a different height.

    代わりにこんなことができる。ボタンを押すと、違う高さになる。

  • Awesome.

    素晴らしい。

  • After playing with it for a while, I noticed that sometimes the holes are like too high and they chop off the top pipe.

    しばらく使っているうちに、穴が高すぎて上のパイプが欠けてしまうことがあることに気づいた。

  • So I modified the input system a little bit.

    そこで、入力システムを少し変更した。

  • And you go right here and press the button.

    そして、ここでボタンを押してください。

  • That is the highest possible hole.

    それが最高のホールだ。

  • Or if you go right here and press the button again, that's going to be the lowest possible hole.

    あるいは、ここに行ってもう一度ボタンを押せば、そこが可能な限り低い穴になる。

  • And that means that this redstone line is essentially our range.

    つまり、このレッドストーン・ラインは基本的に我々の範囲ということだ。

  • So now we just need a way to randomly assign a random piece of dust to full power.

    だから、あとはランダムにダストをフルパワーにする方法が必要なんだ。

  • The easiest way to do that is with a randomizer circuit.

    最も簡単な方法は、ランダマイザー回路を使うことだ。

  • So this is a 50, 50 randomizer.

    つまり、これは50対50のランダマイザーなのだ。

  • When I press this button, it's either going to give me an output or it's not, it's a 50, 50 chance.

    このボタンを押すと、出力が出るか出ないか、確率は50%か50%だ。

  • The way this works is we have a dropper pointing up into a hopper and the one non stackable and one stackable.

    この仕組みは、ホッパーにスポイトを上向きにして、スタックできないものとスタックできるものがある。

  • If it chooses the non stackable, which is the ax, it's going to output two signal strength and reach the lamp.

    もし、軸であるスタッカブルでない方を選ぶと、2つの信号強度を出力し、ランプに届くことになる。

  • But if it outputs the stackable, which is the dust, it's only going to output a one signal strength, which does not reach the lamp.

    しかし、埃であるスタッカブルを出力すると、信号強度は1しか出力されず、ランプには届かない。

  • So let's activate three of these at once.

    では、これら3つを同時に発動させよう。

  • And that way it's going to generate a random three bit binary number, which means it's going to be a random number in the range zero to seven or zero, zero, zero to one, one, one, zero, one, two, three, four, five, six, seven.

    つまり、0から7、または0、0、0から1、1、0、1、2、3、4、5、6、7の範囲の乱数ということになる。

  • Can you see where I'm going with this?

    何が言いたいかわかるかい?

  • All we have to do is use a decoder to decode the three bit binary number into its corresponding torch zero through seven.

    あとは、デコーダーを使って3ビットの2進数を対応するトーチの0から7にデコードするだけだ。

  • And now with three randomizers and a decoder, we can choose a random torch every time we press this button.

    そして今、3つのランダマイザーとデコーダーがあれば、このボタンを押すたびにランダムなトーチを選ぶことができる。

  • Okay.

    オーケー。

  • I made a little circuit to automate it and check it out.

    私はそれを自動化するために小さな回路を作り、チェックしてみた。

  • Random pipes.

    ランダムパイプ

  • Let's put this thing on the clock.

    これを時計に乗せよう。

  • Oh yeah.

    そうそう。

  • That is amazing.

    それは驚きだ。

  • All right.

    分かった。

  • We've got pipes.

    パイプはある。

  • We've got a bird.

    鳥を捕まえた。

  • Let's try to combine them.

    それらを組み合わせてみよう。

  • Okay.

    オーケー。

  • Slight problem.

    少し問題がある。

  • And I probably should have seen this one coming, but the observers don't mix very well with the red code or like, I can't bring these observers across here, which means that the pipes just kind of disappear as soon as they reach the birds column.

    そして、これはおそらく予想できたはずなのだが、オブザーバーがレッドコードとうまく混ざらない。

  • I'm sure there's a way around this though.

    でも、これを回避する方法はあると思うよ。

  • I might have to redesign something, but I'll let you know what I figure out.

    何かデザインを変えなければならないかもしれないが、何かわかったら知らせるよ。

  • Okay.

    オーケー。

  • I'm convinced there's no way to pass this bird straight through the observers.

    この鳥をそのままオブザーバーに通すことはできないと確信している。

  • So what I did is I made the observers go across the entire screen and then we can just put the bird on the end here.

    そこで私がしたことは、オブザーバーが画面全体に行き渡るようにし、鳥をこの端に置くことです。

  • That way these observers can get the last pixel.

    そうすれば、これらのオブザーバーは最後の1ピクセルを得ることができる。

  • And now the bird's actually going to look like it's going through the pipes.

    そして今、鳥は実際にパイプを通っているように見えるだろう。

  • And there we go.

    さあ、行こう。

  • The bird's actually going through the pipes.

    鳥は実際にパイプを通っている。

  • I'd say this is our first prototype.

    これが最初のプロトタイプだと思う。

  • It does kind of suck that the bird has to be on the very edge of the screen, but it keeps the hardware nice and simple.

    鳥が画面の端にいなければならないのはちょっと残念だが、そのおかげでハードウェアはシンプルでいい。

  • So I'm all right with it.

    だから、僕はそれでいいんだ。

  • The next thing I want to do is I want to change this input system.

    次にやりたいのは、この入力システムを変更することだ。

  • I don't want the person to have to press a button and then look back at the screen.

    ボタンを押してから画面を見返すようなことはしてほしくない。

  • That's kind of awkward.

    それはちょっと気まずいね。

  • I would rather use something like a tripwire.

    私はむしろトリップワイヤーのようなものを使いたい。

  • That way the player can actually jump.

    そうすれば、選手は実際にジャンプすることができる。

  • Okay.

    オーケー。

  • After messing with tripwires for way too long, I finally found a nice system.

    あまりに長い間、トリップワイヤーをいじってきたが、ようやくいいシステムを見つけた。

  • All you do to use it is stand on the trap doors.

    使い方はトラップドアの上に立つだけ。

  • And whenever you jump up, your head hits the tripwire and that makes you jump.

    そして、飛び上がるたびにトリップワイヤーに頭がぶつかり、それでジャンプする。

  • And it even works if you hold down the space bar, which is really nice.

    しかも、スペースバーを押しながらでも使える。

  • Okay.

    オーケー。

  • We're really getting there.

    我々は本当にそこに到達している。

  • I can turn on the pipes with this lever.

    このレバーでパイプのスイッチを入れることができるんだ。

  • And as soon as you start generating, now I can just stand here and jump with the bird.

    そして、あなたが発電を始めるとすぐに、私はここに立って鳥と一緒にジャンプすることができる。

  • The last thing we need is some collision detection because right now, if the bird hits the pipe, absolutely nothing happens.

    最後に必要なのは衝突判定だ。今は鳥がパイプにぶつかっても、まったく何も起こらない。

  • So we need to check if the bird, which comes along here and the pipe, which comes along here, hit each other, which means they both occupy the same block at the same time.

    つまり、ここに来る鳥とここに来るパイプがぶつかるかどうかをチェックする必要がある。

  • The way to do that is to make a bunch of AND gates, one for every single row that compares the pipe and the bird.

    その方法は、パイプと鳥を比較するANDゲートを1行ごとにたくさん作ることだ。

  • And it'll go off if they're both there at the same time, because that's what an AND gate does.

    ANDゲートがそうだからだ。

  • Okay.

    オーケー。

  • I made a bunch of AND gates and I ordered them all together with this tower here.

    ANDゲートをたくさん作って、このタワーと一緒に注文したんだ。

  • So if a collision happens at any row, it's going to hit one of these dusts and go up the tower and let us know on this main line.

    だから、どの列で衝突が起きても、このダストのひとつにぶつかってタワーの上に行き、このメインラインで知らせてくれる。

  • And this line is our collision detection line.

    そしてこの線が衝突判定ラインだ。

  • By the way, I moved the tripwire circuit out a little bit, just so that it's easier to use, easier to see the board.

    ところで、トリップワイヤー回路を少し外に出してみた。

  • So right now the lamp is always off, even if we jump, because there's no pipes.

    パイプがないから、ジャンプしてもランプは消えない。

  • So there's no way we could have a collision, but I'll purposely die here and we can see as soon as we hit the pipe, lamp goes off.

    だから衝突はありえないけど、わざとここで死んで、パイプにぶつかった瞬間にランプが消えるのを確認する。

  • Hit the pipe again, lamp goes off.

    もう一度パイプを叩くとランプが消える。

  • Seems like it's working.

    うまくいっているようだ。

  • I think it's time to set up the control logic.

    そろそろコントロールロジックを設定する時期だと思う。

  • Control logic is what manages the game.

    コントロールロジックはゲームを管理するものだ。

  • Right now the game just runs nonstop.

    今、ゲームはノンストップで動いている。

  • It still needs a process to kind of help it organize its tasks.

    タスクを整理するためのプロセスが必要なのだ。

  • Okay.

    オーケー。

  • I built up a little schematic.

    ちょっとした回路図を作ってみた。

  • I think I want to do something like this.

    こういうことをやりたいと思うんだ。

  • The game is going to have two different states, a default state and a playing state.

    ゲームには2つの異なる状態、デフォルトの状態とプレー中の状態がある。

  • It can only be in one of these states at a time.

    一度にどちらかの状態にしかなれない。

  • When you first download the world, it's going to be in the default state.

    最初にワールドをダウンロードしたときは、デフォルトの状態になっています。

  • So in the default state, there's going to be no pipes.

    つまり、デフォルトの状態ではパイプはない。

  • It's just kind of sitting there waiting to be played.

    演奏されるのを待っているような感じだ。

  • Then when the user presses the start button, it puts the game into a playing state.

    そして、ユーザーがスタートボタンを押すと、ゲームがプレイ状態になる。

  • When the game gets put into the playing state, it has to do these two things.

    ゲームがプレー状態になるとき、この2つのことをしなければならない。

  • It has to start generating the pipes and it has to add one score every time we get through a pipe.

    パイプの生成を開始し、パイプを通過するたびにスコアを1つ加算しなければならない。

  • Yeah, sorry.

    ああ、申し訳ない。

  • I forgot to mention, I want to do a scoring system as well.

    言い忘れたが、採点システムもやりたい。

  • Okay.

    オーケー。

  • So all is well, we're playing the game, but then if a collision is detected, AKA the bird hits a pipe, this goes off and puts the game back into the default state.

    しかし、衝突が検知されると、つまり鳥がパイプにぶつかると、これがオフになり、ゲームはデフォルトの状態に戻る。

  • Now that we're in the default state, we need to stop generating the pipes and we need to clear the score.

    デフォルトの状態になったので、パイプの生成を止め、スコアをクリアする必要がある。

  • And that's about it.

    そんなところだ。

  • That's all the control logic we need.

    必要な制御ロジックはこれだけだ。

  • I'll be back when this is put into the game.

    これがゲームに組み込まれたら、また戻ってくるよ。

  • Okay.

    オーケー。

  • Finished most of the control logic.

    ほとんどのコントロール・ロジックを終えた。

  • I put a start button right here and it goes into the latch that toggles between the two different states.

    スタートボタンをここに置き、2つの異なる状態を切り替えるラッチに入れる。

  • It's the exact same latch that I had in the schematic over here.

    こっちの回路図にあったのとまったく同じラッチだ。

  • When we press start game, it toggles into the playing state and the playing state is directly hooked up to the generating pipes.

    ゲームの開始を押すと、プレー状態に切り替わり、プレー状態は直接、生成パイプに接続される。

  • So now as we're in the playing state, the pipes are on the screen.

    今、プレーしている状態で、パイプがスクリーンに表示されている。

  • Then I took the collision detection line and ran it all the way back to put it back into the default state.

    それから、衝突判定ラインをデフォルトの状態に戻すために、ずっと戻した。

  • And finally, I put up a display counter.

    そして最後に、陳列カウンターを設置した。

  • Whenever I need fancy displays like this, I just go to my boy Mizuma Games.

    このような派手なディスプレイが必要なときは、私はいつもミヅマ・ゲームズに行く。

  • He has incredible designs.

    彼は信じられないようなデザインを持っている。

  • This is the one we're using right here.

    これが今使っているものだ。

  • So every time you update this observer, it counts up by one.

    そのため、このオブザーバーを更新するたびに、カウントが1ずつ上がっていく。

  • And what's really cool about these is when you stack them next to each other, like I have, whenever one goes from nine to zero, it increments the one to its left by one, making this a fully working counter all the way up to 9,999.

    そして、このカウンターが本当にクールなのは、私のように隣り合わせに積み重ねると、1つが9からゼロになるたびに、その左の1つが1つインクリメントされ、9,999まで完全に動作するカウンターになることだ。

  • So right here, when a pipe gets all the way to the end of the screen, I put in this wire, which increments our score by one.

    パイプが画面の端まで来たら、このワイヤーを入れて、スコアを1つ増やす。

  • And that is about it.

    といったところだ。

  • I'd say that we have a working Flappy Bird game.

    フラッピーバードのゲームは完成したと言っていい。

  • Now that everything is working, I'm going to do a few final things before I'm finished.

    さて、すべてが機能するようになったので、完成する前にいくつか最後のことをしようと思う。

  • I'm going to redo the layout so that more of the stuff goes behind the screen instead of off to the side like this.

    レイアウトをやり直すつもりで、このように横にずれているのではなく、画面の後ろにもっと多くのものが行くようにするつもりだ。

  • I'm probably going to give it a little bit more decoration, and I'm going to test it.

    おそらく、もう少し装飾を施して、テストするつもりだ。

  • A lot.

    たくさんね。

  • It's always good to test your game when you finish.

    試合を終えたら必ずテストするのがいい。

  • Other than that, I'll see you in the showcase.

    それ以外は、ショーケースで会おう。

  • So make sure to subscribe if you enjoyed this video and want more of them.

    このビデオを楽しんで、もっとビデオを見たいと思ったら、ぜひ購読してください。

  • Thank you for watching.

    ご視聴ありがとうございました。

  • I hope you learned something.

    何かを学んでいただけたなら幸いだ。

  • I hope you enjoyed.

    楽しんでいただけたなら幸いだ。

  • Peace out, guys.

    平和を祈る。

Hi guys, welcome back to another video.

やあ、みんな。

字幕と単語
AI 自動生成字幕

ワンタップで英和辞典検索 単語をクリックすると、意味が表示されます