RU

Идея игры про эволюцию. Обсудим

MasterSet #11 07.02.2012 09:30 41 comments 22757 views

У меня тут был некоторый творческий кризис. Причем по Ajenta-style. Не то чтобы идей не было. Идей вроде много, но ни за какую не хочется сейчас браться. В такой ситуации приходится выдумывать новую, чтобы получить творческий заряд и вырваться наконец из порочного круга лени.

Сегодня меня посетила идея, которая сподвигает взяться за клавиатуру. Но так как я еще ни строчки не написал, делать анонс рано. Решил сделать обсуждение. В надежде что общение на тему будет поддерживать мой порыв и я все-таки допишу.

В основе своей, идея не особо оригинальна - фактически это хардкорный текстовый симулятор эволюции. Что-то вроде “стадии существа” в The Spore, но менее мультяшно и более стратежно.

Первые идеи по реализации следующие:
Создаем базовый пул экосистем: глубокое море, шельф, озеро, река, карст, пустыня, степь, тундра, тайга, лес, джунгли, болота, горы. Для каждой экосистемы делаем свое чередование сезонов: где-то сухой/влажный, где-то теплый/холодный, где-то оставляем стабильность. Плюс нужна таблица развития/деградации экосистем под воздействием времени и катаклизмов. Со временем одна система переходит в другую и существу надо либо приспосабливаться либо мигрировать.

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

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

Далее делаем собственно симулятор животного. У животного есть запас энергии. Абсолютный максимум энергии определяется строением животного. Текущий максимум — тем как давно животное спало. Сон восстанавливает текущий максимум до абсолютного. Еда позволяет увеличивать значение энергии вплоть до текущего максимума. Все действия требуют энергетических затрат, равно энергия тратится на переход к следующему происшествию. Объем затрачиваемой энергии зависит от строения тела животного.

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

Каждому виду дается запас популяционной устойчивости. В начале игры за вид он равен 1. Каждая смерть животного под управлением игрока уменьшает запас устойчивости вида на один. Если он уходит в минус — вид считается вымершим и игроку надо выбрать другой узел своего древа развития (из выживших видов) чтобы продолжить игру.

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

Осталось определиться с базовым существом и деревом мутаций.
Первый этап — попробую закодить жизненный цикл простого существа без развития в фиксированном биоме. А дальше на это уже будем наращивать всякое.

Edited at 07.02.2012 23:13 (14 years ago)

Это всё слишком сложно для меня :(
Мне бы что-нибудь типа Старграда или куртуазной баллады…

На рпг/квесты пока нету настроения.

Меня сейчас крайне привлекает идея “песочницы”

Авотхрен тебе, а не “песочница” на куспе, по мне, так “песочница” удел ГРАФОНА, ну, как-то так.

Чё сказал - сам не понял :))))

Ну я вот понял что он сказал. Только не понял почему.
Евген - обосновать слабо?

Aleks Versus Moderator 07.02.2012 17:17 (14 years ago)

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

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

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

Кстати можно похоливарить! )
Какие претензии к теории эволюции и какая теория по твоему описывает мир достовернее?

MasterSet:

обосновать слабо?

Спокойно, пример, Майнкрафт.
Что мы там имеем? Во первых геймплей и т.д. и т.п. - самое интересное, но… НО, почему в него легко играть? Потому что есть ГРАФОН, то есть графика как таковая, то есть если рядом свинья, то ты её видишь. Конечно, в куспе можно вставить картинки, но по моему игрок не насладиться всей увлекательностью геймплея, ибо заумно будет. Я не говорю про пейзажы, ибо как по мне, то пейзажи и персонажей я лучше “уфантазирую”, чем увижу. Как-то так.

Сидан Рейдан #13 07.02.2012 18:50 (14 years ago)

“Как-то так”, очень любопытно.

Евген:

НО, почему в него легко играть?

# 1. Кто говорил про “легко”?

Евген:

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

# 2. “Насладиться”, ага. Увлекательностью геймплея (UPD: …”без графона”…)уже не первый год вовсю наслаждаются армии поклонников этой песочницы.

Евген:

Я не говорю про пейзажы, ибо как по мне, то пейзажи и персонажей я лучше “уфантазирую”, чем увижу.

Пейзажы\пейзажи и про их фантазирование - см. выше касательно той же ссылки.

UPD: Ах, да, по теме.
Если то, что описал многоуважаемый MasterSet получится сделать - лично я, полагаю, буду в восторге; отставляя в сторону рассуждения на тему “текстовая ли игра”, ибо мне “проба на прочность” QSP подобного рода априори интересна.
Не выйдет - ну, это будет вполне так объяснимо.

Edited at 07.02.2012 18:54 (14 years ago)

ППКС

Возникла идея скриптового балансировщика экосистем.

Сначала определяем заданный объем разнообразия экосистемы. Наверное он должен быть разным для разных биомов, но предположим что в среднем это будет шесть видов животных, включая вид игрока, плюс пять видов растений (для растений делаем свою эволюционную ветку). Выживаемость вида игрока зависит только от успешности самого игрока - какой он поддерживает объем популяции. Все атаки хищников происходят только на него, но еду ему надо добывать только для себя.
Каждый независимый вид имеет свой объем популяции и представлен одной особью на каждую единицу популяции в экосистеме.
В течение каждого цикла игры происходят следующие события:
- Живые растения проходят цикл размножения.
- Независимые существа, имеющие локомоцию быстрее чем у игрока, питаются в порядке убывания скорости локомоции. Травоядными и всеядными потребляется определенное количество доступных для них растений, начиная с тех что имеют максимальную биомассу. Хищники, и те всеядные которым не удалось накормить свою популяцию, производят атаки на других существ. Каждый представитель популяции хищников предпринимает попытки нападения в следующем порядке: начиная с существа с наибольшим запасом сил, заканчивая существом с наименьшим запасом сил. Успешность атак определяется так же как и для игрока, за исключением того что сначала проигрывается вариант боя, а потом вариант побега даже если бой показывает что жертва умерла. Если жертва убила охотника, ставится маркер — этот вид хищника никогда более не атакует этот вид жертвы. Если жертва сбежала от охотника ставится маркер — до конца хода этот вид хищников не атакует этот вид жертвы. Маркер не ставится, если все остальные жертвы уже отмечены как запрещенные. Каждый представитель популяции хищника имеет шанс на одну атаку на каждый вид в экосистеме, кроме своего. Он прекращает атаку если убит. Весь вид прекращает атаки если потреблено достаточное количество калорий.
- Ход игрока.
- Ход существ с меньшей скоростью локомоции чем у игрока.
- Все существа у которых сыта вся популяция запускают цикл размножения. Особи которым не хватило еды - вымирают.
- Если популяция растений или животных вымерла полностью, им на замену создается новый вид, путем добавления одной случайной мутации виду имеющему наибольший объем популяции. При этом объем популяции нового вида становится равен 1/3 старого +1, а объем популяции старого вида 2/3 старого +1.
Надо будет еще поработать над алгоритмами цикла размножения, однако такой алгоритм должен по идее способствовать возникновению достаточно сильных видов существ, в рамках доступного набора мутаций. И они будут динамично приспосабливаться к изменяющимся внешним условиям. Даже ближе к научной достоверности получится.

Сидан Рейдан:

1. Кто говорил про “легко”?

Я.

Сидан Рейдан:

2. “Насладиться”, ага. Увлекательностью геймплея (UPD: …”без графона”…)уже не первый год вовсю наслаждаются армии поклонников этой песочницы.

Там тоже есть графон, плохой, но есть.

Сидан Рейдан:

Пейзажы\пейзажи

Ошибончик, быстро писал просто.

В оригинале нет. Там ASCII. Графика прикручивается сторонними дополнениями.

Я имел ввиду ASCII графоном. LOL.

Мастер, замечательная идея! Главное - сохранить творческий запал, ибо если всерьез возьмешься за такой проект, то работа предстоит немалая :)

MasterSet:

Ну я не замахиваюсь на научную достоверность.

Ну, хоть какое-то подобие научной достоверности быть должно.

MasterSet:

А балансировка существ да, это важный момент. Над ним надо серьезно думать.

Ты справишься. Сумел же как-то сбалансировать расчетные формулы в Кобольдии и довести кобольдов до победы)

Сидан Рейдан:

ибо мне “проба на прочность” QSP подобного рода априори интересна.

Да QSP-то достаточно прочен для этого. Главное, чтобы прочен был автор)

Log in or Register to post comments.