Мой эксперимент в генетических алгоритмах + исходный код

Здравствуйте, товарищи.
Увидел я, значит, недавний пост посвящённый генетическому алгоритму, и загорелся идеей повторить его - http://pikabu.ru/story/geneticheskiy_algoritm_v_deystvii_463...


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

Алгоритм повторял исключительно по информации, описанной в видео, исходные коды не смотрел.

Мой эксперимент в генетических алгоритмах + исходный код Программирование, Генетический алгоритм, Эксперимент, Видео, Гифка, Длиннопост

Итак, я начал писать программу... На Game Maker Studio... Ну а что, есть же люди, которые линукс на холодильники ставят?
На работу над программой ушло примерно два дня, за которые механика трижды полностью переписывалась. В результате я получил более-менее успешный прототип симулятора эволюции и приступил с полевым испытаниям.

Сначала боты были очень тупыми, тыкались в стены и умирали стоя на месте

(Прошу прощения за качество гифок, очень сильно сожралось при уменьшении размеров до разрешённых на пикабу)

Мой эксперимент в генетических алгоритмах + исходный код Программирование, Генетический алгоритм, Эксперимент, Видео, Гифка, Длиннопост

После одной ночи работы программы стали заметны первые зачатки "разума":

Мой эксперимент в генетических алгоритмах + исходный код Программирование, Генетический алгоритм, Эксперимент, Видео, Гифка, Длиннопост

После двух ночей "разум" заметно улучшился, вместе с продолжительностью жизни ботов:

Мой эксперимент в генетических алгоритмах + исходный код Программирование, Генетический алгоритм, Эксперимент, Видео, Гифка, Длиннопост

Для особо упоротых товарищей (вроде меня), и для желающих поржать над моим кривым кодом, выкладываю исходник всей этой истории. Откомментировал в коде всё, что смог.
Ссылка на исходник - http://almostgames.ru/games/evol.gmz
Спасибо за внимание.

P.S. Однажды наступит день, когда я вернусь к этой затее и напишу полноценный гибкий, расширяемый симулятор на каком-нибудь нормальном языке...

Мой эксперимент в генетических алгоритмах + исходный код Программирование, Генетический алгоритм, Эксперимент, Видео, Гифка, Длиннопост

Лига Разработчиков Видеоигр

6.7K постов22.2K подписчика

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"

Вы смотрите срез комментариев. Показать все
12
Автор поста оценил этот комментарий
Иллюстрация к комментарию
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку