Регистрация  |  Вход

Программируем жизнь

Сегодня одна статья на хабре
Создание «искусственной жизни» на компьютере
напомнила мне тему которую я еще со времен ZX Spectrum мечтал реализовать.
Мечтал поиграться с эмулятором жизни и понаблюдать как будет развиваться искусственный мир. Хотелось почувствовать себя маленьким богом со своим маленьким миром населенным псевдо-живыми организмами.
Вот тут видос автора статьи с примерами различных вариантов эволюции.
https://www.youtube.com/watch?v=PCx228KcOow
Меня такое зрелище завораживает.

У автора правда немного другая реализация мира - вертикальная. Я больше думал про горизонтальную. Взять сгенерировать карту с рельефом и заселить ее животными с разными вариантами поведения. Поведение конечно я думал забивать статическим, но из статьи выше мне понравится вариант реализации самостоятельной эволюции организма.

Возможно когда-нибудь получится заняться этой задачей. Уж больно руки чешутся.

Кстати, внизу из комментов вычитал занимательную выдержку про крупные соревнования проводимые на базе эмуляторов жизни.

В нынешнем (2002 — И.П.) году Microsoft затеяла игру для программистов многих стран мира. ...Microsoft создала террариум. Всем желающим предложили населить его растениями и животными — травоядными и хищниками.

Программист задавал свойства существа (дальность зрения, максимальная скорость движения, сила атаки, сила защиты и т.п. — общая сумма была ограничена), алгоритмы его поведения (по какой траектории передвигаться; в каких случаях атаковать; есть все, что обнаружишь, или оставить немного на развод и т. п.). Трава росла. Травоядные ели траву. Хищники ели травоядных и друг друга.
Тот, кто больше ел, больше размножался. Задача состояла в том, чтобы размножиться как можно больше, вытесняя конкурирующие разновидности хищников, травоядных и т.п. Игра показала, что россияне плохо умеют изготовлять хищников, зато у них замечательно получаются травоядные. В ходе игры российские «коровы» победили всех конкурентов — за счет уникальной стадности и редкостного умения пакостить травоядным представителям других наций. По сути, российские разработчики были единственными, кто додумался, как сделать травоядных по-настоящему стадными. По правилам игры, животным не разрешалось напрямую обмениваться информацией. Поэтому, пасущаяся с краю стада «корова» не могла сообщить коллегам об увиденной «траве» или приближающихся хищниках.

Россияне придумали следующий алгоритм стадности. Если одна корова видела бегущую корову своего вида — она начинала бежать в том же направлении. Любопытно, что никто, кроме россиян, не додумался до такой идеи. По словам организаторов игры, именно эта не рассуждающая массовость принесла россиянам победу. Второе изобретение российских программистов было поизощреннее. Если в поле зрения их коровы не было травоядных своего вида — а сплошь чужаки, российская корова с максимальной скоростью съедала всю доступную траву, ничего не оставляя «на развод». И погибала от голода вместе с чужаками. Сложная смесь самопожертвования и ксенофобии.

Обратите внимание — жертвуя собой, отечественные травоядные боролись не с хищниками. Они мешали хорошо жить травоядным чужой породы. Конечно, не совсем правильно выводить национальную психологию из несложной разработки нескольких программистов — хотя бы и победителей крупного международного соревнования. Наверное, описанные выше свойства отечественных творений — не общий принцип. Но, возможно, достаточно показательная иллюстрация.

Сегодня одна статья на хабре 
[url=https://habr.com/post/418545/]Создание «искусственной жизни» на компьютере[/url]
напомнила мне тему которую я еще со времен ZX Spectrum мечтал реализовать.
Мечтал поиграться с эмулятором жизни и понаблюдать как будет развиваться искусственный мир. Хотелось почувствовать себя маленьким богом со своим маленьким миром населенным псевдо-живыми организмами.
Вот тут видос автора статьи с примерами различных вариантов эволюции.
https://www.youtube.com/watch?v=PCx228KcOow
Меня такое зрелище завораживает. 

У автора правда немного другая реализация мира - вертикальная. Я больше думал про горизонтальную. Взять сгенерировать карту с рельефом и заселить ее животными с разными вариантами поведения. Поведение конечно я думал забивать статическим, но из статьи выше мне понравится вариант реализации самостоятельной эволюции организма.

Возможно когда-нибудь получится заняться этой задачей. Уж больно руки чешутся.

Кстати, внизу из комментов вычитал занимательную выдержку про крупные соревнования проводимые на базе эмуляторов жизни.

[quote]В нынешнем (2002 — И.П.) году Microsoft затеяла игру для программистов многих стран мира. ...Microsoft создала террариум. Всем желающим предложили населить его растениями и животными — травоядными и хищниками.

Программист задавал свойства существа (дальность зрения, максимальная скорость движения, сила атаки, сила защиты и т.п. — общая сумма была ограничена), алгоритмы его поведения (по какой траектории передвигаться; в каких случаях атаковать; есть все, что обнаружишь, или оставить немного на развод и т. п.). Трава росла. Травоядные ели траву. Хищники ели травоядных и друг друга.
Тот, кто больше ел, больше размножался. Задача состояла в том, чтобы размножиться как можно больше, вытесняя конкурирующие разновидности хищников, травоядных и т.п. Игра показала, что россияне плохо умеют изготовлять хищников, зато у них замечательно получаются травоядные. В ходе игры российские «коровы» победили всех конкурентов — за счет уникальной стадности и редкостного умения пакостить травоядным представителям других наций. По сути, российские разработчики были единственными, кто додумался, как сделать травоядных по-настоящему стадными. По правилам игры, животным не разрешалось напрямую обмениваться информацией. Поэтому, пасущаяся с краю стада «корова» не могла сообщить коллегам об увиденной «траве» или приближающихся хищниках.

Россияне придумали следующий алгоритм стадности. Если одна корова видела бегущую корову своего вида — она начинала бежать в том же направлении. Любопытно, что никто, кроме россиян, не додумался до такой идеи. По словам организаторов игры, именно эта не рассуждающая массовость принесла россиянам победу. Второе изобретение российских программистов было поизощреннее. Если в поле зрения их коровы не было травоядных своего вида — а сплошь чужаки, российская корова с максимальной скоростью съедала всю доступную траву, ничего не оставляя «на развод». И погибала от голода вместе с чужаками. Сложная смесь самопожертвования и ксенофобии.

Обратите внимание — жертвуя собой, отечественные травоядные боролись не с хищниками. Они мешали хорошо жить травоядным чужой породы. Конечно, не совсем правильно выводить национальную психологию из несложной разработки нескольких программистов — хотя бы и победителей крупного международного соревнования. Наверное, описанные выше свойства отечественных творений — не общий принцип. Но, возможно, достаточно показательная иллюстрация.[/quote]