Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Играйте в Длинные и Короткие нарды онлайн! Наслаждайтесь классической настольной игрой с простыми правилами и захватывающей стратегией. Бросайте кубики, перемещайте шашки и обыгрывайте своего соперника. Играйте прямо сейчас бесплатно!

Нарды Длинные и Короткие онлайн

Настольные, Для двоих, Пошаговая

Играть

Топ прошлой недели

  • SpongeGod SpongeGod 1 пост
  • Uncleyogurt007 Uncleyogurt007 9 постов
  • ZaTaS ZaTaS 3 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
1997
dontdie
dontdie
1 год назад
Лига программистов

Простейший клеточный автомат, симулирующий конкуренцию⁠⁠

Правило одно - каждый ход, клетка перенимает цвет случайной клетки вокруг себя.

Результат напоминает борьбу (наций, идей, культур, языков и т.п.) за территорию.

Если в симуляцию добавить границы, то цвета будут устойчиво занимать географические ниши. Как и в жизни.

Со временем, цветов становится всё меньше, а их борьба затягивается. Это похоже на сокращение числа живых языков в мире. В итоге, в симуляции останется только 1 цвет. Может, и в будущем, весь мир заговорит одинаково?

Клеточный автомат простой, но мне хотелось поделиться результатом. Если у вас есть идеи для экспериментов, пишите в комменты. Буду рад!

Показать полностью 1
[моё] Клеточный автомат Алгоритм Программирование Программа Симулятор жизни Симуляция IT Игры Компьютерные игры Эволюция Клетка Пиксель Борьба Симулятор Генетический алгоритм Игра жизнь Карты Видеоигра Видео Без звука
203
5
Retigr
1 год назад

Жизнь внутри жизни⁠⁠

https://ru.wikipedia.org/wiki/Игра_«Жизнь»

YouTube Программирование Видео Игра жизнь
2
0
rvmkss.ru
rvmkss.ru
1 год назад

Игра «Жизнь 2.0. Полицейские и воры»⁠⁠

Погуглил, вроде таких правил еще не публиковали. Пощу сюда затем, чтобы узнать о подобных правилах (вдруг кто где-то видел подобное) и о ваших мнениях и критике. Минуса посту тоже приветствую, т.к. это тоже выражение критики. Ну а плюсы само собой приветствую. Спасибо за уделяемое внимание.

Посвящается режиссёру фильма "Полицейские и воры" 1997 г. Николаю Николаевичу Досталю (21 мая 1946, Москва — 18 января 2023).

Правила

Место действия игры — размеченная на клетки плоскость, которая может быть безграничной, ограниченной или замкнутой.

Каждая клетка на этой поверхности имеет восемь соседей, окружающих её, и может находиться в четырёх состояниях, т.е. быть
1) «живым полицейским» (заполненной клеткой колонии "Полицейские");
2) «живым вором» (заполненной клеткой колонии "Воры");
3) «живой дружбой» (заполненной клеткой одной из колоний, которая имеет хотя бы в одной из соседних восьми клеток заполненную клетку второй колонии);
4) «мёртвой» (пустой).

Распределение живых клеток в начале игры называется первым поколением. Каждое следующее поколение рассчитывается на основе предыдущего по таким правилам:
1) в пустой (мёртвой) клетке, с которой соседствуют три живые клетки одной из колоний, зарождается жизнь той же колонии;
2) в пустой (мёртвой) клетке, с которой соседствуют три живые клетки одной из колоний и три живые клетки второй колонии, зарождается жизнь колонии "Воры", а в восьмой пустой соседке зарождается жизнь колонии "Полицейские";
3) если у живой клетки есть две или три живые соседки своей колонии, то эта клетка продолжает жить;
4) если у живой клетки есть две или три живые соседки своей колонии и две или три живые соседки второй колонии, то эта клетка продолжает жить;
5) в противном случае (если живых соседей одной из колоний меньше двух или больше трёх) клетка умирает («от одиночества» или «от перенаселённости»).

Игра прекращается, если
1) на поле не останется ни одной «живой» клетки одной из колоний;
2) конфигурация на очередном шаге в точности (без сдвигов и поворотов) повторит себя же на одном из более ранних шагов (складывается периодическая конфигурация);
3) при очередном шаге ни одна из клеток не меняет своего состояния (частный случай предыдущего правила, складывается стабильная конфигурация).

Игрок не принимает активного участия в игре. Он лишь расставляет или генерирует начальную конфигурацию «живых» клеток обоих колоний, которые затем изменяются согласно правилам.

Показать полностью
[моё] Игра жизнь Игровые автоматы Текст
2
7
MrCreativeMan
MrCreativeMan
2 года назад

Игра "Жизнь" (Game of Life) или "Жизнь внутри жизни"⁠⁠

[TL;DR]: вот ссылка, пока! :)

Штош... я зачем-то написал свою реализацию игры "Жизнь" с использованием вот этих странных букаф: HTML5 + CSS3 + JavaScript и решил явить сиё творение этому миру :)

Игра "Жизнь" (Game of Life) или "Жизнь внутри жизни" Игры, Игра жизнь, Разработка, Веб-разработка, Javascript, Математика, Conways Game of Life, Gamedev, Инди игра, Инди, Длиннопост

Ну что вы, полноте, не нужно аплодисментов и бурных оваций, спасибо!

А теперь серьезно (местами).

Пара слов (но это не точно) об игре

(для тех, кто доселе о ней не слыхал [wat.jpg] или тех, кто о ней что-то знает, но просто очень сильно хочет еще эти предложения для чего-то почитать)

Игра "Жизнь" (Game of Life) — это с виду простенькая игра про жизнь, где в качестве живых существ (или небольших площадей, заселенных жизнью) выступают элементарные клетки (обычно квадратные, т. е. просто квадратики), закрашенные в определенный цвет [к слову, в моей реализации живые клетки окрашены синим], а в качестве мира, в котором они живут — игровое поле, представляющее собой сетку, состоящую из множества квадратиков, каждый из которых может быть либо живым (заполненным, населенным), либо мёртвым (пустым, ненаселенным).

Жизнь в Game of Life протекает по заданным правилам, которые в далеком 1970 году придумал английский математик Джон КОнвей [John Horton Conway, создатель вышеупомянутой игры, представляющей собой к тому же математическую/физическую/теоретикобиологическую концепцию, известную как клеточный автомат]. Эти правила известны как B3/S23 (Born 3 — в пустой клетке зарождается жизнь при наличии вокруг нее трех живых соседних клеток, Survive 2,3 — клетка выживает, если рядом с ней соседствуют 2 или 3 живые клетки).

Игрок принимает активное участие в задании начального расположения живых клеток на поле (начальный паттерн), а также имеет возможность запускать/приостанавливать игру, выполнять ее пошагово (и, вообще говоря, производить любые другие дополнительные действия, которые зависят от конкретной реализации игры, будь то рандомная генерация расположения клеток на поле или загрузка заранее заданного паттерна, или возможность/запрет добавления новых клеток в уже запущенной игре [или даже возможность сделать этот выбор настраиваемым], или управление скоростью игры за счет добавления задержки перед отрисовкой следующего хода, или что угодно еще из того, что придет в голову человеку, имеющему доступ к коду игры и/или способному так или иначе реализовать свою идею)...

На каждом этапе жизни (ходу или, другими словами, в каждом поколении клеток) любая из живых клеток либо продолжает жить (остается окрашенной в цвет живой клетки), либо умирает (окрашивается в другой цвет, символизирующий отсутствие жизни или пустоту [к примеру, белый или черный, или какой-угодно другой в зависимости от реализации]).

Каждая клетка продолжает жить, если среди 8 окружающих ее соседних клеток (для клеток, находящихся на краях поля в качестве отсутствующих соседних обычно берутся клетки с противоположного края [зависит от реализации]) есть живые соседи, при условии, что этих самых соседей не больше трёх и не меньше двух, иначе клетка умирает (от "перенаселения" или от "одиночества").

В пустой клетке, которую окружают три живые соседки, зарождается жизнь.

Игра заканчивается, если на поле не осталось живых клеток, или если игровой паттерн (узор расположения клеток) на каком-то ходу повторился, то есть полностью совпал с любым из паттернов предыдущих ходов.

Игра довольно проста в управлении

(во всяком случае для меня в моей же собственной реализации, т. к. ее код я сам и писал, в конце-то концов, но если без рофлов, то можно разобраться и без пол литра даже ежу, несмотря на то, что игра на английском [а что... там слова короче!])

Исходный код стоит чисто символические $50.000, переводить мне на карту в порядке живой очереди, спасибо. Ну, а если серьезно, то код полностью открыт (open source, Unlicense license) и доступен для каждого желающего на моей страничке github абсолютно без-воз-мез-дно, то есть даром... а еще без смс и регистрации, так, на всякий случай...

Так что можете смело:

- скачивать исходники игры

- играть (в github-репозитории в файле README.ru-RU.md есть инструкция как запустить игру для тех, кто не знает)

- смотреть код, пытаться понять код, ковырять его (переписывать по своему), проклинать код, крутить и вертеть код игры на чем угодно, но только в пределах разумного :) — в общем делать с кодом все то, что там с ним еще обычно делают...

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

В конце концов, вы можете просто использовать ее как рисовалку (пикселями) в свободное от чего бы то ни было время [при его наличии] :)

Feedback

Несмотря на всю мою ленивую человеческую природу, которую я периодически с переменным успехом пытаюсь преодолевать, приветствуются любые предложения, касающиеся этой реализации игры (например, по улучшению, по добавлению новых фич), которые можно:

- писать прямо сюда в комменты;

- создавать в виде issues на github (не парьтесь насчет правильности создания issue [корректно заполненные поля и прочая дребедень], просто создайте как-нибудь, описав свое предложение простыми словами, думаю я разберусь, а вот насчет ваших pull-реквестов в мой репозиторий — простите, но сразу нет: постоянно [или пусть даже периодически] изучать и принимать неизвестные мне pull-реквесты в своем репозитории я не имею ни малейшего желания, поэтому вместо этого смело форкайте мой репозиторий к себе на github или просто клонируйте/качайте код и изменяйте его как вашей душе угодно).

Если вам несказанно повезет (сойдутся все звезды, я увижу ваше сообщение, правильно его пойму, мне понравится предложенная вами идея и мне будет не лень и под силу ее реализовать), то с высокой долей вероятности я (не) добавлю ее реализацию в свой никому не нужный репозиторий (вау, вот это достижение).

Также (не)приветствуется критика (поливать говном желательно обоснованно и по возможности равномерно, чтоб красивее смотрелось).

Тут и сказочке конец. Кто прослушал - всем П...ц :0

Постскриптум: это мой первый пост на пикаЧу, поэтому смело судите все написанное мной по всей строгости здешних законов (не байт на плюсы, а просьба, честно, да).

Показать полностью 1
[моё] Игры Игра жизнь Разработка Веб-разработка Javascript Математика Conways Game of Life Gamedev Инди игра Инди Длиннопост
1
8
I00pper
2 года назад

Об игре⁠⁠

Эта история произошла когда у меня еще не пропало желание играть и я находил время для коллективного пинания мяча.

С малолетства играл я в дворовой футбол и ко времени описываемых событий (было мне на тот момент больше 30-ти лет) не отказывался на приглашение от малознакомых людей поучаствовать в игре только ради сбора равного количества игроков в каждой команде.

В тот день играли мы на школьном стадионе. Был летний в меру жаркий вечер, игра была скучной. Команда, куда меня определили, была на голову сильнее соперника и мяч был постоянно возле чужих ворот. Я топтался в своей штрафной площадке сняв футболку и получал удовольствие от теплого ветерка и солнышка, которое вело день к логическому завершению.

Возле стадиона было много людей: мамы с детьми, дети без мам, подростки и пожилые люди - все  наслаждались летним отдыхом. От нечего делать я посматривал по сторонам  и прикидывал, что при «удачном» попадании мяча в малыша, который подошел к самому краю поля, его маме будет что нам всем сказать, хотя именно в данный момент самой маме было бы неплохо оторваться от увлекательнейшей беседы с другими такими же мамами и обратить внимание на своё чадо.

Тут в поле моего зрения попадает одно из главных действующих лиц этой истории. На беговой дорожке стадиона, стоя уже почти на поле, нарисовался мужчина по виду лет от 30 до 40. Простые джинсы и черные туфли (для меня отвратительная комбинация), застиранная и не очень глаженная, но чистая рубашка и все это в сочетании с аккуратно причесанными волосами, гладко выбритыми щеками и подбородком, единственно  с поправкой, что брились на ночь – сизоватый цвет нижней части лица был тому подтверждением.

Вывод я сделал быстро и непринужденно – алкаш. Алкоголик  не в последней стадии этого чудного выбора примирения с действительностью. И судя по тому с каким нетерпением из своей засады он всматривался в окна дома с противоположной стороны стадиона, ждал он своего «брата по оружию» с «боеприпасами».

Выбор варианта с определением места в этой жизни данного субъекта был несложен, так как много их таких похожих друг на друга вокруг и всюду.

Матч продолжался в том же темпе и следить за ним более внимательно я не считал нужным. Зато моё внимание занял тип что ошивался на беговой дорожке. «Легко чуваку живется» - раскочегаривал я себя от нечего делать. «Дождаться собутыльника с волшебным напитком и больше ничего его в жизни не занимает», вновь подстегивал я сам себя. «Тут приходится на работе терпеть тупое начальство, сотрудников, не менее тупых, заниматься откровенно скучными делами…» ну, и так далее.

Отчего я взъелся на незнакомого мне человека… Наверное, всё очень просто, - мужчина от нетерпения почти заходил на территорию игрового поля, что мне не нравилось и во-вторых – от зависти. Я сам себя накрутил по привычке жаловаться, хотя всё на тот момент у меня в жизни было не так уж и плохо.

Действо продолжалось. Тип продолжал ходить взад-вперед вдоль кромки поля с нетерпением и  напряженным ожиданием в глазах, не отрываясь глядя в окна дома, что стоял напротив. Я генерировал негатив, что должно вас заставить сформировать правильное обо мне мнение.

Прошло минут 30-40 и ситуация изменилась – герой истории ринулся через все поле, где команды еще играли, то есть, можно сказать, мужик лавировал сквозь играющих. Я оторопел, но тут же успокоился логическим выводом, что ожидание жаждущего оправдались и неотвратимое свершилось.

Проследив глазами в направлении устремления типка я уже был подготовлен к сцене что увижу. И вот я вижу место «прибытия»…

А там. А там... А там, нарядная дева в образе. Взбитая прическа с хвостиком, платье с нижней частью «юбкой-колокольчиком» чуть-чуть прикрывающее колени. Чулки, туфли на шпильках и, ведь, идет по земле, а не оступится и походка лёгкая и свободная. Сама стройная, на талии поясок, подчеркивающий тонкость талии, и с лицом полный порядок – ничего лишнего, все по делу,  и в нужной пропорции. Короче, продуманная, осознанная красота и всё ради НЕГО! Чтобы ценил и любовался.

Я остолбенел. Мужик-то всё это время выглядывал свой предмет обожания, а я его в алкаши приписал. И помятость его может быть от того, что ночь не спал, предвкушал встречу.

Если до этого момента я не сильно интересовался игрой, то с того момента и, вовсе, забыл для чего я тут нахожусь и что я тут делаю.

Последний штрих, который меня убил, это были два или три белых стриженных, как полагается собакам их породы, пуделя ведомых девой и поводок от которых был снисходительно передан рыцарю дамы. Рыцарь был счастлив, дева светилась.

И пошли эти двое совместно путешествовать по планете на которой я находился вместе с ними, но они были в одном мире, а я в другом.

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

Обольщаться не нужно, надолго меня не хватило и все осталось как было и останется до конца – горбатого могила исправит. Всё так же, по внешнему виду, я сужу людей без зазрений совести и даже не пытаюсь подумать по-другому.

Что со мной осталось с того дня? Теперь я знаю, что жизнь это грандиозная и непостижимая игра и живем мы все здесь только с одной целью – научиться правилам и следовать им.

Любовь, влюбленность – это, также, игра со своими правилами и эта игра только часть большей игры. И сейчас по всему миру существуют игроки, которые не боятся последствий и даже не знают и не думают об этом. А сколько есть тех, кто обжегся и, скорее всего, не один раз. И поклялись: «Никогда», а потом - всё равно… Потому что не всё зависит от нас и я от одной этой мысли цепенею…

Поздравляю всех с Днем Влюбленных. С днем тех, кто сейчас идет путём всепоглощающим и дающим крылья. И пусть не будет сожалений и боли, если такое возможно, вообще.

Описанные события не вымышленные.

Приношу свои извинения за стиль изложения, слог, всякого рода ошибки. Мысли и выводы частично позаимствованы.

Спасибо за внимание.

Мира всем нам.

Показать полностью
14 февраля - День святого Валентина Игра жизнь Длиннопост Текст
1
Marsikot
Marsikot
2 года назад
Лига Геймеров

Ответ на пост «Привет геймерам Пикабу»⁠⁠2

Мне кажется клеточные автоматы это то что вам нужно. Канал на ютюб - onigiri.

Компьютерные игры Видео YouTube Ответ на пост Игра жизнь
1
enjoyable
enjoyable
3 года назад

Взлом игры "Жизнь". Познавательный пост⁠⁠

Непрерывная версия игры «Жизнь» в 3D

Взлом игры "Жизнь". Познавательный пост Компьютерная симуляция, Игра жизнь, Хакеры, Познавательно, Гифка, Видео, Без звука, Длиннопост

Игра состоит всего из двух простых правил, но это повлияло на многие разделы таких точных наук, как математика, информатика и физика.

Взлом игры "Жизнь". Познавательный пост Компьютерная симуляция, Игра жизнь, Хакеры, Познавательно, Гифка, Видео, Без звука, Длиннопост

1. Место действия игры — размеченная на клетки плоскость, которая может быть безграничной, ограниченной, или замкнутой.

2. Каждая клетка на этой поверхности имеет восемь соседей, окружающих её, и может находиться в двух состояниях: быть «живой» (заполненной) или «мёртвой» (пустой).

Взлом игры "Жизнь". Познавательный пост Компьютерная симуляция, Игра жизнь, Хакеры, Познавательно, Гифка, Видео, Без звука, Длиннопост

Планёр (англ. glider) — одна из фигур игры «Жизнь».


Также это тёплый ламповый аналог маски Гая Фокса. Автор идеи говорит об этом так :3

Глайдер — подходящая эмблема во всех отношениях.
Игра «Жизнь» была впервые описана в 1970 году. Она родилась почти в то же время, что и Интернет, и Unix. С тех пор она очаровала хакеров. В «Жизни» существуют простые правила взаимодействия с соседями, ведущие к неожиданной, поразительной сложности, которую невозможно было бы предсказать, опираясь лишь на правила — феномен эмерджентности.

Хакерство стало неразрывно связано с криминалом, а значит в этой игре можно и пострелять!Планерное ружьё Госпера — первая бесконечно растущая фигура. В роли пуль - планёры.

Взлом игры "Жизнь". Познавательный пост Компьютерная симуляция, Игра жизнь, Хакеры, Познавательно, Гифка, Видео, Без звука, Длиннопост

Никаких чит-кодов и Артманей. Боезапас - неограничен 😎

Взлом игры "Жизнь". Познавательный пост Компьютерная симуляция, Игра жизнь, Хакеры, Познавательно, Гифка, Видео, Без звука, Длиннопост

Видео в начале поста - это модификация игры, где фундаментально устранена пиксельность оригинальной игры. Автор мода, в качестве доказательства, демонстрирует гладкий планёр.

Взлом игры "Жизнь". Познавательный пост Компьютерная симуляция, Игра жизнь, Хакеры, Познавательно, Гифка, Видео, Без звука, Длиннопост
Взлом игры "Жизнь". Познавательный пост Компьютерная симуляция, Игра жизнь, Хакеры, Познавательно, Гифка, Видео, Без звука, Длиннопост
Мы представляем общее обобщение "Игры жизни" Конвея на непрерывности. Мы описываем теоретическую модель и конкретную реализацию на компьютере.

Интересно, а получится ли всё "это" вот из 2D в 3D?

Нуу... то есть поместить в трёхмерный мир?

Взлом игры "Жизнь". Познавательный пост Компьютерная симуляция, Игра жизнь, Хакеры, Познавательно, Гифка, Видео, Без звука, Длиннопост

Попробуем добавить красок?

Взлом игры "Жизнь". Познавательный пост Компьютерная симуляция, Игра жизнь, Хакеры, Познавательно, Гифка, Видео, Без звука, Длиннопост

Внимательный читатель уже должен был задать вопрос, а какого хрена тут происходит?
Сам частенько ловлю себя на этой мысли.
— Причём тут игры???

— А я хз... на этом всё (:

Подписывайтесь на мой канал! Ставьте лайк. Пишите в комментариях.

Взлом игры "Жизнь". Познавательный пост Компьютерная симуляция, Игра жизнь, Хакеры, Познавательно, Гифка, Видео, Без звука, Длиннопост
Взлом игры "Жизнь". Познавательный пост Компьютерная симуляция, Игра жизнь, Хакеры, Познавательно, Гифка, Видео, Без звука, Длиннопост
Показать полностью 10 1
[моё] Компьютерная симуляция Игра жизнь Хакеры Познавательно Гифка Видео Без звука Длиннопост
7
36
twinkly
twinkly
3 года назад
Лига Геймеров

Есть ли жизнь после жизни?⁠⁠

Автор: Куликовских Сергей

Всем доброго дня или ночи! Затронутая в статье тема может показаться настолько избитой до популярности, что при ее прочтении возникнет стойкое желание взять помидор или, не дай бог, кирпич и кинуть в автора. А изложенные мысли будут напоминать повторное изобретение велосипеда с квадратными колесами. Но идея, побудившая приступить к описанию, буквально зудит и просится ей поделиться, несмотря на угрозу физического или морального наказания.

Историческая справка


В далеком 1970 году английский математик Джон Хортон Конвей, увлеченный темой клеточных автоматов, с командой единомышленников описал вымышленный мир, объекты которого эволюционировали по определенным правилам. В дальнейшем эта работа обрела большую популярность, благодаря ее практической реализации в виде игры под названием "Жизнь".

Есть ли жизнь после жизни? Gamedev, Разработка, Инди, Программирование, Математика, Javascript, Игра жизнь, Гифка, Длиннопост

Конвей и игра «Жизнь», 1974 год


Алгоритм игры настолько прост и в то же время увлекателен, что более полувека привлекает внимание не только учёных, но и простых обывателей:


- Место действия этой игры — «вселенная» — это размеченная на клетки поверхность или плоскость — безграничная, ограниченная, или замкнутая (в пределе — бесконечная плоскость).


- Каждая клетка на этой поверхности может находиться в двух состояниях: быть «живой» (заполненной) или быть «мёртвой» (пустой). Клетка имеет восемь соседей, окружающих её.


- Распределение живых клеток в начале игры называется первым поколением. Каждое следующее поколение рассчитывается на основе предыдущего по таким правилам:

1. в пустой (мёртвой) клетке, рядом с которой ровно три живые клетки, зарождается жизнь;

2. если у живой клетки есть две или три живые соседки, то эта клетка продолжает жить; в противном случае, если соседей меньше двух или больше трёх, клетка умирает («от одиночества» или «от перенаселённости»)


- Игра прекращается, если

1. на поле не останется ни одной «живой» клетки

2. конфигурация на очередном шаге в точности (без сдвигов и поворотов) повторит себя же на одном из более ранних шагов (складывается периодическая конфигурация)

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


Эти простые правила приводят к огромному разнообразию форм, которые могут возникнуть в игре. К настоящему времени более-менее сложилась следующая классификация фигур:


- Устойчивые фигуры: фигуры, которые остаются неизменными


- Долгожители: фигуры, которые долго меняются, прежде чем стабилизироваться[2];


- Периодические фигуры: фигуры, у которых состояние повторяется через некоторое число поколений, большее 1;


- Двигающиеся фигуры: фигуры, у которых состояние повторяется, но с некоторым смещением;


- Ружья: фигуры с повторяющимися состояниями, дополнительно создающие движущиеся фигуры;


- Паровозы: двигающиеся фигуры с повторяющимися состояниями, которые оставляют за собой другие фигуры в качестве следов;


- Пожиратели: устойчивые фигуры, которые могут пережить столкновения с некоторыми двигающимися фигурами, уничтожив их;


- Отражатели: устойчивые или периодические фигуры, способные при столкновении с ними движущихся фигур поменять их направление;


- Размножители: конфигурации, количество живых клеток в которых растёт как квадрат количества шагов;


- Фигуры, которые при столкновении с некоторыми фигурами дублируются.


Конвей первоначально предположил, что никакая начальная комбинация не может привести к неограниченному размножению и предложил премию в 50 долларов тому, кто докажет или опровергнет эту гипотезу. Приз был получен группой из Массачусетского технологического института, придумавшей неподвижную повторяющуюся фигуру, которая периодически создавала движущиеся «планеры». Таким образом, количество живых клеток могло расти неограниченно. Затем были найдены движущиеся фигуры, оставляющие за собой «мусор» из других фигур.

Есть ли жизнь после жизни? Gamedev, Разработка, Инди, Программирование, Математика, Javascript, Игра жизнь, Гифка, Длиннопост

Планерное ружьё Госпера — первая бесконечно растущая фигура


Что дальше?


Благодаря развитию компьютерных технологий, на сегодняшний день существует столько реализаций игры "Жизнь" как в классическом варианте, так и в виде ее многочисленных модификаций, что тема кажется исчерпанной. Каждый, кто в достаточной мере проявлял интерес к математике или информатике, знаком с данной игрой или даже ей увлекался.


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


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

Есть ли жизнь после жизни? Gamedev, Разработка, Инди, Программирование, Математика, Javascript, Игра жизнь, Гифка, Длиннопост

Демонстрация первой версии


Столь бурная детская реакция стала причиной не останавливаться на достигнутом и продолжить работу. В проект был добавлен редактор состояния клеток, панель управления процессом эволюции (запуск и остановка). И после очередного утомительного набора в редакторе фигуры "ружье Госпера" возникла идея реализовать палитру готовых фигур. Затем потребовалось, чтобы эти фигуры можно было поворачивать и делать зеркальное отражение, а в саму палитру добавлять новые фигуры не модифицируя код проекта... Новые идеи не иссякали, а Остапа все несло и несло...

Есть ли жизнь после жизни? Gamedev, Разработка, Инди, Программирование, Математика, Javascript, Игра жизнь, Гифка, Длиннопост

Палитра фигур и управление процессом эволюции


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

Есть ли жизнь после жизни? Gamedev, Разработка, Инди, Программирование, Математика, Javascript, Игра жизнь, Гифка, Длиннопост

Мир треугольников


Итоги


Таким образом случайная идея неожиданно обрела форму и превратилось в более или менее серьезный мини-проект, насчитывающий около полутора тысячи строк кода обычного JS без привлечения тяжелой артиллерии в виде различного рода фреймворков и библиотек. Код постарался "причесать" насколько возможно, но проект еще далек от завершения и в голове полно идей для дальнейшей модернизации.


Проект доступен на GitHub для конструктивной критики и свободного использования.


Всем добра! Спасибо за внимание!

Источник

Показать полностью 5
Gamedev Разработка Инди Программирование Математика Javascript Игра жизнь Гифка Длиннопост
4
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии