20161128aウソです。
ジェイルアイランド: peCHka 戦の
ゲームAI を作ってます。
障害を避け最短経路で近づいてくる‥‥といった、
このオッサンの思考回路をプログラム中。
その脳内は、記事の末尾で視覚化してます。

プレイヤーに近づいたら攻撃かましてくる‥‥など
AI の基本の脳幹は、今月中に完成させたいです。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~%
今回は私の大好きな、ゲームAI の話です。
前提として、私はプロのゲームクリエイターになりたい。
自主制作よりゲーム会社のご依頼を優先する理由です。
だからゲーム作りの話には、自分の意見を強く言う。攻撃的だ。

「アマチュアゲームクリエイターは、もうゲーム性を作らず、
 デジタルで動くという理由でソフトを 『ゲーム』 と呼ぶ」
という批判を含みます。

人によって以下の文は不安になったり、方向性が違えば不快に感じると思います。
だから以降は、ゲームクリエイターを真剣に目指してる方だけが読めば良いかと。
中途半端で済む方のいる空間では、私は干渉せず、自己主張しないようにします。
だがここは、私のブログ。 成長すべく、意見は隠さずに述べるぞ。

~~~~~~~~~~~~~~%
PCゲーム作り  ゲームAI作り である。  私の信条です。

アマチュアゲーム製作者の世界では、現在。
デジタルゲーム製作 と言えば 小説(物語)作り の人が増えています。
コンペを見てください。
ツクール作品サウンドノベルが、多く占めているでしょう?

エンターブレインが提供するゲーム性、そのままの仕様で、
ゲーム性の同じ作品を量産する。
ゲームを遊ばず、「文を読む」を楽しむ。
誘導どおりにボタンを押すだけで、勝ち確の‥‥接待麻雀。

それもまた、電脳生物種の変化の一環なのでしょう。
しかし以前 述べたとおり、物語を作る = ゲーム性を作る ではありません。
物語なんか無くたって、整合性がとれてなくたって、理解不可能だって、
ゲームはゲームとして遊べるのです。
麻雀は、勝ち確のゲーム。                   ではない。
野球は、選手たちの物語を楽しむゲーム。          ではない。


ツクール初期仕様のゲーム性の作品が、優れたゲームならば。
コンクールで入賞した ツクール作品。 方向性を同じくして売れた 同人作品。
それらの製作者は、あらゆるゲーム会社から スカウトされてるハズでしょう?
同人作家が、プロのマンガ家へと歩む 旅程のように。
しかし現実はそうならない。

~~~~~~~~~~~~~%
もっと根源的、原始的な創造力。 ゲームの進化に繋がるパワー。
ゲームクリエイターを名乗る方が増える傍ら、
ゲームAI をプログラムできる人は、レガシー(太古の遺物)になっています。

‥‥私は最近。 仕事で出会ったSEの方に、驚愕しました。
ゲームプログラマー学科を卒業した 若い学生が、
パソコンを操作できない。 キーボードも片手でしか打てない。

当然のように、ブラインドタッチはおろか、プログラムなんて書けません。
眼前の惨事が信じられませんでした。 おまえなにしにきた。
彼/彼女 らは、提供されたフレームワーク内、マウス操作でしか、物を作れないのです。
  ※ ゲームプログラマーは、ゲームクリエイターのアイデアを実現する
     職業だと思ってましたが、実際はデザイナー的な勉強をする?


‥‥私は何も言いませんでしたが、
この事実は、新参ゲームクリエイターの退化に見えました。
  ※ アマチュアにおいて、プログラマーとゲームクリエイターは、同一人物なことが多い
‥‥ヒトは、環境を改良する生物です。
他者に与えられた環境から、さらにゲーム性をクリエイトする力を、
しかし彼/彼女 らは持たない。成長しない。
つまり雇う価値がねえ。
だからゲーム会社にスカウトされないし、就職も自由業もできないんです。
囲われた、安全な箱庭でしか生きられない。 そう、まさに ホムンクルス。
既成の概念を崩す手がなく、何がヒト。 何が創作者でしょう。
とまれ、プログラムを扱えないと、デジタルゲームを自由に表現しきれる‥‥とは言い難い。
表現に、必ず限界が生じる。 その限界も、ホムンクルスのままでは超えられないのでは。

~~~~~~~~~~~~~%
ゲームでなくデジタルソフトなのに    / ゲームと言い張り。
ゲーム性を作れないのに         / 自らをゲーム製作者と言い憚り。
エンターブレインの掌上、一生、踊らされるだけの家畜で。
それで幸せなら結構。
しかしその方向性は製造者(maker)であり、創造者(creator)ではない。
私は家畜になりたくねえんだ。

‥‥ゲーム性を作るだけなら、プログラミングは不要‥‥。
その通りです。 初期仕様から、いかに進化させるか。
例えばツクールなら、ある街で道具を買い、
他の町に移動すると売価が変わる、「貿易」システムを作ったとする。
それならゲーム性をクリエイトしたと言えるでしょう。

一方で私は、伝説のゲーム製作者たちに習い。
ゲームAI を、自在に書けるようになりたいのです。

~~~~~~~~~~~~~%
新世界を見たい。私はゲームと遊びたいんだ。
私達 ゲーマーは、誘導・勝ち確で満足できる、ボタンを押すだけのサルではない。
人類史とはすなわち、ゲーム性の歴史。
戦争ゲーム。 マネーゲーム。 恋愛ゲーム。
ゲームの強者が生き残り、ドロップした者が死に絶える。
自然界のルールに囚われず、新たなルール(ゲーム)を作れる。
それが、ヒトと他の生物種との違い。
妥協せず、誤魔化さず、本当のゲーム制作 をしたい。
「本当」 とは何か、私にはまだ分かっていません。

しかし、分かっていることも あります。
ゲームの本質は、「ゲーム性の楽しさ」を提供すること。
コンシューマ / アーケードゲームには、ゲーム性らしきものが、必ずある。
ソレにのめりこみ、何度でもプレイできる。
ゲーム性とは何か、ゲームで遊ぶとは何か‥‥
企業は、とっくに理解しているのかもしれません。

~~~~~~~~~~~~~%
絵、キャラクター、物語。
文章、音声、音楽、アニメなんてものは。
ゲーム性を彩る、必要性のない装飾品に過ぎないのです。

ゲームを人体とすれば、その構成要素ですら ありません。
何千、何万回と遊べる要因にならない。
それら全てを除去したとき、残るのがゲーム性。
装飾品でなく、まずゲーム性を作るべきなのです。
私はここを、カン違いしていました。
ゲーム性より先に、絵や物語の腕を磨いていたのです。

見て、聞いて、読んで、知って、はい終わり。
それらの行動に、プレイヤーの自主性はあれど、主体性はこれっぽっちも無い。

デジタルゲームは。
プログラムこそが 臓物であり、骨や腱。
気血水であり‥‥無尽に奔る神経です。

口紅やアンクレットは、血を送らない。 呼吸もしません。 欠けても体は動きます。
あなたは ゲームクリエイターですか?  それとも 服飾デザイナーですか?
周りの飾りでなく、本当にゲームを愛していますか。

‥‥さてさて。 ちと熱くなっちまいました。 良くねえな。
とにかく、私が目指したいのは、面白いゲーム性を作れるクリエイターなのです。

~~~~~~~~~~~~~%
20161128b今回書いた AI です。
AI の脳内 を視覚化してみました。
障害物を避け最短経路で移動するため、
ネットワークマップを作っていますね。
悩みましたが、
他に良い案があれば、ぜひ教えてくださいませ。
もっと勉強します。

紫円が裸のおっさん自身。 緑円がはすかです。
赤マスは障害物。赤円は避けて移動するための
node (経過点)、ステージ開始時に覚えます。
黒線は node どうしを繋ぐネットワーク。
緑円の左上、中抜き赤円が次に目指す node。
紫円と緑円を繋ぐ赤線が、AI の導き出した答えです。
この思考を、数十フレームに1回、行います。

基本的に A*アルゴリズムの発展型です。
A* では node を探索すると、node は
0(none) → 1(open) → 2(close) と不可逆にめくられます。
主に SLG で使うこの算法は、しかして、
1回の移動がマス単位で、経過点が一定間隔にしきつめられている が前提。
A* で求まるのは最短距離でなく、node 数が最小になる経路なのです。
アクションゲームには、そのままでは使えません。

そこでこのオッサン、一度 1 → 2 と完全にめくりきった node でも
探索を進めて蓄積した距離がさらに短く済むなら、
1 || 2 → 1 と上書きし、再考するようにしました。
これなら探索は不可逆のままなので、ムダな時間はかかりません。
経過点どうしの距離は、ステージ開始時に予め計算しておきます。
ようは、電車の乗り換え案内のサイトを見て、最短経路を探す 感じです。
乗換回数が最小なら最短経路、ではないのですよ。遠回りにもなりえます。

‥‥このオッサン、いちおう近づいてきてはくれますが、
特定の条件下では挙動がおかしなトコが。
まずはその修正ですね‥‥さてさて。