A.I.M. Jagged Alliance2

Добро пожаловать, Гость. Пожалуйста, выберите:
Вход || Регистрация.
29.03.2024 в 09:28:49

Главная Главная Помощь Помощь Поиск Поиск Участники Участники Вход Вход Регистрация Регистрация
A.I.M. « Наука и религия в исходниках НО. »
Тут обсуждают, что Терапевт должен сделать, чтобы мне было хорошо.

   A.I.M.
   Обсуждаем игры
   Night Ops
(Модераторы: Терапевт, ПМ, maks_tm)
   Наука и религия в исходниках НО.
« Предыдущая Тема | Следующая Тема »
  Тема:  Наука и религия в исходниках НО.             Страниц: 1 2 3 4 5 Прочитано 68520 раз
Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Глюки и проблемы - 2
« Ответ #150 от 15.11.2010 в 03:04:30 »

2Airbus:  
 
Это так... Только твой знакомый, видимо - высокий ПРОФ. Сымаем шляпу, искренне. Отсечь два патрона из АКМ - это весьма непросто.
 
Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Глюки и проблемы - 2
« Ответ #151 от 15.11.2010 в 03:05:28 »

15.11.2010 в 02:59:52, Airbus писал(a):
А ведь мысль то хорошая. Как мне сказал бывший военный, начиная с 5 патрона из АК (от бедра, ессно. "Прицельно" и "очередью" вещи несовместимые. Это решает вопрос с невозможностью попасть очередью) пули идут очень точно. Если стрелок опытный, конечно.
 
И два патрона из АК хорошо уходят. Третий - вдаль, а первые два - точно.  
Вот. Сейчас - каждый патрон летит кривее предыдущего. Лично я предлагаю пока решить простую задачу - подобрать закон вычисления штрафа чуть пореальней. Для создания такого закона - у нас есть всего два независимых параметра. Ломаную на них особо не построишь.
Зарегистрирован

Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Глюки и проблемы - 2
« Ответ #152 от 15.11.2010 в 03:07:12 »

15.11.2010 в 03:01:49, Bonarienz писал(a):
А вот и нет! В ДжА меняется освещенность. А солнце, когда есть, всегда на СВ, с углом элевации сигма=atan(5/2)!  

Срочно переделать модель !  ;D
Зарегистрирован

Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Глюки и проблемы - 2
« Ответ #153 от 15.11.2010 в 03:07:58 »

2Dirk_Diggler:  
Ну как же - не построишь? Есть же номер текущего выстрела в очереди? Или я опять что-то забыл?
Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Глюки и проблемы - 2
« Ответ #154 от 15.11.2010 в 03:09:20 »

15.11.2010 в 03:07:58, Bonarienz писал(a):
2Dirk_Diggler:  
Ну как же - не построишь? Есть же номер текущего выстрела в очереди? Или я опять что-то забыл?  

Номер - есть! Если построишь - предлагайте модель. Я лично ума не дам как.
Зарегистрирован

Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Глюки и проблемы - 2
« Ответ #155 от 15.11.2010 в 03:09:54 »

2Dirk_Diggler:  
 
Мы же тебе говорили - горы и солнце!!! Корову новую, надеемся, уже видел?
 
Переделываем! Только кто будет тени переделывать? Пару десятков тысяч...
Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Глюки и проблемы - 2
« Ответ #156 от 15.11.2010 в 03:12:30 »

2Dirk_Diggler:  
 
Мы Сей не розумеем настолько - надо бы код понимать.
 
На первый взгляд - при расчете этих двух параметров учитывать номер пули в очереди. С тем или иным весом, для того или другого параметра...
 
Если просто, то еще передавать dH и dV (гориз. и верт. отклонения) в расчет траектории...
« Изменён в : 15.11.2010 в 03:14:10 пользователем: Bonarienz » Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Глюки и проблемы - 2
« Ответ #157 от 15.11.2010 в 03:16:48 »

15.11.2010 в 03:12:30, Bonarienz писал(a):
надо бы код понимать.

Не надо. Можно своими словами и формулами. Вопрос - как вычислить штраф P к шансу попадания, для выстрела номер N, и оружия с параметрами BurstPenalty и BurstHitStart?  
Параметры сейчас имеются в виду типа "сила отдачи" и "длина отсечки", но можно их использовать как угодно.
Зарегистрирован

Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Глюки и проблемы - 2
« Ответ #158 от 15.11.2010 в 03:19:28 »

2Dirk_Diggler:  
 
Как вариант 1/(Nmax-Ncurr) - величина, обратная разности выбранной (или макс. возм.) длины очереди и текущего выстрела.
Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Глюки и проблемы - 2
« Ответ #159 от 15.11.2010 в 03:21:19 »

2Dirk_Diggler:  
 
Ну что же! Уже кое-что нарисовалось... Думаю, Терапевт смотрит на нас с иронической надеждой...
Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Глюки и проблемы - 2
« Ответ #160 от 15.11.2010 в 03:23:30 »

2Dirk_Diggler:  
 
Еще раз уточни - как определены BurstPenalty и BurstHitStart? Как некий штраф для соотв. ствола, а вот второе?  
 
Да, надо еще соотнестись с аналог. процедурой для одиночного выстрела.
 
« Изменён в : 15.11.2010 в 03:25:23 пользователем: Bonarienz » Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Airbus
[Арбуз]
Прирожденный Джаец

Я люблю этот Форум!




Пол:
Репутация: +125
Re: Глюки и проблемы - 2
« Ответ #161 от 15.11.2010 в 03:25:56 »

2Bonarienz: Эм... Мой знакомый - это мой пятидесятилетний отец. :) 25 лет в армии, несколько лет назад уволился.
 
Насчет отклонения - может их зашить в параметры ствола, и последующие пули кидать по вектору вверх-вправо? Для автоматчиков отклонение делить на 2.
Зарегистрирован

"Now I am become Death, the destroyer of squirrels"
Уникальная методика лечения авиафобии!

Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Глюки и проблемы - 2
« Ответ #162 от 15.11.2010 в 03:30:24 »

второе - с какого момента штраф начинает действовать. Т.к. типа длина отсечки.
Зарегистрирован

Airbus
[Арбуз]
Прирожденный Джаец

Я люблю этот Форум!




Пол:
Репутация: +125
Re: Глюки и проблемы - 2
« Ответ #163 от 15.11.2010 в 03:30:46 »

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

"Now I am become Death, the destroyer of squirrels"
Уникальная методика лечения авиафобии!

Legend
[Переводчик]
Прирожденный Джаец

надА


Ё-мэйл

Пол:
Репутация: +864
Re: Клуб "Ночные операции" - 4
« Ответ #164 от 15.11.2010 в 03:40:18 »

2Dirk_Diggler: Quote:
А как ты точность определишь, ты же не стрелял из всей этой ботвы?  
Гы, сына, лол. Я тебе уже объяснял, что не обязательно быть курицей, чтобы уметь готовить яишницу ;) Это во-первых. Во-вторых, есть куча (тысячи их) таблиц/описаний/статистики/отзывов с результатами стрельб из различных единиц стрелкового оружия. Хотя не, ты прав, лучше сходить на полигон и из всего этого чуда пострелять. А для верности желательно взорвать ядрёну грену, а то вот откуда создателям игр знать, как она шарахнет? Они же не ходили на полигоны, не взрывали их
: cranky :
Зарегистрирован

- Удельный вес ядра твоей планеты думай!
- Эээ...

Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Клуб "Ночные операции" - 4
« Ответ #165 от 15.11.2010 в 03:47:40 »

15.11.2010 в 03:40:18, Legend писал(a):
лучше сходить на полигон и из всего этого чуда пострелять

Эт точно. Не почувствуешь - не поймешь. )))
Зарегистрирован

Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Клуб "Ночные операции" - 4
« Ответ #166 от 15.11.2010 в 03:50:31 »

2Dirk_Diggler:  
Не обращай внимания на гениев. Они - бесплодны, но говорливы.
 
Немного смелости, и терпения - определиться с таблицей для одного, опорного, референсного ствола - и тупо СМОТРЕТЬ на экране, как стреляется с теми  или иными параметрами и коэфф.
 
Как говорят в моей области (видео и телевещание) - всему головой - экран и колонка!
 
« Изменён в : 15.11.2010 в 03:51:52 пользователем: Bonarienz » Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Клуб "Ночные операции" - 4
« Ответ #167 от 15.11.2010 в 03:56:32 »

2Dirk_Diggler:
  15.11.2010 в 03:30:24, Dirk_Diggler писал(a):
второе - с какого момента штраф начинает действовать. Т.к. типа длина отсечки.
 

 
Никак не въедем - это та длина очереди, что выставлена игроком?
Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Legend
[Переводчик]
Прирожденный Джаец

надА


Ё-мэйл

Пол:
Репутация: +864
Re: Клуб "Ночные операции" - 4
« Ответ #168 от 15.11.2010 в 03:58:26 »

2Dirk_Diggler: Тогда с тебя ядрёна грена, с меня полигон :D : devil : Доставка на Бене, чтобы потом вычислить элипсоиду поражения =)
Зарегистрирован

- Удельный вес ядра твоей планеты думай!
- Эээ...

Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Клуб "Ночные операции" - 4
« Ответ #169 от 15.11.2010 в 03:58:31 »

Нет. Это параметр ствола. ну типа номер выстрела, на котором отдача лупит в плечо. У большинства стволов - равна 1, т.е. отдача с первого выстрела, поэтому уже у второго штраф резко растет.
Зарегистрирован

Airbus
[Арбуз]
Прирожденный Джаец

Я люблю этот Форум!




Пол:
Репутация: +125
Re: Клуб "Ночные операции" - 4
« Ответ #170 от 15.11.2010 в 04:01:33 »

15.11.2010 в 03:58:31, Dirk_Diggler писал(a):
поэтому уже у второго штраф резко растет
С учетом скорострельности - не успеет "лупануть". А вот с третьего уже должно уводить вдаль.
 
Поэтому я за параболу с коэффициентом = коэфф. кучности ствола. :)
Зарегистрирован

"Now I am become Death, the destroyer of squirrels"
Уникальная методика лечения авиафобии!

Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Клуб "Ночные операции" - 4
« Ответ #171 от 15.11.2010 в 04:08:18 »

2Dirk_Diggler: 2Airbus:  
 
Вот Вам обоим - таблица! Там даже аПыски в заголовках таблицы!
 
http://ru.wikipedia.org/wiki/%D0%90%D0%9A%D0%9C
 
Отличный материал. Осталось разобраться в сущ. модели, модиф. ее и привязать таблицу поправок для стволов/стрелков.
Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Клуб "Ночные операции" - 4
« Ответ #172 от 15.11.2010 в 04:15:19 »

15.11.2010 в 04:08:18, Bonarienz писал(a):
Отличный материал. Осталось разобраться в сущ. модели, модиф. ее и привязать таблицу поправок для стволов/стрелков.
 

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

Airbus
[Арбуз]
Прирожденный Джаец

Я люблю этот Форум!




Пол:
Репутация: +125
Re: Клуб "Ночные операции" - 4
« Ответ #173 от 15.11.2010 в 04:17:44 »

2Bonarienz: Посмотрел. Получился, грубо говоря, неправильный конус от стрелка. И там стрельба короткими очередями, а мы рассчитываем еще и длинные.
Зарегистрирован

"Now I am become Death, the destroyer of squirrels"
Уникальная методика лечения авиафобии!

Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Клуб "Ночные операции" - 4
« Ответ #174 от 15.11.2010 в 04:27:50 »

2Dirk_Diggler:  
 
Да нет! Нам же известен ствол, есть целая простыня с его параметрами - ттх.тхт!
 
Ужели так трудно все это увязать? Таблица - общая для всего типа стволов, и веса - для конкретных стволов из типа. Например...
 
Уверен, что подобные таблицы можно довольно быстро найти для всех мыслимых стволов. Если не офиц., то любит.
« Изменён в : 15.11.2010 в 04:29:15 пользователем: Bonarienz » Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Клуб "Ночные операции" - 4
« Ответ #175 от 15.11.2010 в 04:30:16 »

15.11.2010 в 04:27:50, Bonarienz писал(a):
Таблица - общая для всего типа стволов, и веса - для конкретных стволов из типа.

не может она быть общая.
Зарегистрирован

Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Клуб "Ночные операции" - 4
« Ответ #176 от 15.11.2010 в 04:42:23 »

2Dirk_Diggler:  
 
Я вспомнил!!! Кажися, в ДжА тайл есть в двух ипостасях!
 
В ближней зоне тайл - 1 метр! В дальней зоне (стрельба) тайл - 10 метров!!!
 
Т.е. при стрельбе по врагу, стоящему в 20 тайлах, ты стреляешь на 200 метров!!!
 
А таблицу всегда можно сделать общей - коэфф-мидля стволов при ее параметрах.
Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Клуб "Ночные операции" - 4
« Ответ #177 от 15.11.2010 в 04:49:39 »

2Dirk_Diggler:  
 
Кста! Если все прально поняли, то простой подстановкой 2 или 3 в BurstHitStart мы получаем ломаную? Т.е. первые два-три выстрела будут относительно точными?
 
Если так, то надо взвешивать оба параметра некоей функцией от номера выстрела...
Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Клуб "Ночные операции" - 4
« Ответ #178 от 15.11.2010 в 04:54:29 »

2Dirk_Diggler:  
 
Эти параметры "живут" в ттх.тхт!!! Правь и пробуй!!!  
 
И я знаю, кто это сделал!
 
А посему - видимо, не составит проблемы вписать параметры эллипса рассеивания для всех стволов прямо в ттх.тхт!!!
 
Я даже уверен, что теперь мои персы будут стрелять очередями, как Иван или Тоска 10-ого уровня!!!
« Изменён в : 15.11.2010 в 04:55:43 пользователем: Bonarienz » Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Глюки и проблемы - 2
« Ответ #179 от 15.11.2010 в 05:17:51 »

13.11.2010 в 21:29:19, Терапевт писал(a):
Алгоритмы ИИ (и прочие советы по модификации кода) интересны только тогда, когда основаны на проверенных фактах, а не на предположениях, сформировавшихся только лишь при разглядывании кода.
Прежде чем озвучивать свои предположения по работе фрагментов кода, попробуй их проверять с помощью отладчика, узнаешь много интересного. ;)
 

Сделал сейв, в котором фраг ложится/встает.  
Попробовал отладить. Виснет. Какая конфигурация сборки предназначена для отладки?
Зарегистрирован

Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Глюки и проблемы - 2
« Ответ #180 от 15.11.2010 в 05:18:31 »

15.11.2010 в 04:49:39, Bonarienz писал(a):

Кста! Если все прально поняли, то простой подстановкой 2 или 3 в BurstHitStart мы получаем ломаную? Т.е. первые два-три выстрела будут относительно точными?  

Да. Тогда штраф на эти выстрелы получается очень маленький.
« Изменён в : 15.11.2010 в 05:19:02 пользователем: Dirk_Diggler » Зарегистрирован

Терапевт
[Кулибин]
Кардинал


Народный целитель. Шарлатан высшей категории.




Пол:
Репутация: +1187
Re: Глюки и проблемы - 2
« Ответ #181 от 15.11.2010 в 18:59:43 »

13.11.2010 в 21:38:27, Dirk_Diggler писал(a):
практическая проверка чревата тем, что я вместо работы с алгоритмами все время трачу на проверку.

При модификациях ИИ на это у меня уходит большая часть времени, а иначе никак с гарантией не убедиться в правильности и работоспособности изменений.
 
 13.11.2010 в 21:38:27, Dirk_Diggler писал(a):
Я бы компилил экзешники для желающих потестить мои предложения ) и выкладывал бы здесь.  

Я не против. Правда не уверен, что найдётся много желающих очень часто проверять вносимые изменения. Да и сторонняя оценка очень субъективна. Одни скажут, что что-то изменилось, а другие этого не заметят. Кому верить - не понятно. Поэтому в данном случае работает принцип: сам не сделаешь, никто не сделает.
 
 15.11.2010 в 05:17:51, Dirk_Diggler писал(a):
Какая конфигурация сборки предназначена для отладки?

Debug.
 
Что касается изменения формулы начисления штрафа в очереди, то менять её нет никакого смысла. Точность первых выстрелов в очереди может быть и так очень высокой в силу того, что при расчётах вероятность попадания может значительно превышать 100%, и только в самом конце вычислений обрезается до 99%.
« Изменён в : 15.11.2010 в 19:05:14 пользователем: Терапевт » Зарегистрирован

Весна! Я уже не грею пиво! (с) В.Цой
Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Глюки и проблемы - 2
« Ответ #182 от 15.11.2010 в 21:11:36 »

15.11.2010 в 18:59:43, Терапевт писал(a):
Точность первых выстрелов в очереди может быть и так очень высокой в силу того, что при расчётах вероятность попадания может значительно превышать 100%, и только в самом конце вычислений обрезается до 99%.  

вот-вот ) Еще один аргумент за то, что её надо менять. )  
15.11.2010 в 18:59:43, Терапевт писал(a):
Debug.  

У меня Debug намертво виснет при запуске, отжирая 99% процессора.Модифицировал для отладки конфигурацию Release, вроде кое-как работает.
Зарегистрирован

Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Наука и религия в исходниках НО.
« Ответ #183 от 15.11.2010 в 21:34:34 »

Знаете что, господа... Посмотрел я ваш "эллипс рассеивания" для станковых пулеметов.. Это же обычное нормальное распределение для координат X и Y, просто с чуть-чуть отличающейся дисперсией, что и дает небольшой эксцентриситет. Стоило огород городить...
Вот прицепился!       shemaf.jpg
Зарегистрирован

Bonarienz
[Хороший ариец]


Враг Джавдета в анимации ДжА2, Бон-а-рьен-ц!




Репутация: +346
Re: Наука и религия в исходниках НО.
« Ответ #184 от 15.11.2010 в 23:18:29 »

2Dirk_Diggler:  
 
Только для автоматов эллипс - растянут по горизонтали... И считать такое распределение - долго!!!
Зарегистрирован

Deleatur (лат.) - Стереть все, совсем все!
Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Наука и религия в исходниках НО.
« Ответ #185 от 15.11.2010 в 23:21:16 »

15.11.2010 в 23:18:29, Bonarienz писал(a):
И считать такое распределение - долго!!!  

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

jarni
[Гарный хлопец]
Прирожденный Джаец

Мне нечего сказать.


Ё-мэйл

Пол:
Репутация: +306
Re: Наука и религия в исходниках НО.
« Ответ #186 от 16.11.2010 в 02:13:05 »

2Dirk_Diggler:  15.11.2010 в 21:11:36, Dirk_Diggler писал(a):
У меня Debug намертво виснет при запуске, отжирая 99% процессора.Модифицировал для отладки конфигурацию Release, вроде кое-как работает.
Настройки глубины цвета рабочего стола на 16 бит ставил?
Зарегистрирован

Don't worry, be happy.
Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Наука и религия в исходниках НО.
« Ответ #187 от 16.11.2010 в 03:01:05 »

так. выкатил 16 бит, глянем...
« Изменён в : 16.11.2010 в 03:08:49 пользователем: Dirk_Diggler » Зарегистрирован

MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Наука и религия в исходниках НО.
« Ответ #188 от 17.11.2010 в 00:09:15 »


В игре сначала вычисляется вероятность попадания, потом алгоритм решает происходит ли попадание, потом если промах - вычислияется отклонение пули (вроде бы так ,поправьте если што). И это делается для кажной пули в очереди.
А чо б не вычислять попадание только для первой пули, а для всех остальных вычислять только отклонение от первой, в соответствии с цифрами в колонке BurstPenalty?
Тут возможны два варианта: для каждой  последующей пули в очереди  вычисляется отклонение относительно места попадания первой, или:  точка привязки смещается - для второй пули вычисляетсчя отклонение относительно места попадания первой; для третьей пули вычисляется отклонение от места попадания второй и т.д.  Величина отклонения зависит напрямую от цифр в колонке BurstPenalty.
 
Зарегистрирован

Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Наука и религия в исходниках НО.
« Ответ #189 от 17.11.2010 в 00:15:27 »

17.11.2010 в 00:09:15, MAn писал(a):
А чо б не вычислять попадание только для первой пули, а для всех остальных вычислять только отклонение от первой, в соответствии с цифрами в колонке BurstPenalty?  

Ты понимаешь, тут дело в модели попадания, ведь процедура отклонения вызывается после того, как принято решение, что пуля летит в молоко... Там как красиво очередь не "рисуй", конфетки не сделаешь, придется перерабатывать всю модель стрельбы.  
 
17.11.2010 в 00:09:15, MAn писал(a):
ля каждой  последующей пули в очереди  вычисляется отклонение относительно места попадания первой, или:  точка привязки смещается - для второй пули вычисляетсчя отклонение относительно места попадания первой;

Если пробрасывать вычисление шанса попасть, а просто пули отклонять, то 99% всех пуль пойдут мимо. Я не до конца разглядел физ. модель, но чтобы пуля пошла точно во врага, там ей ОЧЕНЬ точно надо задать параметры полета. Для этого и вводится вычисления вероятности попадания. Т.е. сперва "бросается игральная кость", смотрится - если попал - то параметры вычисляются ТОЧНО. Если не попал - тогда углы ставятся от балды. Конечно, есть вероятность, что пуля таки даже с этими случайными углами попадет. но она стремится к нулю. Чтобы очередью попадать - сейчас нельзя пробрасывать вычисления шанса попадания. В этом одна из корневых проблем.
Зарегистрирован

MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Наука и религия в исходниках НО.
« Ответ #190 от 17.11.2010 в 00:25:47 »

17.11.2010 в 00:15:27, Dirk_Diggler писал(a):
Ты понимаешь, тут дело в модели попадания, ведь процедура отклонения вызывается после того, как принято решение, что пуля летит в молоко...  

ну, я просто в порядке обсуждения... потрепаться так скать :)
Но я думаю, что ты не прав... это вообще второстепенный  вопрос как там процедуру отклонения вызывать.. ну, просто навязать алгоритму мнение, что все остальные пули летят в молоко...  
 
 17.11.2010 в 00:15:27, Dirk_Diggler писал(a):
Т.е. сперва "бросается игральная кость", смотрится - если попал - то параметры вычисляются ТОЧНО. Если не попал - тогда углы ставятся от балды. Конечно, есть вероятность, что пуля таки даже с этими случайными углами попадет. но она стремится к нулю.  

И тут не соглашусь... Наоборот, все необъяснимые на первый взгляд попадания... ну, там в голову с 25 тайлов... связаны с тем, что "кубик кидается дважды" ,т.е. даже если промазал, то всё равно можно попасть из-за того, что отклонение будет маленькое.
 
Потом, ты ж невнимательно прочёл - отклонение пули зависит от условно=заданной цифры в колонке BurstPenalty (там щас штраф на очередь указан)... отклонение может быть и очень маленьким
Зарегистрирован

Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Наука и религия в исходниках НО.
« Ответ #191 от 17.11.2010 в 00:49:50 »

Code:
fGonnaHit = uiDiceRoll <= uiHitChance;

 
Code:
FireBulletGivenTarget( pSoldier, dTargetX, dTargetY, dTargetZ, pSoldier->usAttackingWeapon, (UINT16) (uiHitChance - uiDiceRoll), fBuckshot, FALSE );

 
Code:
           pBullet->sHitBy      = sHitBy;

 
                   Code:
if ( sHitBy >= 0 )
                  {
                        // calculate by hand (well, without angles) to match LOS
                        pBullet->qIncrX = FloatToFixed( dDeltaX / (FLOAT)iDistance );
                        pBullet->qIncrY = FloatToFixed( dDeltaY / (FLOAT)iDistance );
                        pBullet->qIncrZ = FloatToFixed( dDeltaZ / (FLOAT)iDistance );
                        ddAdjustedHorizAngle = ddHorizAngle;
                        ddAdjustedVerticAngle = ddVerticAngle;
                  }
                  else
                  {
                        CalculateFiringIncrements( ddHorizAngle, ddVerticAngle, d2DDistance, pBullet, &ddAdjustedHorizAngle, &ddAdjustedVerticAngle );
                  }

 
Т.е. в пулю зашивается её точность, и вычисляются точные инкременты.  
 
А алгоритм попаданий считается так. Для пули составляется список всех структур(включая людей) на карте, в которые она МОЖЕТ попасть. Не учитывая её направление. А только - 2 параметра, нач. и конечный тайл.  
список составляется так - типа, ты в тайле где и пуля? НЕт? Следующий. Ты в тайле? В тебя можно попасть пулей? Записываем.
А дальше идет перебор списка - типа кто там и что там, в этом тайле. В т.ч. идет проверка и по координатам:  
Code:

       if (((*(pStructure->pShape))[pBullet->bLOSIndexX][pBullet->bLOSIndexY] & AtHeight[iCurrCubesAboveLevelZ]) > 0)
       {
        if (pStructure->fFlags & STRUCTURE_PERSON)
        {
         // hit someone!
         fStopped = BulletHitMerc( pBullet, pStructure, fIntended );
         if (fStopped)
         {
          // remove bullet function now called from within BulletHitMerc, so just quit
          return;
         }
« Изменён в : 17.11.2010 в 01:17:25 пользователем: Dirk_Diggler » Зарегистрирован

Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Наука и религия в исходниках НО.
« Ответ #192 от 17.11.2010 в 01:31:57 »

17.11.2010 в 00:09:15, MAn писал(a):
А чо б не вычислять попадание только для первой пули, а для всех остальных вычислять только отклонение от первой, в соответствии с цифрами в колонке BurstPenalty?  

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

Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Наука и религия в исходниках НО.
« Ответ #193 от 17.11.2010 в 01:38:16 »

Вот у меня претензия - веерная стрельба практически бесполезна, вне зависимости от очереди... Фраги вообще нихрена не боятся. И накрыть из РПК толпу идиотов, скучковавшихся где-либо - очень сложно. Это как раз потому, что в вышеупомянутый список структур, какие МОЖНО подстрелить, солдаты попадают гарантированно только если стреляем мы в т.ч. именно в его тайл...
« Изменён в : 17.11.2010 в 01:43:05 пользователем: Dirk_Diggler » Зарегистрирован

Luficer
[Аццкий Сотона]
Прирожденный Джаец

Да, это негр :)


Ё-мэйл

Пол:
Репутация: +318
Re: Наука и религия в исходниках НО.
« Ответ #194 от 17.11.2010 в 02:40:31 »

17.11.2010 в 01:38:16, Dirk_Diggler писал(a):
Вот у меня претензия - веерная стрельба практически бесполезна, вне зависимости от очереди...

 
Вот здесь ты чертовски прав. В практике (в частности сектор из А-серии, недалеко от СЗ ПВО, тот, что с островом) у меня были случаи, когда, стреляя из чего-то маломощного, но автоматического (MAC-10) очередями по 10 патронов удавалось за ход цепануть 2-х 3-х плохишей, скопившихся на участке в 9 квадратных тайлов. А при переигрывании хода, бывало, и ни одного не ранишь.
Будь у мерка пулемет+ соответствующая меткость - первые 6 пуль ушли бы в тушку мишени, остальные "в молоко" .  
Довольно часто, прицельная стрельба "в область" могла бы очень пригодиться. При выкуривании снайперов и "засадников", к примеру или при стрельбе по плотной толпе. Пока же приходится для таких случаев таскать на себе РПГ, который, кстати, уже не торт.
 
Есть еще одна вещь, не знаю правда, механизма ее действия. Если при стрельбе очередью зажать ЛКМ на мишени и не отпускаяпровести линию по карте (по ходу линии появляется "мусор" в виде остатков прицельного перекрестья), то стрельба будет вестись примерно по этой линии. Правда, не проверял результаты на толпе, но, думаю, ничего хорошего не выйдет.
Зарегистрирован

Ночью в тёмных переулках Астаны слышно цоканье копытцев Сотоны.
Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Наука и религия в исходниках НО.
« Ответ #195 от 17.11.2010 в 02:44:12 »

17.11.2010 в 02:40:31, Luficer писал(a):
равда, не проверял результаты на толпе, но, думаю, ничего хорошего не выйдет.
      

Я пробовал пару десятков раз. Максимум - попадает первая пуля.  
 
 17.11.2010 в 02:40:31, Luficer писал(a):
прицельная стрельба "в область" могла бы очень пригодиться.  

пока не так-то просто реализовать это. Или надо увеличивать вероятность попадания в структуру до 100%, даже если ты в неё не целился...
« Изменён в : 17.11.2010 в 02:46:27 пользователем: Dirk_Diggler » Зарегистрирован

Luficer
[Аццкий Сотона]
Прирожденный Джаец

Да, это негр :)


Ё-мэйл

Пол:
Репутация: +318
Re: Наука и религия в исходниках НО.
« Ответ #196 от 17.11.2010 в 03:16:44 »

17.11.2010 в 02:44:12, Dirk_Diggler писал(a):
пока не так-то просто реализовать это. Или надо увеличивать вероятность попадания в структуру до 100%, даже если ты в неё не целился...  

А как это выглядит сейчас? Понимаю, что где-то в этой ветке уже есть ответ, но все же, если не сложно, можешь выложить кусок кода, отвечающий за вероятность попадания с комментариями?
Зарегистрирован

Ночью в тёмных переулках Астаны слышно цоканье копытцев Сотоны.
Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Наука и религия в исходниках НО.
« Ответ #197 от 17.11.2010 в 03:28:09 »

Кода - очень дохрена. Кратко алгоритм.
 
1) Определяется вероятность попадания C
2) Кидается рандом R, берется отклонение D от шанса  
3) Формируется пуля. Пуле выдается направление на цель. Точное - если мы попали. И "примерно от балды" в противном случае, причем направление лежит между двумя конусами с вершиной в конце ствола. Внутренний конус ограничивает направление так, чтобы мы случайно не попали в цель - мы же уже промазали. Внешний ограничивает разброс. В пуле также храним тайл куда стреляем(где цель) и - отклонение D.
4) Пуля летит. на каждом перемещении:  
    а) для пули составляется список всех структур(включая людей) на карте, в которые она МОЖЕТ попасть. Список составляется примерно так - типа, ты в тайле где и пуля? Нет? Следующий. Ты в тайле? Это в тебя игрок целился? Да? Записываем. Нет? Берем вероятность поражения структуры. Вот тут идет вычисления по всяким формулам и коэф. Сетка поражается слабо(пули пролетают насквозь обычно), стены поражаются всегда, камни и деревья - иногда.
   б) обходим список и проверяем на совпадение пули и точки структуры.
 
Как видно, мало чтобы координаты пули оказались внутри предмета. Надо, чтобы этот предмет был в списке проверяемых на такое совпадение! А люди туда попадают совсем не всегда, 100% гарантия попасть в список ТОЛЬКО у того, в кого мы целились.
Зарегистрирован

MAn
[Человечище!!!]







Пол:
Репутация: +403
Re: Наука и религия в исходниках НО.
« Ответ #198 от 17.11.2010 в 19:33:03 »

17.11.2010 в 03:28:09, Dirk_Diggler писал(a):
3) Формируется пуля. Пуле выдается направление на цель. Точное - если мы попали. И "примерно от балды" в противном случае, причем направление лежит между двумя конусами с вершиной в конце ствола. Внутренний конус ограничивает направление так, чтобы мы случайно не попали в цель - мы же уже промазали. Внешний ограничивает разброс.

А это не ошибка, часом? Вот здесь написано иное:  
http://forum.ja2.su/cgi-bin/yabb/YaBB.pl?board=ja2v113;action=display;nu...
  Quote:
Первая часть ("попадание") проста дял понимания: если бросок кости успешен, пуля летит прямёхонько в центр мишени. Если на пути не будет препятствий, пуля попадёт точно в ту часть тела, в которую целились. Следовательно, с 50% ШП, 50% пуль улетит точно в центр мишени.    Вторая часть это то о чём большинство игроков пребывают в блаженном неведении, она разбирается с пулями которые провалили бросок и проверку по ШП. В зависимости от того насколько бросок кости был меньше ШП, пуля может пролететь в пределах определённого радиуса от центра мишени. Учитывая что радиус довольно большой (низкий ШП), или дистанция довольно велика, пуля может разминуться с целью полностью. Однако, всегда есть шанс что пуля вылетит в точку, достаточно близкую к ценрту мишени, чтобы поразить его, и это всё при том что она была определена как "промах"! Более того, с тем фактором случайности, который используется в формуле, довольно таки возможно для пули "промаха" прилететь прямо в центр цели, словно это пуля "попадания".

 
 17.11.2010 в 03:28:09, Dirk_Diggler писал(a):
А люди туда попадают совсем не всегда, 100% гарантия попасть в список ТОЛЬКО у того, в кого мы целились.

Багмонстр грит, что быдто 40 или 60%
http://forum.ja2.su/cgi-bin/yabb/YaBB.pl?board=ja2v113;action=display;nu...
Зарегистрирован

Dirk_Diggler
[Дерзкий шахтёр]
Прирожденный Джаец

ы




Репутация: +48
Re: Наука и религия в исходниках НО.
« Ответ #199 от 17.11.2010 в 19:38:03 »

17.11.2010 в 19:33:03, MAn писал(a):
А это не ошибка, часом? Вот здесь написано иное:  

Обратить внимание на ddMinimumMiss и его использование.
 
       Code:
// Want to make sure that not too many misses actually hit the target after all
            // to miss a target at 1 tile is about 30 degrees off, at 5 tiles, 6 degrees off
            // at 15 tiles, 2 degrees off.  Thus 30 degrees divided by the # of tiles distance.
            ddMinimumMiss = MIN_AIMING_SCREWUP / (dd2DDistance / CELL_X_SIZE );
            
            if (ddMinimumMiss > ddMaximumMiss)
            {
                  ddMinimumMiss = ddMaximumMiss;
            }
 
            ddAmountOfMiss = ( (ddMaximumMiss - ddMinimumMiss) * (DOUBLE) iMissedBy) / 100.0 + ddMinimumMiss;
if (PreRandom( 2 ) )
            {
                  ddHorizAngle += ddAmountOfMiss * (100.0 - ddVerticPercentOfMiss) / 100.0;
            }
            else
            {
                  ddHorizAngle -= ddAmountOfMiss * (100.0 - ddVerticPercentOfMiss) / 100.0;
            }
 
            // miss up or down
            if (PreRandom( 100 ) < uiChanceOfMissAbove)
            {
                  ddVerticAngle += ddAmountOfMiss * ddVerticPercentOfMiss / 100.0;
            }
            else
            {
                  ddVerticAngle -= ddAmountOfMiss * ddVerticPercentOfMiss / 100.0;
            }
« Изменён в : 17.11.2010 в 19:38:38 пользователем: Dirk_Diggler » Зарегистрирован

Страниц: 1 2 3 4 5  Послать Тему Послать Тему Печатать Печатать

« Предыдущая Тема | Следующая Тема »

Статистика. Размер данных: 154761 GZip: off
A.I.M. » Powered by YaBB Modification 4 (v.4.0.0-pre)!
YaBB © 2000-2003. All Rights Reserved.