スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

人工生命が生まれました 12日目

2009年09月02日 23:33

screenshot_09.jpg

サムネで見るとまるで、どこぞの衛星写真のようです。


screenshot_27_20090902225138.jpg

フィールドは800*600の大きさ、生物の最大個体数は3000頭です。
今まで、個体のひとつひとつに割り当てていたものを種族ごとに統一したところ、実行速度がめっちゃ高速化しました。
そのため、4000頭くらいまでならストレスなく計算できます。
フィールドの広さも、ふざけて20000とか設定しても動いていました。


screenshot_30_20090902225130.jpg

ニコ動はもう少し待ってください、まだいい絵がとれていないので・・・。


screenshot_032.jpg

そしてこの前、おもしろい光景に出くわしました。

明らかにはらへ化しているのに、飢え死にせずいつまでもうろうろしている個体がいました。
進化の過程でs2機関を獲得したようです。
生物は繁殖して子孫を残すと、親個体は強制的にはらへ化します。
その個体はおそらく、はらへ閾値が0付近なので、強制はらへ化(残りステップ数 = はらへ閾値 - 1 をする)のときに残りステップ数が負数になってしまったのです。
残りステップ数は時間毎に減算されるのですが、プログラムの性質上、"残りステップ数 <= 0"ではなく"残りステップ数 == 0"で死亡(飢え死に)します。
なので、残りステップ数が負数になるといくら減算しても0にならず、おそらくint型が桁あふれをして戻ってくる、40億フレームほど経つまで死なないと考えられます。
3000個体での実行だと1秒で約21.5フレームだから・・・6年も生きるのかよ!
このMacの寿命のが短いわ!

ただこの不死者にも欠点はあって、常にはらへ化しているため、繁殖できません。
食べまくって通常化(繁殖可能)すると、不死身性が失われます。
不老不死になると子を残せない。逆も然り。
深いですね。

このバグですか?もちろんそのままにしてありますよ。
発生確立自体が非常に低いし、食べ過ぎて余った栄養分は植物の種という形で体外に排出するので、不死者がいようが世界のバランスは崩れません。



さて、夕食はまたチリコンカンです。
スポンサーサイト


コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://actiasartemisaliena.blog6.fc2.com/tb.php/123-7fce68c2
    この記事へのトラックバック


    最新記事


    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。