■Artificial-Bionic-Cells■ver 0.80 ■[abc] ゲーム画面に現われる丸い何かが[abc]です。 ゲーム画面を「リソース」と呼び、彼らはリソース内の資源データを元に ある条件で自動的に発生します。 またあるいは、資源データを消費して生活し、めいめいに繁殖を行い、 その生息域を広げていきます。 そしてやがて衰弱して死亡します。 [abc]とは、リソース内に生きる人工生命なのです。 つまり、 リソースを培養空間として、[abc]を培養実験していくのが 本作の趣旨です。 ■種族 赤、青、緑、黒の4種類に大別され、それぞれの敵対関係を表しています。 赤→他全ての種族と敵対。老化が早い。 青→緑を正体不明と認識、他はすべて敵。 緑→青を仲間、黒を正体不明、赤を敵と認識。 黒→緑を正体不明と認識、他は全て敵。老化が遅い。 ■大きさ 画面上の見た目の大きさは、捕食行動に対する影響を及ぼします。 概ね大きい[abc]のほうが生存競争に強くなります。 ただし大きくなりすぎると急激にしぼんで小さくなり、 このとき大量の資源を吐き出します。 ■体力 見た目ではわかりませんが捕食行動を受けた時と行った時に表示されます。 体力がなくなるとその[abc]は死亡します。 体力が充分増えるとレベルが上がり最大体力が増えます。 最大体力が増えすぎると急激に弱体化し、このとき大量の資源を吐き出します。 ■因子 知覚因子・機動因子・生存因子・行動因子・種族因子 以上5つの因子があり、それぞれ8ビットの二進数で表現されています。 主に行動や判断、生存能力の情報が格納されています。 ■繁殖と因子継承 一定の条件を満たした個体は、繁殖適正に応じて繁殖活動を行います。 繁殖適正は種族因子に記されていて、基本的には生存中に変更されません。 繁殖方法は「分裂」「交配」「転生」があり、因子継承システムが異なります。 →分裂  一つの[abc]が2つに分裂します。因子は元の[abc]と同じものを継承します。  数が増える反面各[abc]は能力がほぼ半減します。  初期状態では赤種族がこの性質を持ちます。 →交配  2つの[abc]が条件を満たしていれば、新しく1つの[abc]を生み出します。  因子は親となる2体の因子をランダムに合成して継承します。  初期状態では青種族と緑種族がこの適正を持ちます。 →転生  1つの[abc]が死ぬときに新しい1つの[abc]に生まれ変わります。  因子は元の[abc]と同じものを継承します。  数は増えませんが能力はほぼそのまま継承できます。  初期状態では主に黒種族が行えます。 繁殖を行う時、一定の確率で種族因子が一部書き変わる場合があります。 これによって全くの新種族が生まれる場合もあります。 ■正体不明 特定の条件が揃うと、[abc]は近くにいる[abc]を追跡しはじめます。 しかし追跡中に相手の種族を認識できず、正体不明と判断する場合があります。 正体不明の場合、相手の種族に関わらず自分の都合で敵か仲間かを判断するため、 本当は敵である相手を勘違いして仲間と思い込むことなどもあります。 ■ストレス ある条件が揃うと個体はストレス状態になります。 ストレス状態を受けると回復するまで正常な行動判断ができなくなります。 ストレス状態から回復する時、種族因子以外の因子が一部書き変わる場合があります。 これによって以後の性格が大幅に変わる可能性があります。 ■資源 [abc]が休息するとき、資源が一定量減少します。資源がないと休息できません。 資源は、[abc]が死亡するときや急激にしぼむとき等に自動的に増えます。 資源が一定量あれば、ターン終了時に自動で新規の[abc]が誕生する場合があります。 このとき誕生する種族は全体の分布率を見てバランスを整えるように決められます。 また画面上を左クリックすることで、 資源を消費してそこに新しい[abc]を作り出すことができます。 このとき作り出す[abc]の能力はコンフィグで調整できます。 ■情報画面とコンフィグ 初期状態ではメインとなるゲーム画面と、情報を表示するためのサブ画面が表示されています。 サブ画面が出ている状態でマウスの右ボタンを押すと、コンフィグ画面になります。 ※ゲーム開始時はコンフィグ画面になっています。 ・体力  新規に作り出す[abc]の体力を決められます。 ・大きさ  新規に作り出す[bac]の大きさを決められます。 ・種別  新規に作り出す[abc]の種族を決められます。 ・性格/感覚/速度  新規に作り出す[abc]の因子パラメータを調整します。 ・見本  大きさと種族の色が確認できます。 ・消費資源  現在の設定で資源をどれくらい消費するか確認できます。  表示が大きいほど配置するのに大量に資源を必要とします。 ・情報画面に戻る  サブ画面の表示を情報画面に変えてゲームに戻ります。 ・サブ画面を消す  サブ画面を消して情報をゲーム画面内に表示しながらゲームに戻ります。 ・ログ出力  ファイル名「abc_log.txt」に  現在保存されているログと、最新の全因子情報一覧表を出力します。 ・エフェクト  「表示する」にすれば各個体の行動結果などをゲーム画面上に表示します。  エフェクトを表示すれば[abc]の行動状態が少しわかりやすいかもしれません。 ・ログ  「表示する」にすれば詳細な行動ログをテキストで情報画面に表示します。 ・ログ保存量  メモリ内に記録するログの行数を指定できます。 ・グラフ表示  「全因子情報」にすれば現存[abc]の因子情報一覧を、  「種族分布図」にすれば現存[abc]の種族別グラフを、情報画面に表示します。  「表示しない」にすれば、情報画面に基礎情報以外表示しなくなります。 ※情報画面の内容を表示しないようにすればプログラムの進行は多少軽くなります。 ■因子情報一覧 左上の第0セルに、現在のターン数(サブ画面が消えている時は資源率も)を その右の第1セルに通し番号1の[abc]が有する因子情報が表示されます。 以後右に第2、第3に番号2、3の情報が表示されています。 因子は左から知覚因子・速度因子・生存因子・行動因子・種族因子になります。 8ビット二進数の情報をそれぞれ2桁の16進数として表示しています。 サブ画面表示の場合だけ表示される、セルの背景にあるバーは 上が[abc]のサイズ、下が[abc]の受けているダメージを示しています。 詳細な状況を解析したい場合に役に立ちますが、 表示されている情報を読み取って理解できないと思うので、 それっぽい気分になれる機能としてお使いください。(笑 解読できるようになるとゲームが少し面白くなるかもしれません。 ※死亡した個体は自動的にリストから外され、 空いた番号には最後尾の番号がソートされていきます。 これによってある瞬間急に種族が変わったように見えることがありますが、 そんなことはないので注意してください。 ■種族因子[1B]「アバドンの悪魔」 種族因子[1B]の[abc]は「アバドンの悪魔」と呼ばれる特殊な存在です。 「アバドンの悪魔」は繁殖能力・回復能力を一切持たず、 資源消費率と攻撃性能が非常に高くなっています。 基本的には環境変動のために資源ボーナスによって出現するものですが、 極稀に通常の個体が突然変異で 「アバドンの悪魔」として生まれてくる場合があります。 「アバドンの悪魔」が大量出現する場合、資源が大量に余っていることが多いので しばらく放置すれば世界は再び安定していくと思われます。 ■資源ボーナス 資源が充分に余っていると、 資源ボーナスとして資源を消費して新規[abc]が自動的に追加されます。 このとき追加される[abc]の種族は、 世界の状況に基づいてバランスを取るように決められています。 つまり何か狙って実験しているときでも 資源が余ると強制的にバランスを取ろうとするので、 実験中は極力資源を使いきるなど対策を立ててください。 ■異種交配 通常は仲間と認識した相手と交配しますが、 ある条件下では正体不明の相手でも交配する場合があります。 その場合、種族が異なっていても交配が可能になります。 異種交配の場合、種族種別はだいたいどちらか片親のものになりますが、 稀に突然変異で両親どちらとも異なる種族になる場合もあります。 またその場合全く新しい繁殖適正を持つ新種族になる場合もあります。 ※突然変異自体は同種交配でも起こり、種族が両親と異なる場合があります。 なお、両親の因子を遺伝子として保有はしていないので、 隔世遺伝などの変異現象は実装されていません。 ■融合 仲間と認識した相手に、自分を食わせて相手の体力を大幅に増加させることを 「融合」と言います。 融合に成功した場合、自分は死亡してその体力のほとんどを相手に受け渡すことが出来ますが、 死亡時の資源増加現象が発生しないという特性があります。 また、体力を受け渡しますが体力最大値は受け渡さないため、 場合によっては受け取った側が急激にレベルアップしたり、 その結果として急にしぼんでしまったりすることもあります。 融合を受けた個体は注意深く観察したほうがいいかもしれません。 ■製作 企画・デザイン・プログラム  ZAP アシスタント  PKE ■履歴 ver 0.10  関係線などのデバッグ情報表示機能実装 ver 0.20  ログ表示機能などを実装 ver 0.30  エフェクトアニメーション実装 ver 0.50  デバッグ情報の整理、一部を情報画面として実装 ver 0.60  コンフィグ機能などの実装 ver 0.70  ログ出力機能の実装 ver0.80  各種バランス調整、移動系処理の不具合修正、アバドンの挙動修正  基本的機能はほぼ全て実装したバージョン ■既知の不具合 ・なんというか全体的に重い  directXなどを使わず基本的命令だけで構築しているため負荷が高めの設計。仕様 ・一秒に一回くらい一瞬ゲームが停止する。  大体1秒に一回、代謝ターン処理をするため、負荷が高くなる。仕様 ・戦闘不可能な距離同士の個体が戦闘エフェクトを表示している  自動ソートの影響、表示上の不具合のみ。内部計算に問題なし。対策考慮中 ・融合した個体がその表示を出さない など  エフェクトアニメーションの優先順位による問題。仕様 ・極稀に総生息数0になると、エラーを出して終了する  資源率産出時のゼロディバイド問題。ゲームオーバーの実装を予定 ・ゲームが進むほどプログラムが重くなる  生息数に応じて代謝ターン処理が多くなるため。仕様 ・時々ある種族が一箇所に集まりすぎて極端に増加する  交配適正のある個体が集中すると起きやすい。むしろ仕様 ・ログで種族名の表示が大雑把になる場合がある。  256種類もの固有種族名が作られてるはずがない。完全に仕様 ・各種表示情報の意味がわからない/わかりにくい  ヒントはたくさんありますので後はお好きに。たぶん仕様 ・バックログは? ・セーブ/ロードは?  未実装 ・ゲームオーバー/ゲームクリアがない  ゲームオーバーは未実装。  ゲームクリアは特にないのでお好きなようにいじり倒して観察してください。 ■よくある質問 ・なぜ青種族は赤種族が近くにいるのに捕食しない?  初期状態の青種族は緑種族と黒種族しか見えない場合があります。  これは見えてはいるけどよくわからない「正体不明」認識状態と違って、全く存在が見えていません。(知覚系因子内に情報が格納されています)  知覚系因子の変化は頻繁に起こるので放置していてもそのうち見つけられるようになると思いますが、急ぐようなら緑種族に赤種族を食わせて、緑種族で間接的に誘導したほうが早いでしょう。 ・何故か赤種族ばかりになります、なぜですか?  資源ボーナスによる分布調整と、プレイヤーの介入による調整個体投入の影響が重なることで、資源ボーナスの想定以上に偏る結果になることがあります。  赤種族が基本的に分裂で増えやすいことも影響していると思われます。 ・何故か緑種族ばかりになります、なぜですか?  全くプレイヤーの介入がないと、天敵の少ない緑種族が(当然ではありますが)優勢になりがちのようです。  介入すれば状況は変化するかもしれませんが、趨勢が決まったあとの介入は焼け石に水でしかないことも多々あるようです。  あまりに長期間変化がなく、お気に召さないようならやりなおすほうがいいかもしれません。 ・「アバドンの悪魔」ばかりが誕生します。どうすればいいですか?  生息数過多・資源過多などで世界が行き詰っていると思われます。  やりなおしてみるのも一興でしょう。 ・何故か「アバドンの悪魔」ではない黒種族ばかり誕生します。不具合ですか?  …えー、それはレアケースです。  多分完全に進化の袋小路まで行き詰ってますので諦めてください。 ・どうすれば数を増やせますか?  総生息数だけ増やすならば、基本的には繁殖能力が高い緑種族の周りに小さく弱い赤種族を配置して食わせるのが近道だと思います。  体力が増えた緑種族は青種族と交配して青種族と緑種族の数を増やす可能性が高いからです。また、交配相手となる個体は要求したほうからある程度体力を分け与えられます。ただし緑種族は共食いも発生しやすいので気をつけましょう。  赤種族を増やしたい場合は「大胆」で少し大きめのものを他の干渉がおきにくい場所にいくつか配置するほうがいいでしょう。  青種族と黒種族は緑種族の近くに配置するほうが増やしやすいと思います。  効率よく配置しなければすぐに資源が減りますので気をつけてください。 ・資源率が異常な値を示していますが大丈夫ですか?  資源率は大体どんな値でも大して問題はありません。むしろ総生息数が問題です。  総生息数が増えすぎると、資源ボーナスのバランス調整によって世界が崩壊する可能性があります。  また、世界崩壊で初期生物の因子情報が失われると、世界は非常に均衡のとれたつまらないものになるかもしれません。 ・作れる範囲で最強の種族はなんですか?  強さの基準がわかりにくいので、いろいろ試してください。 ■おまけ ・各因子データの見方 →知覚因子 気配(2bit)感知(2bit)認識(2bit)範囲(2bit) →速度因子 通常(2bit)空腹(2bit)接近(2bit)逃亡(2bit) →生存因子 基本消費(2bit)高速消費(2bit)回復効率(2bit)不調耐性(2bit) →行動因子 敵発見(2bit)仲間発見(2bit)仲間接触(2bit)不調対応(2bit) →種族因子 繁殖適正(4bit)攻防適正(2bit)種別(2bit)