先日、マイクロで自動処理を行う方法として、通常のサバイバルだと、レッドストーンが存在しており、クリエイティブなどでチートコマンドをオンにする(と、実績解除ができなくなるので、これはクリエイティブなどで行ったほうがいいです。)とコマンドブロックが使えるようになるので、MOBの座標情報などをコントロールするようなことまでできる様になります。その為、出来ることが一気に触れるのですが、こうした機能が、BEでも実装されているので、結構自由度の高い状態になっています。その為、

 

 ■ メインで遊ぶサバイバルのワールド

             (*)バックアップを取っておきましょう

 

 ■ レッドストーン用のサバイバルのワールド

 

 ■ コマブロなどを使ったワールド

 

 

あたりの三種類を作っておくといいかもしれません。あと、レッドストーンと建築を一緒のワールドに行うと重たいので、回路なしの純粋な建築の実の配布ワールドなどの場合、上記のプレイ用と回路用のワールド以外に建築用の物を用意することになります。

 

 とりあえず、クリエイティブで作ってテストをして、そのワールドをサバイバルに切り替えて挙動を確認して、実際にサバイバルのワールド内に作れるようだと、それをサバイバルの資材で作るという内容になりますが、クリエイティブだと大丈夫なものの、サバイバルだと動かないことがあるので、そうした事も確認するために、実際に動かしてみる必要が出てきます。

 

 

動処理                       

 

 レッドストーン回路にしてもコマンドブロックにしても、挙動制御を行うことで自動処理を行うための選択肢になりますが、自動処理と言う事は、

 

 ■ 入力(起点および発信源)

 ■ 出力(終点。もしくは、結果)

 

 

が存在することになります。つまり、出力は最初の回路を作ろうと思っていた条件の結果やもしくは、それを用いてプレイヤーが何かしらのアクションを起こすことで目的が遂行されるような結果をそこに用意することになります。

 

 その為、回路を作る場合、構造物と同じで、目的とそれに必要な結果を想定し、それを実現するためには、どう言った条件が必要かを考えることになります。この辺りはプログラミングと全く同じです。

 

 

■ 構造物を考える                   

 

 回路による自動化と言うのは基本的に 【 不便さの解消 】 を前提に考えます。例えば、一つの作業工程において煩雑で工程数が多い場合、それは同じ結果になるという条件で、もう少し改善できないだろうか?と言う事から考えることになります。

 

 例えば、丸石を得ると仮定します。この場合、マイクラでは、木のツルハシを作成して地面を掘って石の層まで到達しい石のツルハシを作り掘っていけば手に入ります。

 

 この場合、必須条件として、 

 

木以上のツルハシを所有して採掘している事

 

と言う大前提が発生します。つまり、この辺りを踏襲して考える必要があるので、この初期段階でも大丈夫な条件だとどうすればいいだろうか?と考えることにします。

 

 では、プレイヤーが採掘を行う場合に、必須となるのは、効率的に掘れるツルハシがある事、と言う条件になりますが、丸石を採掘するという条件となると、この場合、地上と地下の往復が常に発生するという問題が出てきます。また、インベントリがいっぱいになるまで掘ることができますが、それが埋まると問題があるので、拠点まで運搬するかチェストに保存する必要があるという煩雑さがあります。

 

 そうなると、これを効率化しようと思うと何が一番のロスなのか?と言うと【 移動距離 】です。というのも、丸石自体がレア鉱石でも何でもないためです。むしろ、マイクラの世界ではJEの1.13やBEの1.10では土よりも丸石は価値がないものなので、土は資源ですが、丸石は無限資源と言うが使いになっています。

 

 とはいっても、現在のJEの1.14やBEの1.11.1では石工が登場したので、石もエメラルドになる貴重な資源になったので、建材や移動手段や整地の道具としてしか使えない物ではなくなりました。ただし、丸石は無限資源であるという点は変わりません。

 

 この特性を考えると、その条件さえ理解すれば、丸石については移動距離による時間のロスをなくすことができるので、それを用いたほうがいいと言う事になります。

 

 つまり、実現可能なソリューションが存在する場合だと、時間と言うコストをかけずに済むようになるという利点が存在する訳です。

 

 この概念がそのまま当てはまるのが、丸石製造機ですが、これについては、

 

【 溶岩流れと水が隣接した場合、丸石になる 】

 

と言う特性を生かしたものですが、この場合、水流のほうが流れが速いので距離の伸ばして、下側に水を逃がす事で、溶岩の源流を侵食することなく丸石だけ映像区的に入手することが可能な物を作ることができます。

 

 これにより、丸石は永続的に生成され続けるので、生成される石を壊しながら回収すれば無限に丸石が手に入ります。

 

 ちなみに、

 

 

な感じで、

 

 

のように水が溶岩を侵食しないようにしておいて、水の側面に向かって溶岩が流れると

 

 

のように丸石化するので、それを砕くことで永久に石を得ることができます。この水流と溶岩と石のできる部分が1モジュールなので、これを前後並べていくと複数の丸石を得ることが可能になります。

 

 今のバージョンではストーンカッターが存在するので、恐ろしい効率で階段などが作れるようになりましたから、建材を作る上では丸石や錬成した石を用いた場合には資源に困ることがなく永続的にその材料を得ることができます。

 

 この条件では、水流の類を二種類使うので、水流の特性を知る必要があります。その時に、速度差と言う物が存在し、その接触に寄る特性で丸石ができるという条件からこうした物ができる訳ですが、拡散しないような通路を構築し、その上で回収可能な場所(丸石ができる場所)を用意することで、丸石を生成し回収することが可能になります。この機構の便利な点は、一つの溶岩と水源を用いた構造物は、1つのモジュールなので、このモジュールを縦長に並列化を行えば、その数分だけ丸石が一気に生成されるという点です。つまり、溶岩と水加工陸強化のエンチャントのついたダイヤのツルハシで破壊することは不可能ですからいいとして、ツルハシが当たりそうな場所は黒曜石で囲っておけば、その水流と溶岩流がおかしな場所に流れ出したり、機構を破壊することはありません。

 

 そうなると、一度に数個の丸石を回収できるような構造物を作ることができます。

 

■ 問題と解決                      

 

 前述のように、丸石製造機のモジュールを構築した場合、並列化が可能になりますが、この並列化を行った場合、【 回収できなくなる 】と言う問題が発生します。そもそも、丸石製造機の場合、その場所にある物をプレイヤーが回収できるという仕様なので、問題がないのですが、これを回収しようと思うと構造を考える必要が出てきます。そうなると、並列処理をする場合、丸石ができる場所の真下にラージチェストとそれにつながったホッパーを用意して回収することになります。

 

 しかし、角度を間違うと効率強化IIIのダイヤのツルハシだと一撃でホッパーを破壊してしまうので機構が破綻してしまいます。そうなると、黒曜石を下に敷いて、ホッパー付きトロッコを往復させてラージチェストに送るような仕様にしたほうが破壊リスクもなくなって影響がクスなくなります。

 

 この条件で考えると、 【 全ての場所の丸石を回収する 】 と言う条件と回収機構がない条件だとそれが実現できないという問題の解消法として、 【 回収用の別の機構の実装 】 と言う選択をすることになるのですが、基本的に、この回路の構成が、

 

 ■ 丸石製造機

 ■ ホッパー付きトロッコ方式の回収機構

 

のような全く異なる挙動の構造物が連動して動くことで実現している物になります。

 

 基本的に、丸石を集めるという条件で考えると、

 

 ■ 丸石の採掘が行えること

 ■ 丸石の回収が行えること

 

の二つの条件ですが、回収機構というのは、ラージチェストにそのまま送り込む構造物ですから、チェストの中に収納する時間も削減できるわけです。

 

 このように、目的が明確化している場合、何をするのか?ははっきりしていますから、その中で、自動化が可能な物だと、それを効率的に処理する方法を考えて実装することになります。

 

 この時に、仕様の理解が必要になりますから、何をすればどうなるのか?と言う挙動を熟知し、それを使用してくことになります。

 

 

 造の理解                     

 

 マイクラの序盤では、水流を使ったソリューションを多く使うことになりますが、UPDATE AQUATICから水中が以前よりも面白い挙動をするようになりました。それは平面的な移動と引力に影響された挙動だけではなく、

 

 ■ マグマブロックによる下降水流

 ■ ソウルサンドによる上昇水流

 

の追加です。これによって、エレベーターも革命的な変化が発生しました。エレベーターと言うとピストン方式がありますが、BEの場合、現在は買う改装に出口柄お作っておいて看板でせき止めておけば、の墓地の水流エレベーターはその場所で出口方向にキー入力をしておけば降りることができる様になっています。つまり、各階にドアなどで出入り口を作っておけば、そこで降りることのできる上り用の水流エレベーターを作成できます。これは、水流の仕様によって実現できている物になります。あと、トラップも現在では少し変わっているのですが、マグマブロックの取り扱いが、必ず引き込む水流を生み出す物になりましたから、水流が上にあれば確実にマグマブロックでダメージを与える状態に変わりました。

 

 この仕様の変化で機構の構造も色々と変わりました。例えば、ガラスエレベーターではなく、現在は水流エレベーターと言う選択肢が登場していますから、ソウルサンドがあると、上層階に存在するチェストに向かってアイテムを移送することができる様になっていますし、その構造も、水流ドロッパーの構造で、ドロッパーで出したものを水流エレベーターで打ち上げてその水流のああい上部から更に上層階に住水流でアイテムを送り、それをホッパーで回収してラージチェストに送ると言う事が可能になっています。この方式だと、ガラスエレベーター方式と、インベントリを持ったドロッパーを繋いでトーチタワーで信号を送りクロックさせて上にあげる方式がありますが、UPDATE AQQUATIC以降は、水流で上にあげるという選択が登場したわけです。

 

 これに伴い、MOBが階段を昇らなくなり、現在のソウルサンド方式の

トラップが生まれたわけですが、回路については、アップデートに関連

する機能が含まれている場合、改変の必要が出てきます。というのも、

それ以前は、水源と会談を交互に用意しておけばmOBが勝手の昇る

ので、落下ダメージを与える場合そう言う構造にしておけばよかったわ

けですが、UPDATE AQUATICからそれが使えなくなっています。つま

り、旧ハードのコンソール版もUPDATE AQUQTICまではリリースされ

ているので、階段と水源方式のトラップだとまともに機能しなくなってい

るはずです。

 

 今回のアップデートは、村ですが、これに伴い、村判定が変わりました。その為、村人増殖の方法が変わったため、前のバージョンまで動いていたアイアンゴーレムトラップは壊れています。というのも、ドア判定がベッド判定に変わってしまったためです。これに伴い、木材だけで作れるドアから、ベッドと言う【 羊毛の大量生産の必要性がある何か 】に変わってしまったので、

 

 【 仮に近くに村があっても体験版で村人蔵書r苦などは実質的に

   不可能になった 】

 

訳です。と言うよりも、過去にBEの体験版で村人増殖を何度かやっているので、ドア方式だと村さえあれば、アグレッシブな木こり活動とプチ露天掘りのような穴掘りとガラスを焼く作業によって90分以内に村人を増やす事はできましたから、実際にそれが行えるのは確かです。

 

 しかし、現在は、木材ではなく羊毛+木材を要するベッドなので、羊毛の大量取得と言う条件が付きます。そうなると、とんでもない時間がかかるので、90分ではとてもでは有馬園が作れません。そのため、過去のバージョンと現行版では全く違います。とはいっても、旧ハードは、ドア判定のUPDATE AQUATICなので、ドアを置いて日影ができるように遮蔽物を置いてガラスと不透過ブロックの巣トライイプな屋根を作った埋没式の物や一人だけ高台に別途の集まりの場所に住んでいる村人を用意して下の世界の無駄人を増やす方法のいずれかで増えるはずですが、JEとBEのVillage AND Pillage UPDATEではその方式が全く使えなくなっています。つまり、村の判定がないと言う事は、ゴーレムも生まれないので、ジ・アイアンタイタンまで潰れていると言う事になります。つまり、1時間で数千個の鉄が生まれる恐怖のゴーレムトラップも 【 場所によっては魚が取れる骨粉用の微妙なトラップ 】になっているはずです。というのも、バイオームによっては魚がスポーンするので、トラップで骨がドロップするので、弓矢の落ちないスケルトントラップの劣化版のような挙動になっているはずです。その為、仕様が変わると機構の作りもその条件に合わせて改変する必要が出てきます。

 

■ 自動で動く条件                   

 

 回路を作る場合、自動で動く物が存在しますが、丸石製造機などは、水流の挙動と言う仕様によって自動で動きます。アイアンゴーレムトラップや村人増殖なども、ゲームの仕様と村判定などによってそれが成立しています。現在は、ゴーレムトラップを作るともれなくネコまで巻き添えになるので、クモの糸まで増えるトラップになっており、魚のスポーンする場所だと、

 

【 クモとスケルトンでもスポーンしているのではないだろうか?と

疑ってしまうようなアイテムの状態 】                   

 

になります。このように仕様の変更で過去の機構もまともに機能しなくなることもあります。

 

 この破綻と言うのは、元々参照しているモジュールの挙動が破綻しているので、 そのモジュールを使用に合った状態で再構築すれば改善しますが、アイアンゴーレムトラップは安定して数が増えるような条件ではないようですから、その辺りは他の機構とは少し違うようです。

 

 

■ 挙動の理解                     

 

 自動で動く物にはレッドストーン信号がありますが、信号と言うのは、オンの時に機能してオフの時に機能しなくなります。これは電気信号と全く同じ挙動なので、電子回路を組む時に使用する論理演算回路などを実装して制御することができます。この仕様は1BITのデータをどう扱てT信号をコントロールするか?になりますが、その上で開度の挙動を想定した場合にどう言った形で動く物をT来るかを考えることになります。マイクラの回路シミュレーターが存在し、オフラインの物とオンラインでブラウザで挙動確認が行えるものが存在していますが、

 

 ■ Mordritch’s JavaScript Redstone Simulator

   http://mordritch.com/mc_rss/ 

 

 

を使うと、ある程度の回路の挙動の確認ができます。

 

 ちなみに、

 

 

 

のようなuiになっていますが、こんな感じで、NOT回路を組み合わせたクロック回路も実行するとクロックします。その為、イメージした物を動かしてみる上では簡素な構造だとテストができます。ただし、実装されていないセンサー系はテストができないのでクリエイティブで作るしかありません。

 

 NOT回路ですが、

 

 

のように組み合わせる数で構造が変わります。まず、右側のものが単独での挙動です。これは信号を反転させる機能があります。次に、二つ組み合わせると、片方のスイッチではオンとオフができず、もう片方のスイッチがリセットの意味を成すラッチ回路が出来上がります。つまり、スイッチは信号のオンをすることが可能ですが、リセットをする場合にはもう片方のスイッチを押す必要があります。

 

 そして、3つ組み合わさるとクロック回路になります。これは、

 

  【 信号がない時 】

 

     ON => OFF => ON

 

  【 信号がある時 】

 

     OFF => ON => OFF

  

となります。つまり、何も信号がないときには、最初の状態で信号が送られます。すると、最初のNOT回路には、信号が着た状態になるので、信号がある時の状態に切り替わります。そうすると、次に信号を受けた時にはオフになるので、最初の状態に戻るので、ある時とない時の状態が交互に繰り返されます。3つ以上の奇数でNOT回路を組むとクロックするのですが、数を増やすとその分クロックに遅延を与えることができます。

 

 これが信号の反転で使用するNOT回路の特性です。

 

 

 先日、

 

■ マイクラ

 

 

 

のようなのを作りましたが、これも信号の反転によるものです。ここではピストンを使っていますが、吸着ピストンを使った場合だとこれを一つのピストンで処理できます。同じことを行う場合でも回路の構成は、

 

 

のような感じで仕様が変わってきます。また、おポストンの場所によっては吸着ピストンの場合、NOT回路すら必要がなく、信号を送る感圧版やレバーやボタンと吸着ピストンだけでブロックを移動させることができます。

 

 回路は信号の判定で処理をすると書きましたが、二つの条件が一致した場合と複数の場家のいずれかで動作する物を作る場合、and回路やOR回路を組むことになります。マイクラでは、NANDとORについては簡単な構造で作れます。

 

 

がそうなりますが、左がORで右がNANDです、ORについてはいずれかのボタンを押せば信号がいく回路で、NANDは双方の信号がオフの条件でも信号が出る仕様になっています。ただし、ANDの逆なので、信号が切れる条件はANDのように双方に信号が出ている場合のみです。この回路をは入力と出力を経こうすると全く別の回路になります。

 

 

 

のようにすると、左側は信号の単純な反転ですからNOT回路になり、NANDを反転させるとAND回路になるので、双方の信号が来た時のみ信号が出るような条件を組むことができます。このように特定の条件が揃った場合に信号を出すような仕様にした場合、その信号を反転させて、それ以外の状態を検知したり、複数の処理が行われている場合にいずれかの回路が動いた場合に反応する(セキュリティーのセンサーみたいな仕様ですね。)ような作りや、福栖の条件が同時に発生しないと動かないような構造物も構築できます。

 

 これは、信号の伝達の基本的なオンとオフの1BIT信号の推移なので、これはエディションやバージョンに関係なく共通した仕様になります。回路においては、そう言った挙動の根幹となる信号の伝達における基本的な挙動が存在しているわけですが、モジュールの挙動で出た信号の判定を行う場合や制御を行う場合、こう言った論理演算回路を用いることになります。

 

 回路を組む場合、ブロックの特性を知る必要がありますが、レッドストーン関連については、その動作がどういう物かと言う特性を知る必要があります。

 

 

■ 信号の発生源                    

 

 これは、回路が動くための条件になりますが、これがレッドストーン信号の場合、考え方は電源と同じなので、信号の発生になります。

 

 信号の発生を行う場合、通常はレッドストーンを用いることになるので、

 

 ■ レッドストーンブロック

 ■ レッドストーントーチ

 

になります。この二つが信号の発生源ですが、トーチは水で流れて、ピストンで押すとアイテム化しますが、ブロックは水で流れることもなく、ピストンで押すことができます。その為、

 

 

のようにホッパータイマーのようなピストンでレッドストーンを押して動かす回路も構築できます。また、加速レールを付ける場合、

 

 

のような感じでレッドストーン信号を送ることになりますが、これをブロックで行うことができます。ブロックを使えると言う事は、空中に浮いた状態で信号を出せると言う事ですから、レールの下をレッドストーンブロックを置くだけで動作させることができます。

 

 

のように地中に埋める場合はいいのですが、天空トラップなどに移動する場合高い場所にレールを引くことになりますが、その時に階段状にしたブロクの一つをレッドストーンブロックにするだけで信号が流れるというのはかなりメリットがあります。

 

 信号の伝達における、信号の発信源はこれになりますから、トーチを使ったものは信号の伝達を行えることになります。つまり、NOT回路も後ろから信号が来ていない場合にはトーチと同じ働きになりますから、ブロックの上にトーチを配置した物と同じような挙動になります。

 

 

■ 条件判定                       

 

 前述のように信号が来ている場合、その信号の1bitの情報を論理演算で条件判定を行い、信号の有無を決定することが可能ですが、条件判定には、もう一つ 【 挙動の判定 】 と言う物があります。これを行うのがセンサーです。

 

 現実世界でも多くのセンサーが存在していますが、普及率の高いスマホやタブレットにおいても、加速度センサーを実装していますし、ガジェットだけでも結構なセンサーを実装しています。そしてその戻り値を使ったアプリケーション開発が可能です。この時に、JavaScript(公式の物ではなく、拡張機能になります。)で制御できるようになっていますが、現実世界のガジェットは結構な種類のセンサーを持ち色々な戻り値を取得できるようになっています。ゲームにおいては二世代前の物でそう言ったセンサーを用いた物が一気に登場したわけですが、その中にはRGBAカメラや画像解析処理なども含まれますが、コントローラーに加速度センサーなどが実装され挙動で操作できるようになりました。Wii-Uがそう言ったコントローラーを複数出していましたが、ヌンチャクとかWii-Fitなどもそう言った物になります。

 

 そのようにセンサーによるデータを数値化してそれを元に条件判定を行い処理を行うというのは、ゲーム機が登場した当初からコンセプトとして存在していましたから、12年以上前にはそう言うコンセプトが存在したことになります。

 

 とは言っても、現在のVRグラスなどで実装されているヘッドトラッキングの仕様はPCのMHDが登場した時点でそうん材していましたから、センサーを用いた視点変更については、その時代から存在していましたから、ゲームでそう言ったセンサー用いられていたのは結構前から使用されていました。

 

 センサーに追ってはマイクラでも使用できますが、これはネザーにしか存在しない 【 闇のクォーツ(ネザークォーツ) 】 を使ことになりますが、

 

 

 ■ 日照センサー

 ■ コンパレーター

 ■ 観察者

 

 

と言う三つのセンサーが存在します。これについては、

 

【 日照センサー 】

 

  夜や日中で信号が出る。

  時間ごとの太陽の状態で信号の長さが変化するため、

  信号1の条件の夜明け~夕暮れの条件とその逆を基準

  に使うことが多い。コンパレーターで信号を伸ばすと信

  号1以上の条件だとリピーターで延長すると日中と夜の

  二値で機能する回路を組める

 

 

【 コンパレーター 】

 

  インベントリチェッカーなので、インベントリのあるブロッ

  クの状態を検知してその比率に応じて信号の長さが変

  化する。

 

 

【 観察者(オブザーバー) 】

 

  ブロックアップデートを検知して信号を送る。

  空気ブロックから何かに変わった状態変化や植物の成

  長などブロックの状態変化が発生した時に信号が出る。

 

 

と言う三つがあります。日照センサーについては、レッドストーンランプと組み合わせて夜だけ光る照明を作ることも可能ですし、夜だけや昼だけ機能する物を作る場合には、信号を二値化していずれかの条件で信号が1以上出ている状態で反応させてそれをリピーターで延長するとそう言う回路が作れますが、信号の長さに応じて変化するような物を作る場合だと、二つの日照センサーを使って信号をコントロールすると昼と夜の双方で時間の推移で挙動を変える回路を作ることができます。と言っても、この場合、信号の分岐などをして回路の混戦を避ける必要がありますが、そう言った特殊な使い方もできます。

 

 日照センサーは、現実世界の10分で動作させることもできるので、長い周期で機能する回路を作成できます。つまり、信号の発生は太陽の条件の検知で、それを元に信号が出る仕様になっています。

 

 

 コンパレーターはチェストの中身がどんな状態なのか?を判定してそう対比で信号が出るような仕様になっています。ラージチェストは二つのチェストと言う判定なので、単一でラージチェストの判定と言うのはできなかった気がします。今回からタルやコンポスターが増えましから色々な信号を得ることが可能になりましたが、その中には司書の職業ブロックの書見台もページ数で信号の長さが変わる仕様になっています。

 

 コンパレーターと言うと、

 

 

のようなホッパータイマーや、仕分け機においても

 

 

 

のような感じで使用することになります。

 

 観察者(オブザーバー)では、ブロックアップデートを行いますから、植物の成長などを検知して収穫する場合などで使用できます。当然、これはセンサーですから、プレイヤーを検知して慎吾王を出してドアを開いたり、ピストン方式のドアを動かすという子tも可能ですが、以前、PS3板で作った

 

■ PS3のマイクラ(82日目)

 

で作った三方向にディスペンサーを用意して上でブロックアップデートを検知して骨粉散布するような構造の物も観察者のブロックアップデート検知になります。あと、日照センサーと観察者だと、PS3の時にリピーターのロック機構を使った回路とピストン方式の自動収穫期をワールド内に実装しましたが、これもセンサーがなければ機能しない回路になります。

 

■ PS3のマイクラ(104日目)

 

製品版だと時間お制約がないので、トータルで時間をかけると色々なことができますから、体験版の90分のタイムトライアルのような状態にならないのですが、ネザーに行った後だと、こう言った回路も作れるようになります。

 

■ スイッチ                        

 

 信号の発信源と言うとこれになりますが、マイクラでは、

 

 ■ ボタン

 ■ 感圧版

 ■ レバー

 

が存在します。最初の二つは接触時に判定があり、離れると切れる仕様で、レバーは信号のロック機能があります。

 

 条件が満たされると信号が出るので、接触と言う条件判定や操作によるレバーの状態変化で信号をコントロールできるものになります。

 

                                

 

 起点となる信号の発生については、

 

 ■ 手動

 ■ 自動(信号自体が出るもの)

 ■ センサー検知

 

の三種がありますが、製作する回路ではどれを用いることになるのかを考えて使用することになります。