Evolve Me
Петтер Бергмар
Для Procedural Generation Jam 2016 я хотел сделать что-то простое с элементами эволюции и естественного отбора. Он закодирован не как обычный генетический алгоритм, а в простой и «игровой» форме, позволяющей «видеть» эволюцию в реальном времени. Ниже я кратко опишу, что я имею в виду. Сделано в Unity с использованием C#.
Каждый куб действует на основе множества параметров. Им нужно есть случайно нерестящиеся растения, иначе они умрут, и в конечном итоге умрут от старости. Как только они достигают минимального возраста воспроизводства и натыкаются на любой другой куб, они спариваются и мгновенно производят на свет троих детей. Дети наследуют имущество родителей в соотношении 50/50. Каждый дочерний элемент будет видоизменять некоторые из своих свойств — это означает незначительное случайное изменение значения. Эта мутация может быть как положительной, так и отрицательной. Единственный «смысл» кубиков в том, что они могут «видеть» луч, брошенный прямо вперед на определенное расстояние. То, что они делают с входными данными, зависит от их свойств.
Вот основные свойства куба.
- Размер . Большие кубики подходят для еды и других кубиков, а маленькие имеют большее ускорение.
- Движение вперед – возможность двигаться вперед, когда ничего не видно.
- Изменить направление – возможность изменить направление, когда ничего не видно.
- Продолжайте поворачивать – вероятность повернуть в предыдущем направлении, когда ничего не видно.
- Ешь драйв – гл.возможность броситься вперед, если будет замечено растение.
- Половое влечение – шанс броситься вперед, если замечено другое существо (и возраст > minReproductionAge).
- Шанс прыжка – Шанс прыжка.
- Сила прыжка – Сила прыжка
Самое крутое, что это работает. Изначально появляется куча существ, которые сразу же немного мутируют. Я намеренно сделал их стартовую статистику неоптимальной. Поскольку поколения живут, умирают и размножаются, существа с менее оптимальными свойствами умрут, прежде чем у них появится шанс размножиться. Кубики с более высоким половым влечением будут воспроизводить больше и т. д.
После продолжительной работы средние свойства изменяются следующим образом: размер становится меньше, движение вперед увеличивается, изменение направления уменьшается, поворот увеличивается, чтобы всегда продолжать поворот, влечение к еде увеличивается, сексуальное влечение увеличивается, шанс прыжка увеличивается после очень долгое время, когда достаточно случайных кубиков попадает в соседние «бассейны».
Инструкции:
ВНИМАНИЕ: ЭТО НЕ ИГРА! Взаимодействие ограничивается перезапуском новой популяции и наблюдением. WASD или клавиши со стрелками для перемещения, мышь для просмотра. Backspace для перезапуска.
Другие игры Петтера Бергмара: <р>
Как скачать Evolve Me через торрент
Всего несколько простых шагов:
- Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
- Выбираем и скачиваем подходящий торрент-файл репака Evolve Me
- Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
- После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!