玄霧藩国 @ ウィキ
i言語ルールブック(日本語版)
最終更新:
kurogirihankoku
-
view
i言語を使いたいけど説明もi言語で書かれてて良く分からない、そんな方の為に送るi言語の日本語版説明書。
○i言語とは
ゲーム言語であり、電網適応アイドレスを記述し、芝村氏や一部のアイドレスプレイヤーと対話する為に開発されました。
アイドレスは和合(IWG)の集合であり、和合は大雑把な概念の理解から対話を繰り返して掘り下げ、人と人が理解した時に成立するものです。
この原理に沿って、人と人が対話して、Q&Aみたいな進行をしていくことで、ルールやデータを生み出していきます。
完全ではないものの、日本語とかなりの互換性を持ち、また、思考・対話の支援ツールも兼ねているので、習得する事で段取り力や対話能力が磨かれます。
日本語が上手く伝わらない時に使用する事で、高速且つ確実なやり取りが可能になりますし、ゲームシステム的に今のところ出来ない事、やりたい事などを実現させる事も出来ます。
同様に、ゲームシステムに関する質疑などを記述してゲームシステムに組み込めば、その後の誤解を防ぐ事に繋がり、本人のみならず、多くのプレイヤーの助けとなります。
読んでいて分からない場合、上手く言葉が見つからない場合は、検索してみるか、芝村氏や近くにいるⅰ言語使いに話しかければ疑問に答えてくれるでしょう。
○基本的な記法
制御文字、もしくは宣言を行頭に置いて、A=B、と記述する。
例)f:i言語がよく分からない = 既存のi言語の説明では分かりにくい
例)ICG = 我は日本語にて理解しやすいi言語の解説を試みる。
これに芝村氏(もしくはその役割を果たすもの)が審査を行い、通る・通らない・十分条件を満たしていない、とった判定を下す。
この繰り返しでi言語は運用されるのです。
○制御文字一覧
i言語で使われる制御文字の一覧と、その意味です。
制御文字は行頭に入り、i言語はこれらの制御文字を基礎に用いて記述されます。
# | 等価記号を使用せず、これに続けて直接、文を記述します。 コメント記述の為の制御文字で、書かれた文はゲームに影響を与えません。 |
f: | 函数。これが審査されて通ると定理になります。 通るには最低限の条件として、交換則が成立していなければなりません。 |
l: | そのゲーム内でのみ使うローカル函数。通ったものはl!で示されます。 要は、ここだけの話、と言うことで、通っても定理にならず、他のゲームでは通用しません。 |
l! | そのゲーム内でのみ使う、通ったローカル函数。 通ったl:の集合であり、そのゲームが終われば破棄されます。 |
r: | 行動宣言。プレイヤーが自分のキャラクターにどのような行動を取らせるかを決めるものです。 左辺に行動、右辺に期待する結果、という形が基本ですが、右辺を不定の結果(結果を問わない)として、 等価記号と右辺を省略して書く事ができます。 |
t: | 定理。証明された函数。 ユニバース定義が同じである限りにおいて、特に定めがない(バグの発生など)場合、再利用した時に必ず通ります。 この時、返事を待つ必要はありません。 |
A: | 回答。等価記号や右辺は必要ありません。 A:で示されたものはローカル函数として扱い、定理にする場合は新たにf:を定義しなければなりません。 |
L: | ライブラリの宣言。 そのゲームで使用できるt:もしくはl!の集合を宣言します。 |
Q: | 質問。等価記号や右辺は必要ありません。 これに続けて疑問を書く事で、特に理由がない限り、A:が返って来ます。 |
U: | ユニバース定義。 特に指定の無い場合(これを沈黙の型と言う)は、無名世界観の因果・物理法則と、 それに矛盾しない限りの常識・現代科学となります。 |
○制御文字列一覧
i言語で使われる制御文字列の一覧と、その意味です。
制御文字列は様々な形で使用されます。
?: | 他のプレイヤーに答えてくれることを期待すること。 左辺行頭に記述し、右辺を記述せず、通った、通らないが返されません。 |
(n) | f:やt:に識別名や識別番号を与える。 f:の後に記述し、nには数字・文字が入ります。 (n)そのものには識別以外での意味・効果はありません。 |
(TAB) | 左辺文頭に使われる場合は函数のレベルを表します。 右辺文頭に使われる場合は列挙と同じように扱います。 |
PLAYER | ICGに賛同し、ゲームに参加するもの。 f:PLAYER=と記述し、右辺には自分の名前を書きます。 |
参照:<> | 他のt:、l:を行内に入れる際に使用する。 参照:<t:XXXX>という風に記述する。 |
側面: | 様々な性質・特質の内の、ある一つを指す。 f:と組み合わせて使い、右辺の文頭に入ります。 全体ではない事を示し、同時に追記している事になります。 |
追記: | 追記を示す。 f:と組み合わせて使い、右辺の文頭に入ります。 書かれた文章の内容を、それ以前の定義に加えるものです。 |
まとめ: | f:の一種で、左辺の文頭に入ります。 ゲームおよびi言語で記述された内容を平易な自然文で要約したものを記述し、通ればこれを結果として公表できます。 |
文字列{} | 括弧内にあるものは括弧の前に書かれた任意の文字列について定めたものとする。 括弧は複数行に及んでも構いません。 |
○制御記号一覧
i言語で使われる制御記号の一覧と、その意味です。
制御記号は行内に入れ込む形で使用されます。
= | 等価記号。左辺と右辺が等価である事を示す。等価である時、交換則・記述法則が成立する。 左辺に用語を、右辺にその用語の意味・説明を記述します。 |
← | 代入を示し、識別上、等価記号の代わりに使用します。 左辺が変数、右辺が代入するものとなります。 |
, | 文中で複数の事項(A,B,C・・・)を列挙する時に使用します。 ,で区切られた項目はそのまま側面として扱います。 |
○宣言一覧
ゲームの開始時と終了時に使われる宣言の一覧と、その意味です。
ICG | I Callenge Game(我はゲームに挑戦する)の意。 等価記号の右辺に挑戦したいゲーム内容を書いて、通ればゲーム開始となります。 |
ILG | I Lose Game(我はゲームに敗北した)の意。 宣言する事で、挑戦したゲームを強制終了します。制限時間を過ぎた場合も強制的に同じ処理になります。 引く事も勇気です。ヤバイ、もしくは、無理だ、と感じたら、潔く宣言する事をお勧めします。 |
IWG | I Won Game(我はゲームに勝利した)の意。 挑戦したゲーム内容を達成し、終了する時に出す勝利宣言です。通ると気持ち良くなります。 完成したIWGは、一個の独立したルール・事実としてアイドレスに作用します。 |
○用語一覧
このテキストの中に出てくる、用語の一覧とその意味です。
価値観 | 「何か」にどのような価値を置くか、という評価的判断。 |
記述法則 | i言語の基本。 等価記号を使った定義が成立する時、分からない部分に対して置換を繰り返すことで、読者が理解できるように記述できること。 |
行 | 改行コードから改行コードまでの間にある文字列と、そこから読み取れる文・式の事。 空行の場合、特に意味はないものとして扱い、独立原則を有します。 |
交換則 | A=Bの時、B=Aである。また、A=B且つB=Cの時、A=Cである。 これが成立しなければ、f:は通らない。 |
十分条件を 満たしていない |
ユニバース定義下において、プレイヤーの保有している情報では等価であると証明できない事。 |
制御文字 | プレイヤーに対して、特別な動作をさせる為に使う文字の事。 |
側面 | 物事の一面。 |
代入 | 変数の値として、数や式を与えること。 |
置換 | 用語を、等価の用語と置き換える事。等価である限り、常に成立する。 |
沈黙の型 | U:で特に書かずとも、無名世界観の因果・物理法則、ゲーム言語の基礎理論、 芝村系ゲームの定義、ゲーム言語iの規約はU:に含まれるものとする。 |
追記 | 後から付け足すこと。 |
定義 | ある概念の内容やある言葉の意味を、他の概念や言葉と区別できるように明確に限定すること。 |
定理 | 証明された函数。ユニバース定義が同じものである限り、再利用した時に必ず通る。 特に定めが無い限り、通ったものとして扱う。 |
通った | ユニバース定義下において、等価であると認定する事。 |
通らない | ユニバース定義下において、等価でないと認定する事。 |
独立原則 | 他の行に影響するような指定がない限り、各行は他の行の支配下を離れ、別個の主体として成立する。 |
バグ | 定理が成立しない現象。該当するt:は一度破棄され、定理が守られるように修正される。 |
函数 | ユニバース定義下において、等価であると仮定されたもの。 |
函数のレベル | その函数・定理が、最初の函数・定理からどれだけ離れているかを示す。1から数え始める。 |
変数 | 不定の数・対象を表す、文字記号・文字列のこと。 通常、定数に対する言葉であるとされ、代入されたものによって値が変化する。 |
ユニバース定義 | ゲーム内での価値観。ローカル定義に属する。 |
ライブラリ | ライブラリを作成するICGを行い、作成者がIWGする事でこれを作成できる。 |
ローカル函数 | 通っても定理とならない函数。 |
○本格的な記法に挑戦
それではここまでに書かれた説明を元に、i言語で記述を試みてみましょう。
例として、職業アイドレスを記述します。
ICG = 我は職業アイドレスについて記述する。
f:(x1)職業アイドレス = 側面:電網適応アイドレスで使用するオブジェクト。
f:(x2)職業アイドレス = 側面:個人着用アイドレスを構成するアイドレス。
f:(y1)個人着用アイドレス = プレイヤーが着用するアイドレス。
f:(y2)プレイヤー = 電網適応アイドレスに参加している人。
f:(y3)電網適応アイドレス = 側面:ネット上で展開されているゲーム。
f:(x3)職業アイドレス = 名称,要点,周辺環境,評価,特殊,次のアイドレスの要素を持つ。
まとめ:職業アイドレスは、ゲーム“電網適応アイドレス”に参加しているプレイヤーが着用する、名称,要点,周辺環境,評価,特殊,次のアイドレスの要素から構成される、電網適応アイドレスのオブジェクトの一つです。
IWG = こんなところでしょうか
次に、特定の職業アイドレスについて記述します。
ここでは歩兵を定義します。
L:歩兵 ={
t:名称 = 歩兵(職業)
t:要点 = 歩兵銃,軍服
t:周辺環境 = なし
t:評価 = 体格0,筋力0,耐久1,外見0,敏捷1,器用-1,感覚0,知識1,幸運-1
t:特殊 ={
*歩兵はI=Dに乗っていない時、独自で近距離戦行為が可能である。
この時、燃料1万tを消費して、近距離戦の攻撃判定に評価修正+1を得ることを選択できる。
*歩兵はI=Dに乗っていない時、独自で中距離戦行為が可能である。
この時、燃料1万tを消費して、中距離戦の攻撃判定に評価修正+2を得ることを選択できる。
*歩兵はI=Dに乗っていない時、独自で遠距離戦行為が可能である。
この時、燃料1万tを消費して、中距離戦の攻撃判定に評価修正+1を得ることを選択できる。
}
t:次のアイドレス = 戦車兵(職業),偵察兵(職業),工兵(職業)
}
以上、こんな感じです。
これはほんの一例で、i言語は現在進行形で拡張が進んでいる事から、これと違った記法になる事もあるかと思います。
ですが、学ぼうと思う限りにおいて分からない事はありません。
それは「まだ分かっていない」だけであり、これから分かる可能性があるからです。
そのようなプレイヤーには、乞われれば喜んで芝村氏や周囲のプレイヤーが手を差し伸べるでしょう。
大事なのは、先ず分からないのは何故か考えること、そして周りの人に尋ねることです。