Развиваем идею! Реализация новой системы здоровья

Aflertis

Модератор
Ур
0
 
Начал воплощение в жизнь новой системы здоровья. http://clip2net.com/s/2IZ8w
В игре будет видно только позывы в виде значков, признаки(симптомы) в виде покачивания и затемнения экрана, также рвота, понос и т.д.

В программе я делаю полное отображение всех показателей для дебага и наглядности

Концепт:

Уже есть жажда и её влияние на сердечно-сосудистую систему
Есть голод и его влияние на двигательную систему
 

uptime

Непобедимый
Ур
8
 
Схемка мощная. Но вот табличка мне не понятна - это как бы должно быть в игре? Тогда излишне информативно.
 

Aflertis

Модератор
Ур
0
 
Схемка мощная. Но вот табличка мне не понятна - это как бы должно быть в игре? Тогда излишне информативно.
В игре будет видно только позывы в виде значков, признаки(симптомы) в виде покачивания и затемнения экрана, также рвота, понос и т.д.

В программе я делаю полное отображение всех показателей для дебага и наглядности
 

Grobman

Легенда
Ур
0
 
Я начал писать алгоритмы влияния. Вчера ночью так и уснул с айпадом в руках.

Оооочень много читать.
Алгоритмы здоровья.

Мозг умирает, когда "питат" доходит до нижней отметки, кислород доходит до нижней отметки или токсины доходят до верхней отметки.
Кислород имеет 100 единиц. При беге отнимается 3 единицы в секунду. При ходьбе 1. При ходьбе в гору 2. При ходьбе с большим весом рюкзака 2. при беге с большим весом рюкзака 4. При беге в гору с рюкзаком 5. Плюс к этому расходуется постоянно 1 единица кислорода (для мозга). При здоровых легких восполняется 4 единицы в секунду. Под водой восстанавливается 0 единиц в секунду. На будущее: можно ввести кнопку "задержать дыхание" (под водой автоматически), нужна только когда ходишь в зоне действия газовой гранаты, сильного задымления и так далее. Если ее нажать, то восстановление кислорода 0. Если не нажать, то восстановление 1, но при этом растут токсины в организме.
100 идеально. 30 не может бегать и экран темнеет по краям, 20 стоит упершись руками в колени пока не отдышится, экран сильно темнеет по краям, звуки приглушены. 10 теряет сознание. Если легкие повреждены очень сильно, то умрет через 10 секунд. Если не оказать помощь.

Токсины. Когда достигают 100 единиц, мозг умирает. Чем меньше, тем лучше. Образуются в организме постоянно, 1 единица за счет работы мозга ( мочевая кислота, естественный продукт метаболизма), 2 единицы при беге и 3 единицы при беге в гору с нагрузкой (молочная к-та, которая создает боль в мышцах после тренеровки, на самом деле мозг убить не может и играет роль только для бега, но связана и с другими токсинами), инфекционные токсины образуются при болезни 3 единицы в секунду. Итого больной при беге в гору с нагрузкой вырабатывает 8 единиц. Выделяются при здоровой мечевыделительной системе в количестве 5 единиц в секунду при незаполненном мочевом пузыре. При наполненом 4, при переполненом не выделяются. Если долго терпеть, образуется цистит и снижается выработка на 1 единицу не зависимо от пузыря (7/4 пустой/полный).
Если цистит не лечить антибиотиками он превращается в восходящий пиелонефрит и тогда выработка снижается на 2 единицы (опасно при болезни 6/23 пустой полный). Далее при большом количестве выпитой воды (смотри ниже) +1 единица к выделению, при очень большом +2. И +2 единицы если пить мочегонные средства (+1 при пиелонефрите, и к тому же снижают вероятность излечиться антибиотиками). Но мочегонные средства могут повысить гематокрит только до 80. При этом снижается ОЦК. Но не ниже 130. Если один из этих параметров достигается, то мочегонное средство перестает действовать.

Питательные вещества. Расходуются постоянно в количестве 2 единицы за счет работы мозга, 1 единице при ходьбе, 2 единице при беге или ходьбе в гору с перегрузом и 3 единицы при беге в гору с перегрузом. При умеренной кровопотере расход еще 1 единица. При сильной кровопотере расход 2 единицы (создание клеток крови и повышение гематокрита). При здоровом сытом кишечнике +7 единиц в секунду. При голоде +3 единицы в секунду. Тут нужно доработать и обдумать нужна ли смерть от голода либо просто ослабление организма (истощение). При болезнях +5 ед/сек. При сильной кровопотере +3 ед/сек не зависимо от голода и болезни, но если все сразу: голод, болезнь и острая кровопотеря, то + 2 единицы. Всего 100 единиц. Достигает 0 - покойник. Достигает 40 прекращается трата на восстановление крови (возобновляется при подъеме до 60). Достигает 30 не может бегать (хотя и до этого сам игрок не захочет) Достигает 20 не может даже ходить. Сидит на одном месте. Начинаются раскачивания и обмороки на 1-2 секунды. Если дошло до 10, теряет сознание. Нужно еще баланс цифр продумать.

Кровеносная система (далее ссс). Имеет гематокрит, количество (оно же и давление) и пульс. Как расходуется и так понятно: ранения. При этом сами удары и пулевые ранения не забирают кровь, а лишь создают повреждения органов и кровотечение. В идеале 150 единиц крови (ОЦК) если больше, то +1 к выделительной системе и отнимается по 1 единице от оцк пока не дойдет до 150. При 190 +2 к выделительной. 100 единиц ОЦК умеренная кровопотеря, 50 сильная кровопотеря. При сильной уже обсуждалось - уменьшается работа кишечника. Так же исчезает возможность спринта и максимальный носимый вес.
Далее как восстановить: ВАЖНО ОЦК НЕ ВОССТАНАВЛИВАЕТСЯ ОТ ЕДЫ. В первые 20 секунд после достижения сильной кровопотери ОЦК восстанавливается на 1 ед/сек независимо от других систем(такая компенсаторная реакция организма). Для дальнейшего восстановления нужно выпить жидкость. После банки колы/спрайта восстанавливается 1 ед/сек в течение 15 секунд. Фляга воды - то же самое, но 20 секунд. При внутривенной инфузии физраствора (на будущее) 6 ед/сек в течение 8 секунд. Глюкоза то же самое, но +1 ед/сек к питату на 10 секунд. Это восстановление только ОЦК. Так же ОЦК отнимается для работы кишечника (еще в древности была поговорка на сытое брюхо учение глухо, то есть кровь от мозга в кишечник ушла), но об этом далее.
Далее гематокрит (соотношение жидкости и клеток) всего диапазон 0-100. А норма 35-75 единиц (!!!) (в реале чуть меньше 50%). Если более 75 единиц, то это обезвоживание (кровь становится густой), пульс уменьшается на 1 (смотри далее), выделительная система тоже -1, если гематокрит дошел до 100, то пульс -2. Можно умереть от интоксикации. Уменьшается на треть увеличения ОЦК. То есть если выпил банку, то гематокрит -5. Фляга -6. Глюкоза или физ раствор на -12. Гематокрит повышается почками, +1 в 5 минуты. (!!!) при нормальной деятельности, +2 при повышенной (смотри ОЦК и пульс). Не повышается при пиелонефрите или переполненом мочевом пузыре. Так же повышается питательными веществами при кровопотере +1 в 1 минуту (+2 при сильной кровопотере). Гематокрит показывает нужно ли нам пить воду. Еще гужно продумать смерть от обезвоживания или же оставить смерть от интоксикации. Банки воды хватает на 15 минут. Но смерть она не принесет.
Гематокрит ниже 35 (очень жидкая кровь, не хватает форменых элементов) кислород -1 в секунду без адреналина. Пульс ускоряется, значит ускоряет и восстановление кислорода обратно может прийти в норму если есть другие факторы.
Пульс имеет другие параметры 0-10. В норме 5. При беге 6. При высоком гематокрите 4, при очень высоком 3. При инъекции адреналина 8. При страхе 8. Страх + адреналин 10. При болезнях по-разному. При высоком уровне токсинов 4.
При низком пульсе (3) все процессы немного замедляются -1 (кроме выработки метаболических токсинов). При высоком немного +1 ускоряются (8)(опять кроме выработки токсинов). Так получается, что при интоксикации сердце замедлится и выведение токсинов через почки тоже замедлится и концентрация токсинов возрастет и сердце еще замедлится - это называется "порочный круг" (их на самом деле в организме выше крыши и почти каждый может убить).
Бедный Махаил. Задолбается переводить.
Выделительная система. Про нее многое уже сказано.
Пищеварительная система. Каждый кусок еды дает несколько единиц. Нужно продумать сколько. К примеру консерва 60, кусок мяса 120. Пока придерживаемся этих цифр. Важно всего кишечник может в себе иметь от 0 до 500 (!) единиц. Расходуется содержимое кишечника со скростью 1 единица в 100 секунд. (!!!) значит консервы нам хватит примерно на час и сорок минут игры. Вполне нормально, если учесть, что сразу можно несколько захавать. Если набить брюхо полностью, то этого нам хватит на 50 000 секунд. Это почти 14 часов. В принципе хорошо. Идем далее. Кишечник при наполнении больше 200 замедляет сердце на 1 (приучит есть часто и малыми порциями). Буду думать, как сделать так, что бы при ранении и полном желудке перс страдал. При 220 единицах кишечник берет на себя 10 единиц объема крови. Затем при снижении до 200 эта кровь возвращается. 260 15 единиц объема крови. Пока такой вариант. Хрен теперь полностью излечишся 15 кусками мяса.

Мочевой пузырь. Воспален/ невоспален. Пустой, полный, переполненый. Почки здоровые, воспаленные.
 

Aflertis

Модератор
Ур
0
 
В процессе реализации идеи в предложенном варианте столкнулся с перегруженностью кода в связи с обратными зависимостями многих параметров.

Предлагаю несколько другую реализацию:
Есть 3 параметра: Кислород, Питательные вещества (заменят сахар), Жидкость (она же вода)
Эти параметры с течением времени в нормальном состоянии убывают с интенсивностью, зависящей от физических нагрузок. Имеют некоторые максимальные и минимальные виличины. (т.е. 3 переменных).

Системы организма, в зависимости от своего состояния постоянно пополняют эти параметры
http://clip2net.com/s/2IZvB

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

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

Теперь про приближение параметров к нулю:
КИСЛОРОД - если его мало мозг умирает
ПИТАТЕЛЬНЫЕ ВЕЩЕСТВА - если их мало мы быстро устаём, медленно восстанавливаем кровь, в итоге теряем сознание и впадаем в кому(?).
ЖИДКОСТЬ - если мало мы быстро устаём, не восстанавливаем кровь либо(и) медленно снимаем хиты с сердечно-сосудистой системы(+пищеварительной?).

ЗАВИСИМОСТИ СИСТЕМ И ПАРАМЕТРОВ:
Сердечно-сосудистая система(ССС): При повреждении ("снятии хитов с неё") уменьшает генерацию кислорода и питательных веществ (в виде множителя). На неё влияет жидкость и ранения.

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

Выделительная система: Не повреждается, но при избытке токсинов повреждает пищеварительную(+сердечно-сосудистую?). На неё влияют болезни (понос), пищеварительная система (чем больше вы съели тем чаще гадим).

Дыхательная система: При повреждении уменьшает генерацию кислорода. На неё влияют сердечно-сосудистая система, ранения.

Двигательная система: Поглощает параметры в зависимости от действий игрока. На неё влияет всё =)

ТАКИМ ОБРАЗОМ чтобы умереть нам нужно:
1) Перестать есть, в следствие чего мы будем терять силы, уставать и впадём в кому, и без помощи будем хотеть пить.
2) Перестать пить, в следствие чего мы будем повреждать ССС, которая в свою очередь уменьшит генерацию кислорода до 0 и мозг умрёт.
3) Перестать дышать, в следствие чего мозг умрёт (полное повреждение дыхательной системы или ССС).
4) Перестать срать, в следствие чего мы повредим пищеварительную систему и ССС, что приведет к см. п.1,2
 

Aflertis

Модератор
Ур
0
 
Ребяятт.. вам не кажеться что уже хватит? Это всеголишь игра...Она будет настолько хадркорной что вы сами в нее играть не сможете... не нужно все усложнять это не реальная жизнь!
Какие проблемы со сложностью? Вам нужно будет кушать, пить, гадить и не болеть. ВСЁ!
 

Lukin

Специалист
Ур
0
 
Ребяятт.. вам не кажеться что уже хватит? Это всеголишь игра...Она будет настолько хадркорной что вы сами в нее играть не сможете... не нужно все усложнять это не реальная жизнь!

Делайте все то же самое, что и в обычной жизни и все будет в порядке. Нам нужна профессия медика, понимаете? Чтобы он мог вытаскивать людей с того света в особо запущенных случаях.
"Это всего лишь игра." Да, это игра и мы хотим быть в этой игре теми, кем, возможно, никогда не будем в реальности. Я, например, буду летать. А вот у меня есть друг, он мечтал стать врачом, но жизнь сложилась иначе. На данный момент я в игре летать смогу, т.к. физмодель из ТОН существует и работает, а вот он лечить людей - нет.
И если вы думаете, что это перебор, то попытайтесь представить, какие нужны алгоритмы для моделирования всех систем вертолета в воздухе и вы поймете, что в сравнении с этим предложенные Гробманом или Афлертисом схемы проще таблицы умножения.
 

Aflertis

Модератор
Ур
0
 
Один из вариантов смерти от заражения болезнью http://clip2net.com/s/2IZJI
происходит постепенный отказ систем организма, со временем всё более усложняя процесс излечения.

Как это будет выглядеть в игре:
1) Вы кушаете сырое мясо/воду из реки
2) Первые полчаса-час вы не будете нечего замечать, но уровень токсинов в вашем организме будет неуклонно расти. Это в плоть до стадии, когда болезнь повлияет на выделительную систему.
3) На стадии выделительной системы вас будет мучить понос, рвота. Вплоть до стадии влияния на пищеварительную систему.
4) Вы станете терять силы, т.к. пища плохо усваивается, вас рвёт и поносит. Появляется головокружение, темнеет экран, трудно передвигаться, одышка.
5) Ослабление и истощение влияет на ССС, тем самым ещё более ухудшая усвояемость пищи и уменьшая переносимый кислород к мозгу. Почти невозможно передвигаться, частые обмороки.
6) Через некоторое время наступает удушье, вы не можете двигаться, судороги, почти не приходите в сознание
7) И о чудо, после 8-ми игровых часов вы таки дошли до своей цели - умерли.
 

uptime

Непобедимый
Ур
8
 
Еще бы описать что надо делать на каждом этапе развития болезни, а что делать ни в коме случае нельзя.
 
Ребяятт.. вам не кажеться что уже хватит? Это всеголишь игра...Она будет настолько хадркорной что вы сами в нее играть не сможете... не нужно все усложнять это не реальная жизнь!
Анатолий, без паники. Хорошая и продуманная механика под капотом гарантирует незабываемый геймплейный опыт. Вы всего этого и не увидите. Главный плюс системы в том, что она реалистична и в ней будут действовать законы реальной медицины. Вам их знать и не нужно, для радового обывателя, для игрока все будет как обычно, если вас ранили - ждите смерть или лечитесь. С другой стороны, медик-бандит сможет более эффективно убивать, а медик-герой сможет спасать уже обреченных больних. В любом случае медики наконец-то обретут ценность, как и в жизни и их РЕАЛЬНЫЕ знания пригодятся в игре.
 

Grobman

Легенда
Ур
0
 
Врачи реально на вес золота будут. А если все правильно сделать, то многие люди смогут почерпнуть из игры важную информацию. Вот я например уверен, что очень много людей перелопатили гигантский объем информации для того что бы снайперить лучше.
 

Slayer

Специалист
Ур
0
 
Вашей системе не хватает:
1) Параметров проверяемых приборами (к приверу, пульс в игре можно будет проверить с помощью тонометра, хотя "состояние пульса" можно и без прибора узнать)
2) Полностью продуманной зависимосьти показателей - сейчас я наблюдаю только основную зависимость и хотя есть достаточно хорошо описанные последствия заболеваний и показателей на критическом уровне - т.к. я не врач помочь особо не смогу(...
 

Crendel

Специалист
Ур
0
 
Я сейчас вижу наклёвывающуюся проблему:
  1. С одной стороны хочется сделать всё максимально реалистично, но тогда каждую болезнь надо будет отдельно программировать. И система получится не масштабируемой относительно заболеваний и внешних воздействий на персонажа. А для программиста это будет трудноотлаживаемый мешок багов.
  2. С другой хочется упростить и тогда всё выльется в обычную полоску здоровья.
Нужна гибкая система, к которой, при желании, можно подсоединить любое количество заболеваний и внешних факторов.
 

HopDuKc

Непобедимый
Ур
0
 
Какие проблемы со сложностью? Вам нужно будет кушать, пить, гадить и не болеть. ВСЁ!

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

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

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

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

Персонаж хочет опорожниться, о чем говорит ответствующий мигающий индикатор, как долго можно терпеть без вреда для здоровья? Может ли организм сам "открыть кран" чтобы спасти себя от отходов?

Токсины, могут ли быть в пище и воде? Если да (несвежее мясо) (тухлая вода в озере) нужно ли персонажу иметь на экране "Датчик обоняния", который предупредит его об опасности отравления?

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


Кончено хотелось бы видеть в игре более продвинутую систему здоровя приближеные к реальности. Продвинутые последствия ранений, болезний и их лечения... даже если это превратит игру в "симулятор живого человека". А если бы еще все персонажи были разными с точки зрения характеристик их тел сильными, слабыми, выносливыми, с повышеным иммунитетом и т.д., то реализм был бы настолько полным, что сам процесс выживания перевысил бы интерес от бездумнной охоты на выживших. ИМХО
 

Slayer

Специалист
Ур
0
 
Кислород имеет 100 единиц. При беге отнимается 3 единицы в секунду. При ходьбе 1. При ходьбе в гору 2. При ходьбе с большим весом рюкзака 2. при беге с большим весом рюкзака 4. При беге в гору с рюкзаком 5. Плюс к этому расходуется постоянно 1 единица кислорода (для мозга). При здоровых легких восполняется 4 единицы в секунду. Под водой восстанавливается 0 единиц в секунду. На будущее: можно ввести кнопку "задержать дыхание" (под водой автоматически), нужна только когда ходишь в зоне действия газовой гранаты, сильного задымления и так далее. Если ее нажать, то восстановление кислорода 0. Если не нажать, то восстановление 1, но при этом растут токсины в организме.
100 идеально. 30 не может бегать и экран темнеет по краям, 20 стоит упершись руками в колени пока не отдышится, экран сильно темнеет по краям, звуки приглушены. 10 теряет сознание. Если легкие повреждены очень сильно, то умрет через 10 секунд. Если не оказать помощь.
20 стоит упершись руками в колени пока не отдышится, экран сильно темнеет по краям, звуки приглушены. 10 теряет сознание.

Как он опустится до 10? и смысл на 10 терять сознание, если можно к примеру на 0(или если для более реалистичного подхода на 1)

И одно дополнение к "Кислороду": ты что-то забыл упомянуть о его востановлении и у меня небольшое дополнение частично взятое из моей темы "Параметризации" -

Так как мы постоянно дышим и но наше пополнение кислорода имеет определённый цикл Вдох/Выдох

Вот представляю, как я представляю себе систему дыхания (она не будет видна для игрока):
HNekT4fMjlE.jpg
Отметка "Вдоха" может расти, так как человек не всегда дышит полной грудью...
Ползунок "Лёгких" в обычном режиме ходит спокойно и по завершению цикла приносит в организм определённое кол-во кислорода...
При максимальной потребности кислорода отметка "Вдох" находится в максимальном положении и "Лёгкие" движутся по шкале Дыхания с самой быстрой скоростью...

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

Slayer

Специалист
Ур
0
 
Нужна гибкая система, к которой, при желании, можно подсоединить любое количество заболеваний и внешних факторов.

Я не много не понимаю, поясните пожалуйста:

Почему данная система не гибкая? Отсутствиет возможность добавления новых симптомов?
 
Сверху