Pull to refresh

Comments 10

UFO landed and left these words here
Интересная реализация, есть куда развивать. Если будет не лень, предлагаю добавить:
— «Двухуровневость» — то есть, кормовая база оленей также является восполняемым ресурсом: олень жрёт траву почти под ноль, но если оленей нет — трава отрастает за несколько тиков. Если травы нет, олень голодает или мигрирует.
— «Насыщенность» — сделать жизненное состояние волка не бинарным (жив/мёртв), а добавить «очки здоровья» в зависимости от количества недавно съеденных оленей и голода. Волк будет думать о размножении только в случае, если его «очки здоровья» больше определённой константы (на голодный желудок особо не до секса).
— «Везучесть» — в случае, если волк и олень оказываются на одной клетке, у оленя есть вероятность убежать.
— С вероятностью в N% может случаться либо «bounty day» для той или иной популяции, когда прирост возрастает или наоборот тёмные деньки — эпидемия.
Самая интересная задача — добавить человека и сделать систему устойчивой, до сих пор в реальном мире не решена…
Относительно недавно была статья о схожем но проекте с гораздо более проработанной механикой «жизни».

Вариант с «эпидемией»:

Это уже совсем другая модель, а эта Хищник-жертва — классика математического моделирования.

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

нода приятнее браузера, чисто на мой вкус

Несколько быстрых, облегчающих жизнь, советов касательно js на будущее:


  • Сервер у вас определенно лишний, все то же можно запускать сугубо на клиенте. Возни будет меньше, а поднять потом можно будет как статический сайт. Например, можете попробовать мой темплейт для webpack — github.com/tynrare/webpack-template


  • js — не единственный вариант для веба, и пока вы в этом болоте не погрязли, советую попробовать haxe ради сравнения. Есть игровой движок heaps.io, и околоигровой openfl.org. Очень просто ставятся и очень понятно работаются


  • под жс есть хорошие библиотеки визуализации данных, вроде visjs.org или d3js.org. Их стоит освоить не потому что без них нельзя вывести инфу на канвас, а потому что они позволяют сделать реально круто.


  • есть специальные сервисы, заточенные под работу с визуализацией данных для непрограммистов, например p5js.org. Еще observablehq.com нравится


  • Подобное приложение, по хорошему, стоит проектировать с расчетом на "побаловаться". Подключать dat.gui, писать в какой-нибудь codepen.io, и когда уже вы спроектируете все параметры, у вас будет возможность и самому поиграть со значениями в свободном режиме, и остальным дать попробовать



Удачи!

Sign up to leave a comment.

Articles