スクラッチに挑戦している皆さん、どうも!スクラッチコーチです。
今回の動画↑ではペーパーマインクラフトにチーズブロックを追加する方法を、なんと作者のグリフパッチ本人が直伝してくれるぞ!これはワクワクが止まらないぃ!スクラッチのマイクラの代名詞でもあるペーパーマインクラフトをリミックスする足がかりにもなる。これを機に詳しくなって、あんなMODやこんなMODをスクラッチでも実現しちゃおうぜ!
でまぁ動画は英語だからハードル高い。そこで詳しい解説(もち日本語)をこの記事にしてあるので楽しんでね!
目標を確認する「チーズ関連のアイテムと挙動を追加する」
まずは目標を確認しよう。
走り出す前にゴールがどこなのか、明確にしてからスタートするのがゲーム作りのコツだよ。
今回実装するのはチーズ関連のアイテムと挙動の追加だよ。以下に実現する仕様をまとめておくね。
- チーズのかけら(インゴット)を追加する(この記事の範囲)
- 牛乳をかまどで温めるとチーズが作れるようにする(次の記事)
- チーズブロックを追加する
- チーズのかけらからチーズブロックをクラフトできるようにする
- チーズの鉱石を追加する
チーズなんてデフォルトのマイクラにはないよね。だからコスチュームもコードも全部新しく用意していく必要があるよ。ただテクスチャ(≒コスチューム)はすでに公開されているものを使うから、そこは安心してくれ!
コスチューム入りプロジェクトを利用しよう
コスチューム入りのプロジェクトを開いてみてね。そこにグリフパッチさんがチーズのコスチュームを用意してくれているからね。(コスチュームのタブをクリックすれば見つかるよ)
ペーパーマインクラフトをリミックスしよう
今回リミックスするのはこちらがオススメ!
https://scratch.mit.edu/projects/10128407/
(スタータープロジェクトと同じ)
ペーパーマインクラフトはたまに開けないときあるよね、重いからかな。そういうときはプロジェクトファイルをダウンロードできるようにしてある(V11.7)から、パソコンに保存してスクラッチデスクトップとかで改変するとスムーズだよ。ページの上の方にリンクがあるよ。
よし、じゃあ目標の確認とスタータープロジェクトの確認を終わらせよう!
ペーパーマインクラフトをリミックスするときの落とし穴に注意しよう
じゃあさっそく始めよう……っとそのまえに、みんなに気をつけてほしいことがある。
ペーパーマインクラフトだけじゃなくて、巨大なスクラッチプロジェクトをリミックスするときはけっっこう頻繁に起きるバグがある。これはバグというよりはスクラッチの仕様だから、これからも付き合っていかないといけない。
ずばり、保存できなくなる、という落とし穴があるんだ。もっと切実に表現すると「え?さっきまで保存できてたよね?いや、なんも変えてないんですけど?なのになんでいきなり保存できなくなるの?は?マジワケわかんね!ワケワカメなんですけどぉ!?なにそのワカメ美味しいの!?」っていう感じで、つまりプロジェクトの保存ができなくなる。
解決策
プロジェクトが保存できなくなる理由はいろいろあるけど、ペーパーマインクラフトの場合はだいたい次の方法で解決できる。
- (保存に失敗する)
- 赤いボタンを押してプロジェクトを止める
- もう一回緑の旗を押す
- そのまま何もせずに、もう一回赤いボタンを押してプロジェクトを止める
- 保存する(たぶん上手くいくはず)
原因
今回に限ってはたぶん原因はリストがデカくなりすぎて保存できないからだと思う。
ペーパーマインクラフトは、緑の旗を押してもとくに重たい処理は走らなくて、サバイバルモードとかクリエイティブモードとか決めた後に「Done」っていうボタンを押してから地形生成が始まるよね。この地形生成してるときに色んなリストデータが更新されて、巨大なデータが生まれる。この巨大なデータはだいたいリストに格納されてるんだけど、スクラッチではリストが一定のサイズを超えるとプロジェクトが保存できなくなるんだよね。
よく調べたわけではないけど、ペーパーマインクラフトが保存できなくなる一番多いの理由はリストがデカくなりすぎるからだと思う。
それで、解決策の方法を実行すると直るのは、リストが初期化されるから。ただしリストが初期化されるタイミングは、赤いボタンを押したときではなくて、緑のボタンを押したときなんだよ〜。だから緑のボタンを再び押すと、リストがきれいになって保存できるようになる。
ということは最短の手順では赤いボタンを押す必要はなくて、いきなり緑のボタンを押しても直る……けどややこしいから赤いボタンを押すっていう手順も含めて僕は覚えてる。
コスチュームを用意する
チーズ関連のコスチュームを用意しよう。
コスチューム入りプロジェクトからコスチュームを書き出す
コスチューム入りプロジェクトにはスプライトが1つしかないので、コスチュームを開けばスグ見つかるよ。このコスチュームを全部書き出しておこう。コスチュームの画像を右クリックすれば「書き出し」が出てくるよ。
ペーパーマインクラフトをリミックスする
もうリミックスしたかな?まだの人はこの段階でリミックスしよう。おすすめはこちら↓
https://scratch.mit.edu/projects/10128407/
Tilesスプライトにコスチュームを追加する
リミックスしたペーパーマインクラフトにコスチュームを追加していこう。
Tilesというスプライトを見つけよう
コスチュームをアップロードしよう
コスチュームの一番下にあるボタンからコスチュームをアップロードできるので、さっき書き出したチーズを全てアップロードしよう。
順番を確認しよう
チーズのかけらから追加するので、チーズのかけら、チーズブロック、チーズ鉱石の順番に並べておこう。
リストデータを書き出す
インゴットや鉱石などは全てリストで管理されているんだ。リストの名前は「_BLOCK_DATA」だよ。このリストの中身をまるっとエクスポート(書き出し)して、メモ帳とかをつかって編集していくよ。
リストを表示する
エディター左側のブロックパレットの「変数」辺りにリストもあるよ。そこにある「_BLOCK_DATA」にチェックを付けて。
そしたら画面にリストが表示されたよね。
つぎにこのリストを右クリックしてみて。
なんか出てきたね!2つ目の「書き出し」を選択しよう!
選択したかな?
僕はMacのChromeだから↓この画像みたいにダウンロードファイルが表示されるよ。WindowsとかSafariとか、別の環境の人はそれぞれダウンロードされたファイルを確認する方法が違うけど、だいたい「ダウンロード」とか「Downloads」みたいなフォルダに入ってると思う。
ファイルを開く
このファイルをメモ帳とかノートとかSublimeとか、なんでもいいのでテキストファイルを開けるアプリで開いてみてね。単純にファイルをダブルクリックすればいつも使ってるアプリで開かれると思うよ。
僕の環境だとMacのデフォルトのメモ帳である「テキストエディット」というアプリで開かれたよ。
中身を確認する
最初の20行は見出しみたいなもので、このファイルの書式を表しているんだ。だから実際に編集していいのは、最初の20行と1行の空白行の次である22行目からなんだよ。表にして考えると分かりやすい。実際はこのファイルの中身は以下のようになってるってこと。
1) Block ID | 2) Block Name | 3) Solid for walking | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
1 | Air | N | 0 | N | 0 | ...省略 | |||||||||||||
2 | Grass | Y | 0.5 | S | 0 | ... | |||||||||||||
3 | Dirt | Y | 0.5 | S | 0 | ... |
スクラッチでこんな表データを作ることはできないから、仕方なく_BLOCK_DATAみたいに全部縦に書いて管理しているんだよ。とはいえ実際のゲーム開発でもたまに使われるテクニックだったりする。
チーズのかけらを追加する
じゃあここにチーズのかけら(インゴット)を追加する!新しいインゴットを追加するコツは、別のインゴットのデータをコピペすること!
メモ帳で「ingot」を検索してみて。ファイル内を検索するショートカットはだいたい次の通り。メモ帳を選択してから、
- WindowsならCtrl + F
- MacならCmd + F
これで検索できるはず。
この「Gold Ingot」の全20行をコピーして。
ファイルの一番下のデータに追加するよ。
チーズのかけらデータを加工する
ふぅ!追加できたね!
このままだと金のインゴットのままだから、これをチーズのかけらにしていこう!次の表の「変更後」の値になるようにデータを変えてみて。変える行を間違えないように注意してね。
見出し | 変更前 | 変更後 | 補足 |
1) Block ID|ブロックID | 84 | 288 (※) | このデータ内の順番。コスチュームIDとは全く関係ない。 追加した場所の直前のアイテムのブロックIDにプラス1した数字を書く。 |
2) Block Name|ブロック名 | Gold Ingot | チーズのかけら (またはPiece of Cheese) | コスチュームの名前。日本語でもOK。 |
3) Solid for walking | N | N | |
4) Hardness | 0 | 0 | |
5) Digging Tool | N | N | |
6) Liquid Height | 0 | 0 | |
7) Flow Direction | N | N | |
8) Can Fall | N | N | |
9) Light Absorption | 0 | 0 | |
10) Tile Group | 0 | 0 | |
11) Harvest Block | 0 | 0 | |
12) Smelt into Block ID | 0 | 0 | |
13) Burn in furnace duration | 0 | 0 | |
14) Damage inflicted | 0 | 0 | |
15) Creative Mode | 8 | 8 | |
16) Tile Sprite ID|コスチュームID | 42 | 308 | コスチュームをみて確認できる。これは順番変えると変わってしまうので注意。 |
17) Inventory Sprite ID|インベントリ用コスチュームID | 42 | 308 | 基本的に16と同じでOK。もしインベントリ内では違う見た目にしたいというこだわりが強いアイテムならここでインベントリ用のコスチュームIDを指定する。 |
18) Item Durability | 0 | 0 | |
19) Root Item ID | 84 | 288 | 基本的に1と同じ。 |
20) Activate on load | N | N |
※ブロックIDは、デフォルトの作品に追加するなら次は288でOKなんだけど、すでに自分で別のアイテムを追加してたり、誰かがリミックスしたプロジェクトを更にリミックスしてる場合は、直前のアイテムのブロックIDをチェック。もし直前が300とかなら、次は301にしよう。
ファイルを保存する
できたらファイルを必ず保存しよう。
- WindowsならCtrl + S
- MacならCmd + S
リストデータを読み込む
スクラッチエディタで、リストを再び右クリックして今度は「読み込み」をクリックしよう。
この↓画像はMacだけど、こんな感じでファイル選択になると思うから、今しがた保存したファイルを選択しよう。
リストを下の方までスクロールするとチーズのかけらが見つかるはずだ!
見つからない!という場合は、2点チェックして。1つはファイルを保存してあったか、もう1つは20行+空白1行のコピペがうまく出来てるか。
クリエイティブモードにして確認する
緑の旗を押して、クリエイティブモードでスタートしよう。そしてEキーをクリックしてから「8 - Materials」をクリックしよう。
よし!チーズのかけらが追加できたぞ!これは大いなる一歩だ!
次へ
次回はチーズのかけらを牛乳から作る工程を実装するぞ!近日公開予定だから、ブクマして待っておいてくれ!更新しました!
- ① インゴットを追加する (いまここ)
- ② かまどのレシピを追加する
- ③ 新ブロックを追加する
- ④ 新クラフトレシピを追加する
- ⑤ 新食材を追加する