スクラッチでマイクラの作り方ヒント!ペーパーマインクラフトのリミックスをベースに。

スクラッチでマイクラの作り方ヒント!ペーパーマインクラフトのリミックスをベースに。
ペーパーマインクラフトをリミックスする前提知識が身につきます!

ペーパーマインクラフトのリミックスに挑戦ちょうせんするシリーズがはじまりました!

ペーパーマインクラフトのリミックスに挑戦ちょうせんするひと最後さいごとりで

この記事きじ興味きょうみがあるは1はペーパーマインクラフトのたことがあるのではないでしょう

というペーパーマインクラフトに出会であったおおくのひと感動んどうし、「これワンチャンでリミックスしたらヤバない?」とっともってて、つぎ瞬間しゅん絶望ぜつぼうして「これさわっちゃダメなやつだ」とソッとブラウザをじたことがあるのではないでしょう
ひょっとしたらいままさに絶望ぜつぼうした直後ちょくごだけど、どうしてっともあきらめきれなくてこのページに辿り着たど ついたのっともしれません。
だとしたら、おめでとう。
ここが、こここそが、ペーパーマインクラフトのリミックスをあきらめなったひとたちあつまる最後さいごとりでです!(おおげさ)

スクラッチでマイクラの<ruby>作<rt>つく</rt></ruby>り<ruby>方<rt><ruby>か<rt>か</rt></ruby>た</rt></ruby>ヒント!ペーパーマインクラフトのリミックスをベースに。を語るok-scratch ok-scratch

ペーパーマインクラフトのると、あたまが真っ白になりますよね……。

ると、まず変数へんすうが「gt_i」と意味いみらない。いわゆる難読なんどくされた状態じょうたいになっているのでおおくのひとはこれだけで挫折ざせつします。

スプライトのっともおおいですし、GeneratorとProcessorという2つのスプライトにしてはスクロールしてっともスクロールしてっともわりがえないちょう巨大きょだいスプライトになっており絶望ぜつぼうてきです。

このリミックスのヒント記事きじっとも、どうこれらを料理りょうりしようなやみました。

1つ1つ丁寧ていねいうごきをつたえていったのでは、ほんが1さつけるレベルのボリュームになってしまうので、たんにコードレビューを一緒いっしょにしていくだけではダメだなとっともいました。

リミックスのアイデアはやまほどある!!

そこで、実際じっさいにいくつのMODやワールドをつくりながら、「こういうリミックスがしたいときは○と○にテコ入てこいれする必要ひつようがあるんだな」ということがるような、リミックスする勘所んどころさえていきたいっともいます。

すでに公式こうしきマイクラにおおくのMODがあるので、やりたいアイデアが大量たいりょうひとっともいるとっともいます。

  • ネザライトけい武器ぶきっとも実装じっそうしたい
  • ネザーにブレイズがるようにしたい
  • ネザーでベッドでたら爆発ばくはつするようにしたい
  • エンドシティ実装じっそうしてエンドラっとも登場とうじょうさせたい
  • 青鬼あおおに実装じっそうしたい
  • カートゥーンキャットを実装じっそうしたい
  • ワンブロックチャレンジできるワールドをつくりたい
  • 巨大きょだいゾンビを実装じっそうしたい
  • 100にマグマがあふれる世界つくりたい

などなど無限むげんにやりたいことはでてきますよね。

すでになんひとっとものスクラッチャーがリミックスに挑戦ちょうせんしていて、そのろんを公開してくれているひとっともいます。みなさんにっとも「これがつくりたい」という希望きぼうがあるとっともいます。その希望きぼういリミックスプロジェクトをれば、リミックスの基ほんつく業がるとっともいます。

たとえば「このスプライトのブロック定義ていぎ「○○」をいじるの!」「このメッセージを受け取う とるようにすればいいの!」「このスプライトのコスチュームと、リストのここにデータを入力にゅうりょくしないといけなったの!」みたいな具体ぐたいてきなリミックス法がるとっともいます。

いま回ここではペーパーマインクラフトプロジェクト全体ぜんたいがどうつくられているの一緒いっしょておきます。

この記事きじはどのリミックスにおいてっとも重要じゅうよう前提ぜんてい知識ちしきになるので、リミックスするさいにはなんっともんで全体ぜんたいをチェックしてください。おぼえる必要ひつようはありません。必要ひつようなときにチェックすればOKです。

ところでペーパーマインクラフトとは

ねんのためいておくと、グリフパッチさんがつくした2Dばんのマインクラフトです。スクラッチでプレイすることができて、発表はっぴょうした瞬間しゅん一気いっきつたてきなプロジェクトとしてひろられています。

スクラッチでマインクラフトてきなゲームをプレイしたいひとは、間違まちがいなく1はプレイすべき逸品いっぴんです。

ゲームとしてのペーパーマインクラフトに興味きょうみがあるは、こちらの記事きじをチェックしてください。アイテムやモブ一覧いちらん、コマンド一覧いちらんなどが詳細しょうさいっています。

る(全体ぜんたいろん

ではペーパーマインクラフトのていきましょう。

いま回は全体ぜんたいてきつぎのようなポイントをチェックします。

  • スプライトの
  • スプライトの種類しゅるい
  • スプライトの役割やくわり
  • 処理しょりおおきななが
  • へんすう特徴とくちょう
  • リストの特徴とくちょう
  • メッセージの特徴とくちょう

このあたりをさえるだけでっとも、リミックスを開始いしできるっともいるでしょう。

おおきなながれがわれば、こまいリミックスつく業をしているときっとも「このつく業は○○というながれの一環いっとしてやっている」「このつく業のてきは○○」ということを把握はあくできます。

スプライトについて

だいいちとして、スクラッチプロジェクトの根幹こんすスプライトについて把握はあくしていきましょう。

スプライトの

全部ぜんぶで29のスプライトがありますが、1つはダミーなので実際じっさいは28です。

スプライトに含まれるブロックはバラバラなので、すべちょう難解なんということではありません。おお丈夫。

スプライトの種類しゅるい

28のスプライトを独自どくじに6つの種類しゅるいけました。

ゲームメニューようスプライト

  • Stage Sprite(ゲームスターター)
  • Menu1(ゲームメニューの枠組わくぐみ)
  • Menu2(ゲームメニューの枠組わくぐない表示ひょうじするない容)
  • Splash_select(ゲームメニューのボタン)
  • selected(選択せんたくのメニュー)
  • Save Game(セーブ機能きのう

プレイヤーようスプライト

  • Steve(プレイヤーの身体しんたい
  • Steve Head(プレイヤーの
  • Steve Arm(プレイヤーのうで
  • Steve Legs2(プレイヤーのあし

プレイヤーのステータスようスプライト

  • Health(りょくたいりょく
  • Oxygen(酸素さんそ空気くうき
  • Armor(防御ぼうぎょりょく
  • Hunger(満腹まんぷく

インベントリようスプライト

  • gui_invrow(インベントリの枠組わくぐみ)
  • gui_invsel(インベントリで選択せんたくのアイテム)
  • Counts(インベントリないのアイテム
  • CreativeOverlay(アイテム種類しゅるい一覧いちらん

ゲーム外観がいようスプライト

  • Mob(モブ)
  • Tiles(ブロック)
  • snow(天気てんき
  • Arrow Progress(制つく進捗しんちょく
  • Smelt Progress(鍛冶たんや進捗しんちょく

その

  • Cursor(カーソル)
  • Commands(コマンド)
  • Pseudorandom Cycle(疑似ぎじサイクル)
  • Generator(地形ちけい
  • Processor(ゲーム処理しょり
  • Blank(ダミー)

このように6つの種類しゅるいれています。

とくヘビーなのがその類されているGeneratorとProcessorです。

あたらしいバイオームを追加ついするリミックスをんがえているなら、この2つにテコ入てこいれする必要ひつようがあり、なり難易なんいいです。ペーパーマインクラフトへの理解りょくっともっともめられます。

リミックスはなんにせよおお

といってっとものリミックスならカンタンというわけでっともありません。

たとえばモブを追加ついする場合ばあいはどうでしょう。Mobというスプライトがあるのでここだけえればさそうなっとものですが、ちがいます。

じつはモブのうごきを管理んりしているのはProcessorスプライトなのです。Processorスプライトは具合ぐあいやダメージ判定はんていなどっともしており、複のスプライトと係があります。どんなモブを追加ついするのによっては、こちらっともさわ必要ひつようがあるっともしれません。

またモブの管理んりにはリスト変数へんすう使っています。リスト変数へんすうにモブごとの基ほん情報じょうほう(マスタデータ)が格納くのうされているのです。

ペーパーマインクラフトは「モブならMobをいじればリミックスできる!」といったシンプルなつくりではないということがったとっともいます。それがリミックスのハードルをめているのです。

らこそリミックス最後さいごとりでとして、このシリーズではペーパーマインクラフトを必要ひつよう最低さいていげん解明いめいしつつ、最小さいしょうつとりょくでリミックスする法を模索っともさくしていきます。

いちいっしょに最のMODをつくいちを踏みしましょう。

スプライトの役割やくわり(カンタンに)

じゅんじゅんばんはスクラッチのプロジェクトにならべられているじゅん紹介しょうしていきます。

スプライト和訳わやく種類しゅるいやくやくわり(カンタンに)
Blankダミーそのなんっともれてない。チラッとひとへの配慮はいりょ。(いきなりGeneratorだとみ込み処理しょりっともら)
Generator地形ちけいそのバイオーム生を担する。
Processorゲーム処理しょりそのモブをうごしたり植物しょくぶつ長を管理んりしたりダメージ処理しょりおこなったり、ゲームの主要しゅよう処理しょりを担する。

Steve Arm
プレイヤーうでプレイヤー採掘さいくつしたり攻撃こうげきしたり、色々いろいろうで振る舞ふ まいを担する。

Steve
プレイヤー身体しんたいプレイヤープレイヤーの移うごなどを検する、うであしのまとめやくのような存在そんざい

Steve Legs2
プレイヤーあしプレイヤープレイヤーのあし振る舞ふ まいを担する。

Steve Head
プレイヤーあたまプレイヤープレイヤーのあたま振る舞ふ まいを担する。

Tiles
ブロックゲーム外観がい建築けんちくブロックや、武器ぶきや、植物しょくぶつみずなどのすべてのブロックがこのスプライトに格納くのうされている。ブロック一覧いちらんはこちら

Cursor
カーソルそのプレイヤーが攻撃こうげきしたりアイテムを設置せっちしようとしている場所ばしょあらわやくやくわり

gui_invrow
インベントリのわくわくぐインベントリインベントリのわくを担する。クラフトようわく装備そうびようわくなどっともある。

gui_invsel
インベントリのわくわくぐない選択せんたくのアイテムインベントリインベントリないでプレイヤーがなん選択せんたくあらわやくやくわり

Counts
アイテムインベントリブロックが64ある、みたいなアイテムを担する。ツルハシの耐久たいきゅうりょくなどっともする。

Arrow Progress
つく進捗しんちょくゲーム外観がいたとえばてつ鉱石こうせき石炭せきたんいてインゴットにするさいなどの進捗しんちょく状況じょうきょうを担する。

Smelt Progress
鍛冶たんや進捗しんちょくゲーム外観がいたとえば、てつ鉱石こうせき石炭せきたんいているさいに、あとどのくらい石炭せきたんっともやせる、といった状況じょうきょうあらわひょうじを担する。

Mob
モブゲーム外観がいてきモブ、うご物、村ひとなどのモブを担する。Mob一覧いちらんはこちら

Health
りょくたいりょくプレイヤーステータスりょくたいりょくあらわひょうじを担する。

Oxygen
酸素さんそくうきプレイヤーステータスプレイヤーがみずっともっているときに、あとどのくらいいきつづあらわひょうじを担する。

Armor
防御ぼうぎょりょくプレイヤーステータスプレイヤーの防御ぼうぎょりょくを担する。

Hunger
なかまんぷくプレイヤーステータスプレイヤーがどのくらいおなかいているを担する。

selected
選択せんたくのメニューゲームメニュー選択せんたくのメニューを担する。

CreativeOverlay
アイテム種類しゅるい一覧いちらんインベントリクリエイティブモードのときにあらわひょうじされるアイテム種類しゅるい一覧いちらんあらわを担する。

Menu1
ゲームメニューのわくわくぐゲームメニューゲームメニューのラベルとわくわくぐみのあらわひょうじを担する。

Splash_select
ゲームメニューのボタンゲームメニュー最初さいしょあらわひょうじされるゲームメニューの選択せんたくボタンを担する。

Menu2
ゲームメニューのわくわくぐない選択せんたくゲームメニューゲームメニューの選択せんたくを担する。
Save Gameセーブ機能きのうゲームメニューゲームのセーブやロードを担する。
Commandsコマンドそのコマンドを担する。コマンド一覧いちらんはこちら
Pseudorandom Cycle疑似ぎじサイクルそのゲームないで利ようする乱の生を担する。
Stage Spriteゲームスターターゲームメニューゲームを開始いしする画面がめんを担する。
snow天気てんきゲーム外観がい天気てんきを担する。

リミックスを困難こんなんにしている要素ようそ

メッセージがおお岐にわたってる

ペーパーマインクラフトのリミックスをむずかしくしている要素ようそに「メッセージが複雑ふくざつ」というっとものがあります。

そこで、ぼくいつっとも使っているメッセージほんてき拡張かくちょうして、ペーパーマインクラフトのメッセージ係を析してみました。

変数へんすうめいが独とくすぎる

ペーパーマインクラフトの変数へんすうはスーパーりづらいです。たとえば変数へんすう「gt_i」というっとものがあります。これの意味いみするところは「GrowTreeというブロック定義ていぎ使われるループカウンタ変数へんすう」なのですが、絶対ぜったいらないですよね(わらい)gt_iのgtがGrowTreeということっとも、iというのがプログラミングではループないでよく使われる合言葉あいことばだということっとも、めっちゃんが察しないとらないです……。

変数へんすうっともなんと解明いめいしていきたいです。リミックスに必要ひつよう変数へんすう焦点しょうてんてて、わりやすく解説かいせつできるようつとめます。

リストでマスタデータ管理んりしてる

スクラッチでリストという変数へんすう使ったことがあります

ないひとっともいるとっともいます。

リスト変数へんすうというのは、基ほんてきにグローバル変数へんすうです。つまりすべてのスプライトら利ようできる変数へんすうです。

そして、1つぎ元の配列はいれつ構造こうぞうになっています……っていうとかたいですね。

普通ふつう変数へんすうばこだとすると、リストはばこがたくさんつながっている状態じょうたいです。

ペーパーマインクラフトではマスタデータを管理んりするためにっともリストを使っています。

マスタデータというのは、ちょっと解説かいせつしましたが、ゲームで使われるなんら定義ていぎデータです。たとえばブタの体力たいりょくは10で、アニメーションのスピードは8です、という定義ていぎです。

これにリストを使っています。

これがめっちゃにくい。たとえばブタのマスタデータはこちら。

1
Pig
56
0.4
1
72
5
14
10
143
1
0

リスト「_MOB_DATA」

りづらいですよね……。これをきれいにくとつぎのようになります。

ラベルバリュー
モブID1
モブめいPig
おおきさ(%)56
Half Height0.4 
Y Offset1
最初さいしょのコスチューム72
Walk Cycle Length5
アニメーションスピード14
体力たいりょく10
エサ143
プレイヤーとのなし
Costume Set Mode0
スクラッチでマイクラの<ruby>作<rt>つく</rt></ruby>り<ruby>方<rt><ruby>か<rt>か</rt></ruby>た</rt></ruby>ヒント!ペーパーマインクラフトのリミックスをベースに。を語るok-scratch ok-scratch

英語の部はまだぼくっとも解明いめいしきれてないところなので和訳わやくしてません。

あらわにするとわりやすいですが、リストデータのままだとなみづらいですね。どこのタイミングですべあらわなおして掲するようにしますね。

処理しょりながれ(ざっくり)

記:メッセージ(途)を公開しました。なのでだい3フェーズのメッセージ係はすべてを網羅していません。予めご了承ください。

ペーパーマインクラフトの処理しょりながれはおおきく3段階だんかいれます。

  • 1段階だんかい)ゲームメニュー選択せんたく
  • 2段階だんかい)メニューとおりのデータのロードや地形ちけい
  • 3段階だんかい)ゲーム処理しょり

そして3段階だんかいのゲーム処理しょりにはつぎのようなっとものがあります。

  • 植物しょくぶつ
  • モブの移うごおこなうご
  • 天気てんき
  • ひるよる
  • コマンド
  • プレイヤーやてきモブのダメージ
  • 画面がめんはしまでおこなくとシーンが切り替き かわる
  • などなど

1段階だんかいと2段階だんかいはスプライト「Stage Sprite」がメインでうごきます。

3段階だんかいらはスプライト「Processor」がメインでうごくようになります。

メッセージをたどって処理しょり

つぎのスクショは、1段階だんかいら3段階だんかいまでのメッセージのながれをバババっとけたっとものです。

1段階だんかい:ゲームメニュー選択せんたく画面がめんフェーズ

1段階だんかい最初さいしょにスプライト「Stage Sprite」らgreen flagというメッセージがおくられます。これによってすべてのスプライトの初期しょきおこなわれます。

そしてメッセージ「splash1」がおくられて、プレイヤーがゲームメニューを選択せんたくします。

プレイヤーの操つくによってメッセージ「world option」がおくられて、サバイバルモードとスキンはアレックスを使うと選択せんたくされ、すべて決定けっていにメッセージ「start clicked」がおくられて段階だんかいのゲームスタート処理しょりはじまります。

2段階だんかい:ゲームスタート処理しょりフェーズ

メッセージ「start clicked」を受け取う とると、つぎのように初期しょきがドドドっとおこなわれます。

スプライト「Stage Sprite」はメッセージ「start clicked」をおくると、自自身じしんっとも受け取う とり、ゲームスタート処理しょり開始いしします。

のメッセージがつぎ順番じゅんばんおく信されます。

  • init
  • inita
  • bring to life
  • init1b
  • init2
  • init3
  • switch mode
  • animate
  • go

最後さいごのメッセージ「go」こそが、ゲームがはじまる合です。

3段階だんかい:ゲームフェーズ

スプライト「Processor」がメッセージ「go」を受け取う とると、メインループ(ずっとブロック)がはじまります。

このループのでメッセージ「animate」がおくられつづけます。これによって様々さまざまなスプライトのアニメーションがじつおこなされるのです。

また、コマンドを使ったり、プレイヤーがダメージをけたり、長したり、天気てんきわったり、よるになったり、様々さまざまなゲーム処理しょりがこのフェーズはじまります。

そのおおくはスプライト「Processor」によって管理んりされます。

以上いじょう全体ぜんたいながれです。

さらなる詳細しょうさいについては、ペーパーマインクラフトのリミックス法をせてくれているプロジェクトの紹介しょうを参んがにしてください。

記:リミックス最おおの注意てん

ペーパーマインクラフトをリミックスするさいの最おおの注意てんは、保存できなくなる現象です。

あることをするとプロジェクトが保存できなくなり、そこまでのつく業がパアになります。

ちょう絶注意すべきおこなうご

  • エディタページで
  • プロジェクトをプレイして
  • 地形ちけいしてしまうと、

プロジェクトが保存できなくなります。普通ふつうにプロジェクトページでプレイするには問題ありません。エディタページで緑の旗をすだけでっとも問題ありません。

し、ゲームを開始いししてスプライト「Generator」が駆うごして地形ちけい(ワールドつく)をしてしまうと、それ以降は保存できなくなります。

対処法

プロジェクトが保存できなくなったら、ブラウザをじて、っともいち開きなおせばおお丈夫です。

ただ、保存してなったてんは失われます。

予防法

未然に防ぐには、ほんてきにプレイしてうごきを確めるさいなどは、いったんエディタページてプロジェクトページにしてら緑の旗をすようにします。

または、更するにこまめに保存して、さいあく保存できなくなってしまってっとも手戻りを最小さいしょうげんにすれば、そこまで恐れる必要ひつようはありません。

スクラッチでマイクラの<ruby>作<rt>つく</rt></ruby>り<ruby>方<rt><ruby>か<rt>か</rt></ruby>た</rt></ruby>ヒント!ペーパーマインクラフトのリミックスをベースに。を語るok-scratch ok-scratch

コレ以外にっとも、スクラッチの容量いっぱいまでつくり込んだ場合ばあいっとも保存できなくなるという報告があります。またはリストに万件のデータを入れた場合ばあいなどっとも保存できなくなります。

まとめ

この全体ぜんたいろんむだけでっともなりペーパーマインクラフトのリミックスがしやすくなるとっともいます。

なぜなら、最っともハードルがいのはおおきな処理しょりながれがりづらい、というてんらです。

いま回はそのおおきな処理しょりながれをかる紹介しょうしました。

さぁ、ここらリミックスへの挑戦ちょうせんはじまります!

ブクマよろしくお願いします! ブクマよろしくお願いします!
どんどん追記・更新していくので、ブックマークやシェアよろしくお願いします!

スクラッチプログラミングのゲーム攻略

スクラッチプログラミングのゲーム

    • 厳選されたスクラッチ人気作品リストがレビュー付きで楽しめます
      趣味に関するスクラッチ作品例
      勉強になるスクラッチ作品