0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

#Desynced #プログラミング のブループリント

Posted at

本内容を利用した場合の一切の責任を私は負いません。

Desynced( https://store.steampowered.com/app/1450900/Desynced_Autonomous_Colony_Simulator/ )はSteamの高度自動化コロニー作成ゲームです。
ただ、早期アクセスゲーム扱いのため不完全です。
高度自動化とは、作成したアイテムによってエンティティ(ボット、ドローン、ビルディング等)に処理を仕込むことができます。
例えば、資源輸送を複数に配達するとか、複数個所の資源を取得するとか、しばらく使わないビルディングの電源をOFFにするとか。
処理を含めたエンティティはタイトルにあるブループリントと言われます。
そしてこのブループリントはゲーム外と出し入れすることができます。
つまり、他のプレイヤーのブループリントを入れたり、自分のものを提供したりすることができます。
本記事はその方法等についてです。

ブループリント

テキストデータで、処理を含めたエンティティのデータがJSONで表現され、それをBase64エンコードしたものです。
下記のサイトでJSON・Base64間のコンバートができます。
https://stagegames.github.io/DesyncedJavaScriptUtils/
下記のリンクにあるフォーラムのブループリントで試すとこうなります。

ブループリント
DSC9y2bZV4C0tMgij1EUplM3g7SbQ3dyZPt0vv1q44EgnkF40lx2r3KR2AL18AIVx2xSU1y2agTwI3Sh2f33WGW1l3VHw0842dajP3KgLvy3GASsz0ju1010T8klD3KAl9R40ajsw1ftS970p3inI1jvMov2Od1wn4Vw9da3XjeFf15leDd2fO7Ur2hyPZM0hBBFb0mbWjk0jgZQC11S0W302kBYb3od74V0A5mW61TwiB21g1EKo2OvGAf37gywv2Foa5G1JJg8807klU53naUrO3yw9Bl2PcqtO421vS12F1ZCw1SQSYh48va9a1ty1t22lxU3a3JoXxp2L9Qnx38pJxt1QHSRe419n4a06mIYf1lUwz23
中身
{
    "0": {
        "0": {
            "num": 1
        },
        "op": "wait"
    },
    "1": {
        "op": "unlock"
    },
    "2": {
        "0": 1,
        "1": "A",
        "2": "B",
        "3": false,
        "op": "for_signal_match"
    },
    "3": {
        "0": false,
        "1": false,
        "2": "B",
        "3": 1,
        "cmt": "Compare signal number",
        "op": "check_number"
    },
    "4": {
        "0": 1,
        "1": {
            "num": 20
        },
        "2": "E",
        "op": "set_number"
    },
    "5": {
        "0": "A",
        "1": "E",
        "op": "order_transfer"
    },
    "parameters": [
        false
    ],
    "pnames": [
        "Distributed Item with Signal"
    ],
    "vars": {
        "A": 2,
        "B": 3,
        "E": 5
    },
    "name": "Distribute Single Item (Signaled)"
}

自分のブループリントの作り方

フィールド上でエンティティを選択した状態で、ゲームの操作のコピー(Cキー押下)をするとブループリントがOSのクリップボードに作成されます。
処理も入れたい場合はエンティティが動作コントローラのアイテムを持ってる必要があります。
当然、動かしたい処理があれば、そのアイテムに仕込まれてる必要があります。

ブループリントの授受

授ける場合、上記のテキストデータを渡すことになります。
受ける場合、まず受けたブループリントのテキストデータをコピー(Ctrl+cキー等)してOSのクリップボードに入れます。
次に、フィールド画面右下のライブラリを開き、そこでペースト(Vキー押下)するとそのブループリントが追加されます。
使いたい場合、ライブラリにあるものはエンティティ作成画面に表示されるので、そこで選択すれば作成して使えます。

ライブラリ

マウスオーバー等でだいたい使い方はわかると思います。
処理の確認をしたい場合、まず一覧でエンティティを選択します。
(ライブラリ左に詳細が開きます。)
処理がある場合は動作コントローラを持っているので、それをShiftを押しながらクリックするとロジックエディタが開きます。

リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?