スクラッチプログラミングに挑戦している皆さん、どうも!スクラッチコーチです。
今回の
動画ではペーパーマインクラフトにチーズブロックを
追加する
方法を、なんと
作者のグリフパッチ
本人が
直伝してくれるぞ!これはワクワクが
止まらないぃ!スクラッチのマイクラの
代名詞でもあるペーパーマインクラフトをリミックスする
足がかりにもなる。これを
機に
詳しくなって、あんなMODやこんなMODをスクラッチでも
実現しちゃおうぜ!
目標を確認する「チーズ関連のアイテムと挙動を追加する」
まずは
目標を
確認しよう。
ok-scratch
u003cpu003e走り出す前にゴールがどこなのか、明確にしてからスタートするのがゲーム作りのコツだよ。u003c/pu003e
今回実装するのはチーズ
関連のアイテムと
挙動の
追加だよ。
以下に
実現する
仕様をまとめておくね。
- チーズのかけら(インゴット)を追加する(この記事の範囲)
- 牛乳をかまどで温めるとチーズが作れるようにする(次の記事)
- チーズブロックを追加する
- チーズのかけらからチーズブロックをクラフトできるようにする
- チーズの鉱石を追加する
チーズなんてデフォルトのマイクラにはないよね。だから
コスチュームもコードも全部新しく用意していく必要があるよ。ただテクスチャ(≒コスチューム)はすでに
公開されているものを
使うから、そこは
安心してくれ!みんなは
スタータープロジェクトを開いてみてね。そこにグリフパッチさんがチーズのコスチュームを
用意してくれているからね。(コスチュームのタブをクリックすれば
見つかるよ)よし、じゃあ
目標の
確認とスタータープロジェクトの
確認を
終わらせよう!
ペーパーマインクラフトをリミックスするときの落とし穴に注意しよう
じゃあさっそく
始めよう……っとそのまえに、みんなに
気をつけてほしいことがある。ペーパーマインクラフトだけじゃなくて、
巨大なスクラッチプロジェクトをリミックスするときはけっっこう
頻繁に
起きるバグがある。これはバグというよりはスクラッチの
仕様だから、これからも
付き
合っていかないといけない。ずばり、
保存できなくなる、という
落とし
穴があるんだ。もっと
切実に
表現すると「え?さっきまで
保存できてたよね?いや、なんも
変えてないんですけど?なのになんでいきなり
保存できなくなるの?は?マジワケわかんね!ワケワカメなんですけどぉ!?なにそのワカメ
美味しいの!?」っていう
感じで、
つまりプロジェクトの保存ができなくなる。解決策
プロジェクトが
保存できなくなる
理由はいろいろあるけど、ペーパーマインクラフトの
場合はだいたい
次の
方法で
解決できる。
- (保存に失敗する)
- 赤いボタンを押してプロジェクトを止める
- もう一回緑の旗を押す
- そのまま何もせずに、もう一回赤いボタンを押してプロジェクトを止める
- 保存する(たぶん上手くいくはず)
原因
今回に
限ってはたぶん
原因は
リストがデカくなりすぎて保存できないからだと
思う。ペーパーマインクラフトは、
緑の
旗を
押してもとくに
重たい
処理は
走らなくて、サバイバルモードとかクリエイティブモードとか
決めた
後に「Done」っていうボタンを
押してから
地形生成が
始まるよね。この
地形生成してるときに
色んなリストデータが
更新されて、
巨大なデータが
生まれる。この
巨大なデータはだいたいリストに
格納されてるんだけど、スクラッチではリストが
一定のサイズを
超えるとプロジェクトが
保存できなくなるんだよね。よく
調べたわけではないけど、ペーパーマインクラフトが
保存できなくなる
一番多いの
理由はリストがデカくなりすぎるからだと
思う。それで、
解決策の
方法を
実行すると
直るのは、リストが
初期化されるから。ただしリストが
初期化されるタイミングは、
赤いボタンを
押したときではなくて、
緑のボタンを
押したときなんだよ~。だから
緑のボタンを
再び
押すと、リストがきれいになって
保存できるようになる。
ok-scratch
\u003cp\u003eということは最短の手順では赤いボタンを押す必要はなくて、いきなり緑のボタンを押しても直る……けどややこしいから赤いボタンを押すっていう手順も含めて僕は覚えてる。\u003c/p\u003e
コスチュームを取得する
コスチュームを追加する
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 | ... | | | | | | | | | | | | | |
ok-scratch
u003cpu003eスクラッチでこんな表データを作ることはできないから、仕方なく_BLOCK_DATAみたいに全部縦に書いて管理しているんだよ。とはいえ実際のゲーム開発でもたまに使われるテクニックだったりする。u003c/pu003e
チーズのかけらを追加する
じゃあここにチーズのかけら(インゴット)を
追加する!
新しいインゴットを追加するコツは、別のインゴットのデータをコピペすること!メモ
帳で「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 | |
ok-scratch
u003cpu003e※ブロックIDは、デフォルトの作品に追加するなら次は288でOKなんだけど、すでに自分で別のアイテムを追加してたり、誰かがリミックスしたプロジェクトを更にリミックスしてる場合は、直前のアイテムのブロックIDをチェック。もし直前が300とかなら、次は301にしよう。u003c/pu003e
ファイルを保存する
できたらファイルを
必ず
保存しよう。
- WindowsならCtrl + S
- MacならCmd + S
リストデータを読み込む
スクラッチエディタで、リストを
再び
右クリックして
今度は「読み込み」をクリックしよう。
この↓
画像はMacだけど、こんな
感じでファイル
選択になると
思うから、
今しがた
保存したファイルを
選択しよう。
リストを
下の
方までスクロールするとチーズのかけらが
見つかるはずだ!
ok-scratch
u003cpu003e見つからない!という場合は、2点チェックして。1つはファイルを保存してあったか、もう1つは20行+空白1行のコピペがうまく出来てるか。u003c/pu003e
クリエイティブモードにして確認する
緑の
旗を
押して、
クリエイティブモードでスタートしよう。そして
Eキーをクリックしてから
「8 - Materials」をクリックしよう。
よし!チーズのかけらが
追加できたぞ!これは
大いなる一
歩だ!
次へ
次回はチーズのかけらを
牛乳から
作る
工程を
実装するぞ!
近日公開予定だから、ブクマして
待っておいてくれ!