После прочтения одной , я очень вдохновился этой идеей. Потратив сутки на разработку общих алгоритмов поведения, я сел работать. Откопав старый бренд, решил писать тут под ним.
Про что
Чистое поле, по которому ползают квадратные существа, питаются, плодятся, бьются за самок и еду. Существ я назвал олимами. А такое скудное количество возможностей скрывают под собой большое количество технических проблем.
Цель
Целю разработки является, добиться некой саморегулирующиеся среды и наблюдать, как она будет развивается. Мне это интересно с точки зрения разработки и в качестве эксперимента.
Координаты
Начал с работы с координатами, придумывал алгоритмы вычисления расстояния между двумя точками. Долго мучился, получались разные и не правильные данные. Потом пытался рисовать круг вокруг точки и снова квадраты выходят.
Потом напомнили про формулу:
И все получилось. Благодаря ей я могу выявить круг вокруг точки, который будет играть роль поля зрения для наших олимов. А расстояние между точками позволит выставлять приоритеты движения. Например за какой едой идти.
Пока я разрабатываю алгоритмы на примитивном маленьком поле в 20х20 клеток.
Извиняюсь, что так мутно вышло.
Здесь мы видим наш центр — синий квадрат, от него и пляшем. По сути это координационная сетка или пиксельная картинка, просто сильно увеличенная.
Коричневым отмечены другие олимы. Красная область, это поле зрения олима от которого мы считаем(синий). Внизу отображается массив с идентификаторами олимов, которые попали в поле зрения. Число в каждой клетке гласит о расстоянии до синего олима, так же это число можно принимать как количество переходов от клетки в клетку до синего олима.
В завершении
Первый топик вышел странным. Автор статьи на которую я ссылался, пишет, что разработал свою систему за два дня. Я попробовал сам и маюсь на одной точке третий день. У всех мастерство разное.
В следующем посте я расскажу о том, как олимы будут вести себя в своем мире. Как они будут размножатся, биться на смерть, блуждать в поисках еды и т.д.
Комментарии (0)
RSS свернуть / развернутьТолько зарегистрированные и авторизованные пользователи могут оставлять комментарии.