みつよし

人工生命をつくっています。 ALife/RoboCup/Factorio mod/Sc…

みつよし

人工生命をつくっています。 ALife/RoboCup/Factorio mod/Screeps/Kaggle https://mitsuyoshi-yamazaki.github.io/ALifeGameJam2019/

マガジン

  • 人工生命とジェネラティブアートの雑記帳

    人工生命とジェネラティブアートの制作手法や考察をまとめます

  • Screepsマガジン

    Screepsに関する記事のまとめ

最近の記事

市橋 伯一先生の「自己複製RNAの進化が生み出す寄生と共生」

東大市橋先生の自己複製RNAの研究が日経サイエンスと公開セミナーで発表されました。 Open-Ended Evolutionを目指した寄生体との共進化モデルをRNAを使って実現する試みです。 公開セミナー「自己複製RNAの進化が生み出す寄生と共生」をオンライン開催(6月2日) 論文: https://webpark2056.sakura.ne.jp/papers/2022_Mizuuchi.pdf 研究内容進化するのに必要な条件ふたつ 自己複製能力 複製能力の変化が

    • Screepsのはじめかた

      Screepsというコードを書いて遊ぶゲームがあります。 文字通りプログラミングをしないといけないため、面白さがわかってくるまでに挫折しないよう、始め方と情報の集め方をまとめます。 どんなゲーム?多くのゲームはゲームのキャラクターを手動で動かしてプレイしますが、Screepsはゲームのキャラクターを動かすコードを書いてプレイするゲームです。 ジャンルとしてはリアルタイムストラテジーゲームで、経済を発展させて軍事ユニットをつくり、隣人と協力もしくは競争しながら勢力を伸ばしてい

      • Screepsハッキング事例

        Screepsの戦争は、ある程度の強さがあればゴリ押しが効きますが、相手方も良い実装をしていた場合はロジックの穴を突くハッキング合戦になります。 よくある戦術攻撃側 - Tower Drain 防衛側の攻撃設備towerに充填されたエネルギーを枯渇させることでtowerを無効化する戦術です。 Bodyの小さな捨て身のcreepを大量に送り込んだり、部屋の境界上でうろうろして撃たれたら部屋の外に出て回復を繰り返したり、towerの距離減衰を利用してtowerから遠い隅で回復

        • Screepsふりかえり

          3,4年前からScreepsというリアルタイムストラテジーゲームをプレイしています。 これはユニットの一挙手一投足をプログラムしないとプレイできないというとても硬派なゲームで、さらに使える計算資源が限られるため遊んでいくうちに計算機科学の知識がつくようになります。 昨年は公式マッチに参加したのを皮切りに新アーキテクチャの実装を進めて、コードとゲームの両面で大きな進捗がありました。 ゲームの進捗Season3 Screepsでは常時デプロイされているMMO世界とは別に、改変

        市橋 伯一先生の「自己複製RNAの進化が生み出す寄生と共生」

        マガジン

        • 人工生命とジェネラティブアートの雑記帳
          10本
        • Screepsマガジン
          3本

        記事

          Absolution Gap読了ガイド(WIP)

          Alastair Reynoldsの書く「啓示空間」の未訳の続編「Absolution Gap」を原語で読む上で役立つ知識をまとめています。 本書は紙、電子書籍ともにAmazonから手に入ります。 記事の前半は「Absolution Gap」前までの状況、後半に作中で描かれる状況を書いています。 私はまだ読み終えていないため未完成です。 Reynoldsの本の難しさは視点の転換と形容詞の多さにあるので、それを読み飛ばす、つまりひとつの視点を選んで読み、形容詞を飛ばせばそれ

          Absolution Gap読了ガイド(WIP)

          外国暮らしの処方箋

          以前国際会議でヨーロッパに逗留していたとき、ずっと外国語に囲まれて参ってしまったことがありました。 言語が分からなくともなんとなく理解できることばもありますが… 内容を推測できないものも多くあります。 読めない言葉に囲まれて生活するのも息が詰まるうえに、その大変さを共有できる人間も周囲にいません。 私はそんな環境では外国の登場するエッセイを探して、著者たちが外国でどんな問題にでくわしたのか、言葉や文化の違いにどう対応したのかを読んで息抜きをしていました。 そんな外国暮ら

          外国暮らしの処方箋

          画面から覗く本棚

          スマートフォンアプリ開発を生業として十余年、未だにUI化できない体験があります。 雑誌や本棚がそれで、これは物体のもつ「a)全体を見渡す網羅性」「b)細部に注目する詳細性」をスマートフォン上で両立できないためです。 このふたつの性質を成り立たせているのは対象の物理的な広がりと人間の視覚によるもので、人間は広範囲を鳥瞰することと一点に注目することを瞬時に切り替えることができます。 一方でスマートフォンでそのような視点の切り替えを行うには指を使ったジェスチャを行う必要があり、

          画面から覗く本棚

          ALife2020研究紹介

          先日行われた人工生命研究に関する国際会議 ALife2020 に参加してきました。 人工生命研究はあり得た生命(life as it could be)を作成することで、現実の生命現象(life as we know it)を理解しようとする試みです。 この分野の研究はどれも独特なもので面白いのですが、その理由は研究対象とアプローチの組み合わせの数だけ研究があるためです。 研究対象である生命現象は自己複製や進化などの抽象的な現象から、群れや発生など生命個体に着目したものまで

          ALife2020研究紹介

          セルオートマトンの抽象化

          セルオートマトンのルールの多さ初期状態を変化させることで様々なパターンをつくりだすことのできる面白いルールを探そうとするとき、とりうるルールの多さが問題となります。 セルオートマトンを離散的に実装していればルールの総数は決まっているため総当たりにすることはできますが、これは2^10〜という数になるため人間が目を通すことはできません。 ランダムなルールを生成して目を通せば全体を満遍なく見ることもできますが、あるルールがどのような性質をもつかわからないため、ルールを改造した際

          セルオートマトンの抽象化

          万華鏡のデジタルとアナログ

          万華鏡は鏡の反射を利用して再帰的に模様を生成します。 それにより、 - 鏡に囲われた領域が無限に繰り返される- 回転させると模様が変化する という性質をもちます。 これをデジタルで再現することを考えると、「鏡に囲われた領域の模様を繰り返す」という性質を実装するのは少し面倒ですが、「背景を透過させた模様を繰り返し配置し、重ねる」ということは簡単に実装できます。 つまり、現実の万華鏡と一部の性質を共有するが、一部異なる特徴をもつアートをつくることができます。

          万華鏡のデジタルとアナログ

          L-Systemと生物の対称形について

          L-Systemをつかって海洋の小生物のような模様を大量に生産するジェネレータをつくりました。 元々は紙面を埋める模様をGenetic Programmingで自動生成する系を目指しており、L-Systemは実装の容易な祖先種として選んだだけだったのですが、L-Systemのみでも綺麗な模様が生まれると分かったのでGenetic Programmingは忘れることにして今の形になりました。 このジェネレータで生成される画像は回転対称やフラクタルの性質を持っている一方で線対

          L-Systemと生物の対称形について

          ソフトウェア開発とクラフトゲームの差異について

          ソフトウェア開発は目的物がどれほど面白くても開発が続かないことがある一方で、ゲーム内のものづくりは過程がつまらなくてもプレイしてしまいます。 その差異について。 ソフトウェア開発は繰り返し作業がなく、能動的に動かなければ状況が変わらないという特徴があります。 対してゲーム内のものづくりは、解決できる問題のみで構成されており、また時間経過でイベントが起きます。 ソフトウェア開発 - 能動的- 常に新規開発- 仕様の悩み- 環境整備など本質的でない部分の作業 ゲーム内の

          ソフトウェア開発とクラフトゲームの差異について

          Blind Painter

          はじめに BlindPainterはALife Game Jam 2019で作成した人工生命系/ジェネラティブアートです。 作品のコンセプトを "収束しない進化" と設定し、常に移り変わって寡占にならない人工生命系を実装しました。 コンセプト イベントの "ever changing -変わり続ける-" というテーマと "人工生命" というワードから、作品のコンセプトを "収束しない進化" と設定しました。 人工生命系の製作においては、自己複製の最適解におちいって変化しなく

          Blind Painter

          プラナリアはメダカの餌で飼育できる

          顆粒になっているメダカの乾燥餌で育てられます。 レバーなど生肉を与えるのと違って保存が効きますし、水も汚れにくいので飼育がかなり楽になります。 水底を這う生き物が水面に浮かぶ餌を食べられるのか…というと、なんとこの動物は波のない水面の裏を這い進むことができる(!)ために問題になりません。 餌を撒いておくとわらわらと寄ってきて食事する様子を観察できます。 水面だと障害物も少なく見やすいのも良いですね。 プラナリアをはじめ、タニシなど腹足をもつ生き物は水面の裏側を這うことがで

          プラナリアはメダカの餌で飼育できる

          簡単なcollision実装

          物理シミュレーションを実装する際に物体の衝突を正確に表現するのは面倒なので、物体が重なったら斥力が生じるという実装を行います。 複数の物体が同時に衝突する場合も合力を求めれば良いだけなので簡単で、また物体同士の距離が近いほど斥力が大きくなるようにすれば弾性のような現象も再現できます。 // 疑似コード// Object.position は vectordistance = object1.position.distance(object2.position)minimum

          簡単なcollision実装

          ALife2020でArt in the Science Awardを受賞しました

          人工生命の国際会議 Alife2020 に出展した Blind Painter という作品が、シンプルな仕組みでありながら複雑なふるまいを創発できるアイデアを評価されて Art in the Science Award を受賞しました。 Blind PainterBlind Painter は人工生命を種族ごとに色分けして軌跡を表示することにより、その種族の分布を可視化できるようにしたジェネラティブアートです。 新たな種が生まれる一方で領土を追われて衰退していく種もあり、

          ALife2020でArt in the Science Awardを受賞しました