さきほどブログの新しい記事を書いてきました。
なんかもっとたくさん記事書いてるつもりでしたけど、意外とそうでもないんですね。
まあ、没になってる記事もあるのでそう思うのかもしれません。
あと、英語を翻訳するのって結構神経を疲れるんですよね。素人だからだと思いますが。
さて、タイトルの話です。こないだYoutubeを見ていたら、偶然蒼焔の艦隊のCMをみて、面白そうだったので先行登録をしてみました。(ホームページはこちら。TwitterIDorメールアドレスで登録できるので皆さんいかがですか?)
あのCMは、沢城さんがナレーターだそうですね。
ゲームは今夏リリース予定とどこかで見た気がするのですが、いったいいつリリースされるんでしょうかね...
当初は8月中にはリリースされるとみていたんですけど、この感じだと8月中はおそらくないんでしょうね...残念です...
気長に待ちたいと思います。
それでは、また別の記事で。Mokerでした。
2017年8月24日木曜日
【OpenComputers】Component(構成パーツ)のAPIを利用する方法
※これは、公式Wikiのページ(http://ocdoc.cil.li/component:component_access)を翻訳し、一部補足を加えたたものです。(2017/08/24)
Component APIの一覧は、http://ocdoc.cil.li/api:componentを参照してください。
以下、※はおもに訳注を表します。
<本文>
このページでは、Component(構成パーツ)のAPIをLua内で利用する方法を説明しています。おさらい:Componentとは、接続されたコンピューターで実行されているLuaプログラムにたいして、何らかのAPIを提供する、ブロックやアイテムのことを指します。
(※Computer APIやRobot APIなどはここでいう構成パーツには含まれないと思われます。これらを利用するには、require("xxx")を用いてください。)
なお、かわりに、component.getPrimary("xxx")を用いることもできます。(※component.xxxはcomponent.getPrimary("xxx")のシンタックスシュガーです。)
もし、プライマリーコンポーネントが存在しない場合(指定された種類のComponentが一つも接続されていない場合)、これはエラーを返すことに注意してください。先に、component.isAvailable("xxx")を用いて、確認することをお勧めします。
Component APIの一覧は、http://ocdoc.cil.li/api:componentを参照してください。
以下、※はおもに訳注を表します。
<本文>
このページでは、Component(構成パーツ)のAPIをLua内で利用する方法を説明しています。おさらい:Componentとは、接続されたコンピューターで実行されているLuaプログラムにたいして、何らかのAPIを提供する、ブロックやアイテムのことを指します。
(※Computer APIやRobot APIなどはここでいう構成パーツには含まれないと思われます。これらを利用するには、require("xxx")を用いてください。)
アドレス
Componentには、それぞれアドレスが設定されています。このアドレスはUUID、すなわちほかの機器とかぶることのない、オンリーワンなものです。多くの場合、アドレスは短縮表記することが可能です。(※つまり、同一コンピューターに接続されたものの中でかぶらなければ、先頭の数文字のみで元のアドレスと同等の意味を持ちます。イメージはかるたの決まり字のようなものです。)たとえば、短縮表記されたアドレスから、元のアドレスを取得するには、component.get()を用います。特定のブロックのアドレスを調べるには、Ctrlキーを押しながら、Analyzerをもって右クリックしてください。
コンピューターに接続されたComponentの一覧を取得するには、次の通り実行してください。http://ocdoc.cil.li/_export/code/component:component_access?codeblock=0
アイテムは、通常、コンピューターから取り外されたあとでもアドレスを保持します。よって、Hard Driveを一度取り外し再び挿入してもアドレスは変化しません。ただし、これは、ブロックには適用されません。ブロックは破壊し、再度設置すると、毎回新たなアドレスへと変化します。
プライマリーコンポーネント
1種類につき1つのComponentが、プライマリーコンポーネントとして登録されます。もし同種類のコンポーネントが複数ある場合は、プライマリーコンポーネントはランダムに決まります。プライマリーコンポーネントにアクセスするには、component.xxx(xxxにはComponentの種類をいれてください)を用います。
たとえば:http://ocdoc.cil.li/_export/code/component:component_access?codeblock=1なお、かわりに、component.getPrimary("xxx")を用いることもできます。(※component.xxxはcomponent.getPrimary("xxx")のシンタックスシュガーです。)
もし、プライマリーコンポーネントが存在しない場合(指定された種類のComponentが一つも接続されていない場合)、これはエラーを返すことに注意してください。先に、component.isAvailable("xxx")を用いて、確認することをお勧めします。
プロキシ
さて、Componentのアドレスの取得方法はわかりましたから、次は、Componentの利用方法について学びましょう。これには、2通りの方法があります。第一に、component.invoke(address, method, ...)を呼び出す方法です。たとえば、http://ocdoc.cil.li/_export/code/component:component_access?codeblock=2
しかし、推奨されている方法は、もう一つの方法、プロキシを取得する方法です。プロキシは、簡単に言えば、API callbackごとに一つの関数を提供するテーブルです。(※この文は原文が理解できませんでした。おそらく、プロキシは関数のテーブルである、という意味だと推測します。)加えて、それぞれのプロキシは2つの要素変数をもちます。addressとtypeです。プロキシは次のように、取得することができます。http://ocdoc.cil.li/_export/code/component:component_access?codeblock=3
component.getPrimaryやcomponent.xxxは実際にはこのプロキシを取得する関数です。
(※以下は、個人的には知らなくてもあまり困らない情報だと思います)
Direct Calls
一部のcomponentのcallbackはdirect callsとして実行されます。Direct Callsはコンピューターのworkerスレッド内で実行されるため、素早く応答します。通常の呼出しでは、競合やその他のスレッドの問題が起こるのを避けるため、メインのサーバースレッドにおいて実行されます。この場合、1tick(50ms)を必要とします。ただしこれはComponent APIのみに適用されることに注意してください。
Signals
componentを利用する際に重要なものに、Signals(原文)があります。これは、componentが外部環境の変化やイベントをコンピューターに知らせるために送るものです。たとえば、ユーザーによる入力はsignalsを利用してcomputerに伝えられます。コンピューターは、自身のsignalsを送ることもできます。これは、コードの再利用やコード内の別の部分に対して非同期的に情報を送るのに役に立つことがあります。
2017年8月16日水曜日
【OpenComputers】ケーブルの染色について
<環境>
Minecraft : 1.10.2
Forge : 12.18.3.2185
OpenComputers : 1.6.2.7
まずケーブルのレシピは次の通り
1.6からケーブルの染色が可能になった。
染色すると別の色のケーブルとは接続しなくなる(ただし、無色のケーブルとは接続する)
染色するには、次の2通りの方法がある。
また、脱色するには次の2通りの方法がある。
Minecraft : 1.10.2
Forge : 12.18.3.2185
OpenComputers : 1.6.2.7
まずケーブルのレシピは次の通り
1.6からケーブルの染色が可能になった。
染色すると別の色のケーブルとは接続しなくなる(ただし、無色のケーブルとは接続する)
染色するには、次の2通りの方法がある。
- ケーブルと染料をクラフトする
- 染料を手にもってケーブルを右クリック
また、脱色するには次の2通りの方法がある。
- 水バケツとクラフトする(水は消費されるが、バケツは消費されない)
- 薄灰色の染料で染色する(なぜか、アイテム欄ではdyed=染色済みと表記されるが、挙動は無色のものと同じだと思われる)
2017年8月9日水曜日
【OpenComputers】1.6リリースノート
<注意>
この記事は、公式のリリースノートの一部を勝手に翻訳したものです。
情報はあくまで自己責任で利用してください。
間違い等あれば指摘お願いします。未翻訳部分の協力大歓迎です。コメントください。
基本的にはバグフィックスなどは訳しません。
原文はこちら
より分かりやすいまとめを後日作る予定です。
<本文>
この記事は、公式のリリースノートの一部を勝手に翻訳したものです。
情報はあくまで自己責任で利用してください。
間違い等あれば指摘お願いします。未翻訳部分の協力大歓迎です。コメントください。
基本的にはバグフィックスなどは訳しません。
原文はこちら
より分かりやすいまとめを後日作る予定です。
<本文>
- ラックに格納可能なフロッピーディスクドライブを追加
- inventory controllerを使ってインベントリが操作できるように
- RotaryCraft powerに対応(AE2と同じ変換効率)
- GPUがviewport(表示範囲?)を定義できるようになった。これによって、電源がオフになったスクリーンからデータをコピーできるようになった(?)
- ケーブルが自身の色を記憶(?)するようになった。染料とクラフトすることで染色可能
- 1.8.9においてIC2へ再対応
- レンチとクラフトすることで、loot diskが循環するようになった(プログラムが切り替わるようになった?) (レンチは消費されない).
- Device info APIを追加した。computer.getDeviceInfo()を用いて属性情報を知ることができる。
- computer.getProgramLocations() APIを用いることで、存在しないプログラムを実行しようとしたときに、役立つ情報を得ることができる(こともある)。
- Trading upgradeを用いて、村人と貿易できるようにした。
- カスタムHTTPリクエストヘッダを定義できるようになった.
debug.playSoundAt(gamax92).- クラフトをリクエストするときにAE2 CPUを特定するためのパラメーターを追加
- ThaumicEnergisticsに対応
- Hover bootsを染色することでライトの色を変更できるように
- サーバーのネットワークアクティビティインジケーターを追加
- ブラジル系ポルトガル語の翻訳に対応
- ラックの機能を変更した。サーバー以外のものも格納できるようになった。またより柔軟に接続できるようになった(?)
- ラックに搭載可能な新型のRemote Terminal Serverが導入され、Remote Terminalはそちらに紐づけられるようになった。
- フロッピーが挿入されているか確認したり、フロッピーを排出(取出)したりするComponentをDisk Driveに追加した。
- 今までGeolyzerのスキャン範囲は円のみだったが、任意の立方体範囲も利用可能になった。ただし、合計の体積は円の体積を超えてはならない。
- いくつかのレシピを変更した。高ティアにおいてダイアモンドの消費が急激に増えることを防ぐため、diamond shardsやchipsを導入した。
- より読みやすいunsciiというフォントをスクリーンに導入した。もし気に入らない場合は、リソースパックを用いて古いフォントを復活させることができる。
- OpenOS got a major overhaul, in particular term related things, and また、いくつかのビルトインプログラムが追加された。 This would deserve a changelog of its own, really...
- Added sided version of block drivers, deprecated non-sided one
- Processors/Memory may now define a provided call budget.
- スキャンエリアの自由化に伴い、Geolyzerがイベントにかかわるようになった。
2017年4月11日火曜日
【OpenComputers】Computerをつくってみよう
OpenComputersで最も基本になるのが、Computerです。
OpenComputersになれるためにも、ぜひとも、作ってみましょう。
(英語のわかる方には、公式チュートリアルを参照することをお勧めします)
現実世界のデスクトップコンピューターをイメージしながら読むと、わかりやすいかもしれません。
レシピは公式Wikiもしくは、Just Enough Itemsのようなレシピmodで確認してください。
なお、バージョンは、OpenComputers1.6.2.7です。
それでは、説明していきます。
まず、必要となるのが、Computer Caseです。
Computer Caseは4種類あり、内1種はクリエイティブ専用です。
残りの三種にはTier1、Tier2、Tier3と名前がついており、Tierが高くなるほど、より多くのパーツを組み込むことができ、また、よりTierの高いパーツを組み込むことができます。ただし、その分、製作コストはあがります。
今回はTier1のComputer Caseを使っていきましょう。
さて、クラフトしたComputer Caseを適当な場所に設置し、右クリックすると、次のようなGUIが表示されます。
それぞれのスロットにパーツを入れることによって、コンピューターが組みあがっていきます。
なお、それぞれのスロットの背景画像は、入れられるパーツの種類を、右下の数字は、入れられるパーツのTier数の上限を表しています。
たとえば、右上のスロットは、HDD系のTier1までのパーツが入るわけです。
では、パーツの選定を行いましょう。
コンピューターに最低限必要なパーツは次の通りです。
Memoryは1枚でも動くことは動きますが、2枚あった方がよいでしょう。
また、パーツ一覧中にかいてある、Hard Disc Driveには初期状態では、OSは書き込まれていません。そこで、外付けのディスクドライブを用いて、OS入りのフロッピーをよみこませ、後で、HDDにインストールする、という手段をとります。
さて、それでは周辺機器をつくっていきましょう。
周辺機器は、Computer Caseに隣接して設置するか、Computer Caseとケーブルを介して接続することで、Computerに認識されます。今回は、隣接して設置していきましょう。
今回使用する周辺機器は、次の通りです。
問題は、Keyboardです。キーボードは設置位置が少し特殊です。スクリーンの上面、側面、底面に設置するか、スクリーンの前に設置してください。
あと一つクラフトしなければならないものがあります。
そうOSの入ったフロッピー(Open OS Floppy Disk)です。
クラフトしたら、DiskDriveを右クリックして、GUI内のスロットにフロッピーを入れてください。
さて、ここまででコンピューターは完成しました。
ただし、buildcraft、ic2、TEなどの工業MODが入ってる場合、コンピューターにエネルギーを供給してやらなければいけません。Computer Caseにエンジンを接続してください。
(入ってない場合は不要です)
電源を早速入れてみましょう。
Computer Caseを右クリックして、GUIを開き、電源ボタンを押してください。
起動すると次のような画面が表示されるはずです。(一部文章が違うことがあります。)
(もし、起動していないようであれば、コメント欄等で教えていただければ幸いです。)
それでは、OSをHDDにインストールしましょう。
まず、「install」コマンドを実行してください。
そうすると、"Install OpenOS?"と表示されて、入力を求められるはずです。
そこでyを入力し、エンターキーを押してください。
これが表示されれば、もうOSのフロッピーは必要ありませんから、フロッピーディスクを取り外してかまいません。(もっと言えば、Diskdriveも破壊してかまいません。ちなみに素手で破壊することが可能です。)
"Reboot now?"に対しては、yを入力してください。
再起動が始まります。
これで、コンピューターのセットアップは完了です。
それでは、お疲れさまでした。
--2017/08/26 一部追記、変更--
--2018/04/22 一部追記--
OpenComputersになれるためにも、ぜひとも、作ってみましょう。
(英語のわかる方には、公式チュートリアルを参照することをお勧めします)
現実世界のデスクトップコンピューターをイメージしながら読むと、わかりやすいかもしれません。
レシピは公式Wikiもしくは、Just Enough Itemsのようなレシピmodで確認してください。
なお、バージョンは、OpenComputers1.6.2.7です。
それでは、説明していきます。
まず、必要となるのが、Computer Caseです。
Computer Caseは4種類あり、内1種はクリエイティブ専用です。
残りの三種にはTier1、Tier2、Tier3と名前がついており、Tierが高くなるほど、より多くのパーツを組み込むことができ、また、よりTierの高いパーツを組み込むことができます。ただし、その分、製作コストはあがります。
今回はTier1のComputer Caseを使っていきましょう。
さて、クラフトしたComputer Caseを適当な場所に設置し、右クリックすると、次のようなGUIが表示されます。
それぞれのスロットにパーツを入れることによって、コンピューターが組みあがっていきます。
なお、それぞれのスロットの背景画像は、入れられるパーツの種類を、右下の数字は、入れられるパーツのTier数の上限を表しています。
たとえば、右上のスロットは、HDD系のTier1までのパーツが入るわけです。
では、パーツの選定を行いましょう。
コンピューターに最低限必要なパーツは次の通りです。
- CPU
- メモリ
- BIOSが書き込まれたEEPROM
- OSが書き込まれたハードディスクorフロッピー
- EEPROM(Lua BIOS)
- Graphics Card
- CPU Tier1
- Memory Tier1 x2
- Hard Disc Drive Tier1
Memoryは1枚でも動くことは動きますが、2枚あった方がよいでしょう。
また、パーツ一覧中にかいてある、Hard Disc Driveには初期状態では、OSは書き込まれていません。そこで、外付けのディスクドライブを用いて、OS入りのフロッピーをよみこませ、後で、HDDにインストールする、という手段をとります。
さて、それでは周辺機器をつくっていきましょう。
周辺機器は、Computer Caseに隣接して設置するか、Computer Caseとケーブルを介して接続することで、Computerに認識されます。今回は、隣接して設置していきましょう。
今回使用する周辺機器は、次の通りです。
- Screen
- Disk Drive
- Keyboard
問題は、Keyboardです。キーボードは設置位置が少し特殊です。スクリーンの上面、側面、底面に設置するか、スクリーンの前に設置してください。
あと一つクラフトしなければならないものがあります。
そうOSの入ったフロッピー(Open OS Floppy Disk)です。
クラフトしたら、DiskDriveを右クリックして、GUI内のスロットにフロッピーを入れてください。
さて、ここまででコンピューターは完成しました。
ただし、buildcraft、ic2、TEなどの工業MODが入ってる場合、コンピューターにエネルギーを供給してやらなければいけません。Computer Caseにエンジンを接続してください。
(入ってない場合は不要です)
電源を早速入れてみましょう。
Computer Caseを右クリックして、GUIを開き、電源ボタンを押してください。
起動すると次のような画面が表示されるはずです。(一部文章が違うことがあります。)
(もし、起動していないようであれば、コメント欄等で教えていただければ幸いです。)
それでは、OSをHDDにインストールしましょう。
まず、「install」コマンドを実行してください。
そうすると、"Install OpenOS?"と表示されて、入力を求められるはずです。
そこでyを入力し、エンターキーを押してください。
そうすると、インストールが始まります。
インストールが完了すると、次のような画面が表示されます。これが表示されれば、もうOSのフロッピーは必要ありませんから、フロッピーディスクを取り外してかまいません。(もっと言えば、Diskdriveも破壊してかまいません。ちなみに素手で破壊することが可能です。)
"Reboot now?"に対しては、yを入力してください。
再起動が始まります。
これで、コンピューターのセットアップは完了です。
それでは、お疲れさまでした。
エラー対応表
一部のエラーは、analyzerでshift+右クリックで確認できます。
"Not Enough Energy":電力不足。
"no bootable medium":OSが見つからない。OSフロッピー+diskdriveかOSインストール済みのHDDをセットすること。
"no bios found":EEPROM(Lua BIOS)をセットすること。
"No ... is installed in ~":...のパーツが足りません。セットすること。
「うまく起動しない」:analyzerでエラーを確認すること。もしエラーが起きてないのであれば、画面がついてないだけの可能性もある。graphics cardが設置されてるか確認すること。
「起動はするが、入力できない」:キーボードを正しく設置すること。
--2018/04/22 一部追記--
2017年4月9日日曜日
お久しぶりです。
お久しぶりです。
前回の投稿から何ともう一年半たつんですね。
艦これについていえば、もう半分引退勢になってしまいました。
Minecraftでは、最近は、ずっとComputerCraftにはまっていたのですが、いろいろ調べているうちに、OpenComputersのことを知りました。
面白そうだな、と思ったのはいいものの、全然日本語の情報がなかったので、自分でまとめていきたいと思い、このブログに舞い戻った次第です。
ところで、久しぶりにこのブログに来て、アクセスの統計とかを眺めていたんですが、これ面白いですね。意外と、greg高炉の情報を見に来てる人がいて、驚きました。このブログの解説系の投稿の中でも、編集に力を入れたやつなのでうれしいですね。(ちなみにアクセス数1位は、greg5関係のHPまとめた記事です。なんか申し訳ない。)
あと、普段、1~2pv/日くらいなのですが、3月29日に160アクセスもきててびっくりしました。いろいろみていくと、どうやらロシアからのアクセスのようです。スパムかな?
まあ、そんなこんなで、やる気が続けば、openComputersについての日本語情報をまとめていきたいと思います。
プログラミングについては初心者なので、コメント等で指摘いただければ幸いです。
以上、Mokerの雑談でした。
前回の投稿から何ともう一年半たつんですね。
艦これについていえば、もう半分引退勢になってしまいました。
Minecraftでは、最近は、ずっとComputerCraftにはまっていたのですが、いろいろ調べているうちに、OpenComputersのことを知りました。
面白そうだな、と思ったのはいいものの、全然日本語の情報がなかったので、自分でまとめていきたいと思い、このブログに舞い戻った次第です。
ところで、久しぶりにこのブログに来て、アクセスの統計とかを眺めていたんですが、これ面白いですね。意外と、greg高炉の情報を見に来てる人がいて、驚きました。このブログの解説系の投稿の中でも、編集に力を入れたやつなのでうれしいですね。(ちなみにアクセス数1位は、greg5関係のHPまとめた記事です。なんか申し訳ない。)
あと、普段、1~2pv/日くらいなのですが、3月29日に160アクセスもきててびっくりしました。いろいろみていくと、どうやらロシアからのアクセスのようです。スパムかな?
まあ、そんなこんなで、やる気が続けば、openComputersについての日本語情報をまとめていきたいと思います。
プログラミングについては初心者なので、コメント等で指摘いただければ幸いです。
以上、Mokerの雑談でした。
OpenComputersについて詳しいHPまとめ
自分用にOpenComputersについて書かれているHPをまとめておきます。
残念なことにまだ日本語サイトはほとんどないですね。
①公式
英語の公式HP。ちょっと見づらい。
ただ、ここ以外にほぼ情報ソースがない。
ちなみに、一部のページを除き、パブリックドメイン(=著作権が放棄されている)になっている。
②Youtubeのチュートリアル動画
英語のチュートリアル動画。公式なのか、有志なのかは謎(英語ムズカシイ)
探した中で、一番体系的にまとまっててわかりやすかった。
以上、2つのサイトのリンクを貼っておきます。
Mokerでした。
残念なことにまだ日本語サイトはほとんどないですね。
①公式
英語の公式HP。ちょっと見づらい。
ただ、ここ以外にほぼ情報ソースがない。
ちなみに、一部のページを除き、パブリックドメイン(=著作権が放棄されている)になっている。
②Youtubeのチュートリアル動画
英語のチュートリアル動画。公式なのか、有志なのかは謎(英語ムズカシイ)
探した中で、一番体系的にまとまっててわかりやすかった。
以上、2つのサイトのリンクを貼っておきます。
Mokerでした。
登録:
投稿 (Atom)






