Войти
ФлеймФорумРазработка игр

Математическое руководство по созданию компьютерных игр. 3-я редакция. (42 стр)

Страницы: 139 40 41 42 43 44 Следующая »
#615
18:46, 4 авг. 2012

Алексей Патрашов
> Я очень люблю раскапывать спрятанное как в детективе.
Только получается поиски черной кошки, которой нет в той темной комнате:)
Не "темни" и будет счастье и тебе и другим возможно.

Алексей Патрашов
> Скрипачу тяжёлый метал может показаться одной ошибкой
Послушай группу "Металлика" с использованием скрипачей:)

Алексей Патрашов
> Баскову рэп
Ну безграмотному Баскову видимо - да. Но не думаю, что он так долек.

Алексей Патрашов
> Ты не мог бы повторить формулу шансов попадания в морровинде из конца прошлой (уничтоженной) темы?
Рекомендую изучить:
http://rumor.ru/wiki/Daggerfall:Информация_о_Даггерфолле

2. Формула для расчета поединков
p(%) = SK + AC + Pa/10 + Pl/10 + St + Par + Mg + Mc + Mr - D/10 - 60

Здесь почитай мысли из интервью интересных людей (и те что справа ссылки):
http://www.tesonline.ru/information/interviews#tes_online_game_designer
http://sinisterdesign.net/?p=1652

#616
19:09, 4 авг. 2012

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

> Их можно сгруппировать разными способами.
У меня — обобщение, справедливое для всей индустрии с устоявшейся в ней терминологией (PreProduction, Production, PostProduction);
У Авасаки — частный, но достаточно популярный случай выделения подэтапов (приведённый порядок и состав не всегда такой);
У тебя — чушь, ничего общего с реальностью не имеющая.

> начало продакшн (...) борьба за производительность
Преждевременная оптимизация? Ты совсем упорот?

> середина продакшн (...) делают диздок
Середина разработки, а они его только делают?! Да, ты совсем упорот.

> конец продакшн (...) Делают всё уже в цифре
А, ну теперь всё встало на свои места. До этого всё делалось из пластилина, и на нём же оптимизировалось.

> а я на роль мессии не претендую
Взял на себя труд почитать текущую редакцию. Действительно, самые категоричные заявления о великолепности руководства исчезли.
Также некоторые моменты, на которые я указывал, исправлены. Но тот бред, на который никто ещё не ткнул пальцем, так и остался.
А его там предостаточно. То есть для того, чтобы ты сделал нормальное руководство, тебя нужно мордой тыкать в каждое предложение
и объяснять, почему это бред, так что ли? Куча бесплатных консультантов с GameDev.ru должна будет в течении нескольких месяцев
вычищать гавно из этой писанины, чтобы получилась хотя бы посредственная вещь. И зачем это нам надо?

#617
19:33, 4 авг. 2012

D-Prince
> p(%) = SK + AC + Pa/10 + Pl/10 + St + Par + Mg + Mc + Mr - D/10 - 60
Пока я читаю и осмысливаю, закончу заданный почти год назад вопрос. Вот есть такая формула от дизайнера. Потом результат будет сравниваться с рандомом или его обёрткой и так далее. В теме Уворот/Антиуворот уже мусолили, но слегка повторюсь. Все эти параметры и коэффициенты при них дизайнеру придётся подбирать с мучениями разной степени тяжести. Вполне возможно, что всё вылезет в минус или за 100%. И хорошо, если программист или скриптовик к этому готов! Вылезет индекс массива за пределы и здравствуй трудноуловимый глюк. Что я придумал и для чего я, собственно, своё руководство и писал. Берём ту же формулу и одеваем, например, так.

p(%) = tanh(a*(SK + AC + Pa/10 + Pl/10 + St + Par + Mg + Mc + Mr - D/10 - 60)+b)*50%+50%

Обрати внимание, что разницы в сложности почти никакой, но каков эффект! Теперь вероятность поражения никогда не станет меньше 0 или больше 100%. Вообще никогда ни при каких обстоятельствах! Никакой вариант создания героя и никакие изменения со стороны дизайнера к этому не приведут. Можно переписать формулу внутри хоть так

p(%) = tanh(a*(SK + 2*AC + Pa/2 + Pl/4 + 4*St + Par + Mg + 3*Mc + Mr - D/20 - 80)+b)*50%+50%

а можно и так

p(%) = tanh(a*(3*SK + AC + Pa/5 + Pl/2 + St + 2*Par + Mg + Mc + 3*Mr - D/5 - 40)+b)*50%+50%

и как угодно! Отказоустойчивость кода повышается в разы! Если вру, то мне Alprog даст по рукам. Как бы дизайнер и что ни менял - ошибка в программе не возникнет, если выход за 0 или 100 к ней могут привести. Программист уже не должен  учитывать, что вероятность для сравнения не между 0 и 1, а какая угодно, а значит можно выкинуть лишние обёртки, что сокращает количество потенциальных ошибок и кошмар отладки. Да это же просто праздник какой-то! Вот в чём я с этим предложением неправ? Моим способом получается намного проще и работы меньше и никакой непросекаемой высшей математики тоже. Можно вместо tanh взять школьный atan и его на пи разделить, но tanh быстрее.

#618
20:06, 4 авг. 2012

Алексей Патрашов
> Теперь вероятность поражения никогда не станет меньше 0 или больше 100%.
> Вообще никогда ни при каких обстоятельствах!
Не, ну не цирк ли?:)

В результате расчета должна получиться вероятность поражения от 3% до 97%. Когда ответный удар наносит монстр, его навык владения оружием (клыками, когтями и т.п.) принимается Skm = 5*L, где L - уровень развития данного монстра.

Алексей Патрашов
> В теме Уворот/Антиуворот уже мусолили, но слегка повторюсь. Все эти параметры и
> коэффициенты при них дизайнеру придётся подбирать с мучениями разной степени тяжести
Я разрабатывал тьму систем, уверяю тебя - тебе всё кажется:)
Можно и а+х или а><x простую использовать схему. Вопрос в другом, что преследуем.

Мы делаем выбор – народ возмущается – мы разводим руками...

Вот не нравится кому-то, как вы изобразили персонажа. Или как вы закончили историю. А кому-то не нравятся ракурсы камеры. [...] В таких спорах обычно нет победителя, а сама дискуссия уходит настолько далеко от первоначального повода для критики, что никогда туда уже не вернется.

#619
20:16, 4 авг. 2012

Alprog
> Ты же сам говоришь, что руководство работает и на браузерках и на ААА.
Только там, где есть общие вещи для браузерок и ААА. Числа с плавающей точкой, рандомы, ролевые системы и прочее могут быть и в браузерках и ААА. Я же не пишу про написание шейдеров или работу с кватернионами.
Alprog
> Преждевременная оптимизация? Ты совсем упорот?
Искажаешь смысл написанного. Борьба за производительность это борьба за производительность, а не оптимизация кода. Пример из RTS где-то валяется в сети. На карте сталкиваются две армии по несколько сотен каждая. Юниты сами выбирают себе цели, пока им не отдадут новый приказ. Лобовой выбор противников приводит почти к обработке миллиона пар, что вешало бы процессор. Решение нашли разбивкой на зоны и поиском по зонам - количество пар упало на два порядка. Если программист не может оценить сложность задачи как n, n*n или n*log n, то это вопрос его компетенции, что для него всё случается внезапно и он заранее ничего не знал. Тут мне ещё встречались предложения хаймапов 100000 на 100000 с загрузкой в память. Если тебе дизайнер скажет, что у него хаймап миллион на миллион, то ты ему про невозможность упаковки до приемлемого размера тоже скажешь под болванку?
Alprog
> Середина разработки, а они его только делают?! Да, ты совсем упорот.
То же самое. Понятие середины у нас разное, понятие среднего этапа, я тебе даже группирование шагов нарисовал. А ты как раз и пишешь.
Alprog
> А, ну теперь всё встало на свои места. До этого всё делалось из пластилина, и на нём же оптимизировалось.
Теперь посмотри на зарплату программиста, моделиста и технического писателя для диалогов или дизайнера. Диздок это бумажный документ, хоть и в электронном виде, а вот игра уже программное изделие на болванке или сервере. Зачем с ног на голову переворачиваешь? Если тебе не нравится выражение делать в цифре, то могу написать длинно: дизайнерский документ окончательно воплощается в программном виде и доводится до состояния коммерческой готовности к продажам. Пока дочитаешь до конца забудешь начало, мечта менеджера или экономиста.
Касательно терминологии. Не так давно во Франции приняли закон о запрете использования заимствованных из английского языка слов, а правительство Франции гораздо адекватнее нашего. Если кто-то хочет переделывать всё, то это его дело, а я переделывать не люблю на ровном месте после очередного закона.
D-Prince
> Не, ну не цирк ли?:)
Не без этого, но напрягу всё своё мышление, чтобы понять. Меня далее настораживает утверждение должна получиться вероятность. И сколько пришлось поработать над такой формулой, чтобы добиться таких пределов? Это надо следить за величинами, подбирать коэффициенты и прочее. Труда сколько надо затратить! Я нисколько не сомневаюсь, что можно всё подобрать, но зачем трудиться, когда можно этого не делать? Я сейчас своё новаторство собираюсь впихнуть в Катубан 28. Там как раз есть подобные вещи, а кропотливую работу я не люблю.
D-Prince
> Я разрабатывал тьму систем, уверяю тебя - тебе всё кажется:)
Или я правильно догадываюсь, что подобрать всё это нетрудно?

#620
20:54, 4 авг. 2012

Алексей Патрашов
> Только там, где есть общие вещи для браузерок и ААА.
А этапы разработки к этому списку не относятся что ли?

> касательно терминологии
> моделист
В индустрии не работает ни одного человека, который бы значился моделистом. Это называется моделер.
Какие ещё профессии родит твоё воображение? Дай угадаю: системный администрирователь и продюсировщик.

> дизайнерский документ окончательно воплощается в программном виде и доводится до состояния коммерческой готовности к продажам
"Диздок (…) доводится до состояния (…) готовности к продажам." Получается, ты собрался продавать диздок.
Ты даже предложение правильно построить не можешь.

Я устал пытаться вытащить тебя из бездны невежества. Лишний раз убеждаюсь, что люди, наделённые этим качеством, испорчены
фундаментально. Ты абсолютно ничего не знаешь о разработке игр, и поэтому не можешь этому никого научить. Это само по себе
не беда. Беда в том, что твоё раздутое самомнение не позволяет тебе это признать и начать уже учиться. Тему — во флейм.

#621
21:12, 4 авг. 2012

Alprog
> Тему — во флейм.
А кто против? Тут ей даже лучше будет.
D-Prince
> Я разрабатывал тьму систем, уверяю тебя - тебе всё кажется:)
Я сообразил. Давай рассмотрим простой пример, очень простой. Вот есть у нас всего две характеристики: ловкость и восприятие. Обе имеют значение от 2 до 8. Если обе на 2, то вероятность попадания 5%, если обе 8, то 95%. Если обе на 5, то 50%. Стреляем по бутылкам. Требуется составить такую же формулу p(%), как в даггерфоле. Вот как ты решишь такую задачу?

#622
14:04, 5 авг. 2012

Обе имеют значение от 2 до 8. Если обе на 2, то вероятность попадания 5%, если обе 8, то 95%. Если обе на 5, то 50%

А если одна на 2, а вторая на 8? В Ваших условиях не сказано, каков будет процент в этом случае.

#623
14:15, 5 авг. 2012

old_proger
> А если одна на 2, а вторая на 8? В Ваших условиях не сказано, каков будет процент в этом случае.
Это условие не задано в данной задаче. То есть какое получится, такое и будет. Тут есть ещё несколько задач и в последних двух это условие задано.

Если обе на 2, то вероятность попадания 5%. Если обе на 5, то 65%.

Если одна 2, то вероятность не выше 10%, а если обе 2, то вероятность 5%. Если обе 5, то вероятность 50%

То же самое, но если обе 5, то вероятность 65%.

#624
20:55, 5 авг. 2012

Алексей Патрашов
> Меня далее настораживает утверждение должна получиться вероятность. И сколько
> пришлось поработать над такой формулой, чтобы добиться таких пределов? Это надо
> следить за величинами, подбирать коэффициенты и прочее. Труда сколько надо затратить!
А что там в формуле сложного то?:) Там делить на 0.07 или множить на #-численные не нужно (да и не в этом суть)
Достаточно бросить взгляд, чтобы понять примерно, что уменьшение идет минимум 61 ед, а максимум - зависит от потолка 100 или 250 (когда параметр режим в 10 крат) и вспоминая систему TES  по числовым пределам.
То есть, сразу видно что минимальный порог не выйдет из единицы - уж точно.

> Я нисколько не сомневаюсь, что можно всё подобрать, но зачем трудиться, когда можно этого не делать?
Я об этом и писал, смотря что преследуем:)
-
В TES, например, идет банальное нарастание бонусов, а не перерасчет различных коэффициентов верх-вниз и без пределов.
В простой системе сложения по бонусам, присутствует влияние кучи характеристик, плоть до опытности НПС или заслуги предыдущие "мобов" (вот захотели так). Но система простого сложения, как в настолках прибавил то-сё и вычитаем другое.
Деление присутствует лишь в параметрах лимита, где минимально допустимое это результат в 1...

Алексей Патрашов
> Вот есть у нас всего две характеристики: ловкость и восприятие.
Алексей Патрашов
> Требуется составить такую же формулу p(%), как в даггерфоле. Вот как ты решишь такую задачу?
1) Как стыкуется условие задачи с формулой TES 2, если у тебя два параметра?
2) Ты отходишь от темы:)
3) Или я тебя не понял.
Ведь, как я понял, те увиденные "- хх%" тебя однажды так смутили, что для себя ты сделал вывод, что это самое уязвимое место в проектировки игр. А я писал почему может быть "-%", и мы обсуждали, что могли просто не показывать этого, чтобы не вводить в заблуждение неподготовленного игрока:)
Не все же должны знать про настольные механики, тем более ГУРПС...

#625
22:04, 5 авг. 2012

D-Prince
> 1) Как стыкуется условие задачи с формулой TES 2, если у тебя два параметра?
Идеологию мышления пытаюсь понять при простейшем случае. Десять параметров это много, а два как раз понятно.
D-Prince
> 3) Или я тебя не понял.
Не понял. Я пытыаюсь в их идеологии разобраться. Попробовал простейшие задачи изучить. Получилось вот что.
Первая задача прошла прекрасно. Обе имеют значение от 2 до 8. Если обе на 2, то вероятность попадания 5%, если обе 8, то 95%. Если обе на 5, то 50%.
p(%) =(P1+P2-10)*7,5+50
По углам 2 и 8 получается тоже 50% и все счастливы. Вторая задача уже не такая радостная. Если обе на 2, то вероятность попадания 5%. Если обе на 5, то 65%.
p(%) =(P1+P2-10)*10+65
Но при таком раскладе получается, что p(%)=(8+8-10)*10+65=125%. Вот она, мелкая пакость! А если герой облучится и отравится, то получится p(%)=(1+1-10)*10+65=-15%. Ещё одна мелкая пакость! А по углам будет p(%)=(2+8-10)*10+65=65%. Но следующая задача ещё хуже! Если одна 2, то вероятность не выше 10%, а если обе 2, то вероятность 5%. Если обе 5, то вероятность 50%. И тут уже никакая сумма не помогает! 5+5==2+8==8+2 и результат по углам будет 50%. Всё, можно вешаться. Простенькая задачка для всего двух характеристик не решается простыми средствами. Я эту задачу решил через функции, но может есть простой метод? Готовый массив для этого не используется - некрасиво и тоскливо.
D-Prince
> Ведь, как я понял, те увиденные "- хх%" тебя однажды так смутили, что для себя ты сделал вывод, что это самое уязвимое место в проектировки игр.
Не то слово! Я пиратов материл всеми известными мне выражениями за порчу хорошей игры, а ругательных выражений я знаю очень много. Я знаю, что поставить заглушки на эти выходы за пределы ничего не стоит, но решение должно быть красивым.

#626
23:28, 5 авг. 2012

Алексей Патрашов
> Я пиратов материл всеми известными мне выражениями за порчу хорошей игры, а
> ругательных выражений я знаю очень много. Я знаю, что поставить заглушки на эти
> выходы за пределы ничего не стоит, но решение должно быть красивым.
Ну и зачем их материть, пиратов то?
ВОТ ЖЕ:  http://fallout.wikia.com/wiki/Fallout_combat

При использовании дальнобойного оружия начальный шанс поразить противника определяется вашим боевым мастерством для того оружия, которым вы атакуете. Базовый шанс попадания (БШП) равняется боевой навык - 30%. После этого к БШП добавляется 8 % или 16 % (в зависимости от максимальной дальности оружия), умноженное на Восприятие - 2, потом вычитается 4% за каждый хекс расстояния между вами и вашей целью, далее может модифицироваться: определёнными способностями и особенностями, такими, как Меткий стрелок или Ночное существо; прицельными выстрелами, которые понижают ваш ШП в зависимости от той части тела, которую Вы хотите поразить, торс — 0%, ноги — 20%, руки — 30%, пах — 30%, голова — 40%, глаза — 60% и повышают шанс на критическое попадание, или, соответственно, на +0%, +20%, +10%, +20%, +25% и +30%, либо на ту величину, которая отнимается от ШП; в темноте из ШП вычитается 10%, если до вашей цели больше 5 хексов. Имейте в виду, что если вы промахнулись, то есть небольшой шанс попасть в другую рядом стоящую цель. Пример расчёта итогового шанса попадания (ИШП) для винтовок с дальнобойностью от 25 хексов (условно 25 метров):
ИШП = боевой навык + ((ВС - 2) * 16) - (HEX * 4) - (КБ цели) [- 10% на ночь, если HEX> = 5], где HEX — расстояние до вашей цели.

Если ИШП будет 0 % или ниже, возможности попасть в цель не будет.

Алексей Патрашов
> Но при таком раскладе получается, что p(%)=(8+8-10)*10+65=125%. Вот она, мелкая пакость!
Никакой пакости:) В мульон боёвок предусмотрено выше 100% и в куче из них это не просто так, помнишь почему?

Алексей Патрашов
> А если герой облучится и отравится, то получится p(%)=(1+1-10)*10+65=-15%. Ещё одна мелкая пакость!
Зачем же? Облучение сняли, но "мутит" от ядов, чтобы вообще попытаться в руки оружие взять.
-
Это решается для преодоления "лишних" эффектов на объекте, прежде чем пересчитать итоговое.
В более сложных системах это важнее, чем в простых.

Например, в игре X-Com там более простые и логические формулы, ибо важный момент именно в частых успешных выстрелах по противнику, а не акцент на РПГ-составляющие элементы или как система.

#627
0:13, 6 авг. 2012

D-Prince
> помнишь почему?
Потому, что вероятность попадания и шанс на поражение это не одно и то же. Шанс ограничений не имеет и в проверке исхода события используется только для сравнения и окончательный шанс в правой части операций присваивания не применяется. Понятие шанса используется для упрощения работы с вероятностями, так как расширяет область значений переменных. Этимология безумия проясняется - перевод на русский руководства к первым фоллаутам ключница делала. В тактиксе и третьем фоллауте шанс перестали показывать и сразу изображали уже вероятность поражения, то есть приведенный к вероятности шанс. Смахивает на линейное программирование - там такие задачи с неравенствами очень многочисленны.
ВП (вероятность поражения) и ШП (шанс поражения) связаны через соотношения

ВП=0 если ШП<0

ВП=ШП если 0<=ШП<=100%

ВП=100% если ШП>100%

Только что проверил первоисточники. В английском варианте написано CHANCE TO HIT, а в русском ВЕРОЯТНОСТЬ ПОПАДАНИЯ. За такой перевод надо катубасить! Как вероятность с английского языка в отношении стрельбы и прочего похожего переводится, как правило, слово probability. У меня зла не хватает! Это же надо так безграмотно перевести!

#628
7:46, 6 авг. 2012

Morphia
> не казуал или инди - А именно АА и ААА хотя бы
OMG. Дерзай, удачи.

#629
14:45, 8 авг. 2012

Алексей Патрашов
  Ну что, какие есть новости?

Страницы: 139 40 41 42 43 44 Следующая »
ФлеймФорумРазработка игр

Тема в архиве.