Jump to content
Korean Random

Мод "Эмулятор сервера World of Tanks".


Recommended Posts

@StranikS_Scan А где коллижены? Те, что в клиенте - это очень упрощенный вариант, где показано лишь бронирование. А как на сервере у них реализовано? Как у картохи осуществляется пробитие при выстреле в открытую рубку? А в закрытую? Имею в виду, что в физическом движке происходит.

Link to comment
Short link
Share on other sites

34 минуты назад, Dragon armor сказал:

@StranikS_Scan А где коллижены? Те, что в клиенте - это очень упрощенный вариант, где показано лишь бронирование. А как на сервере у них реализовано? Как у картохи осуществляется пробитие при выстреле в открытую рубку? А в закрытую? Имею в виду, что в физическом движке происходит.

 

Коллижены можешь посмотреть - тут. Там хорошо виден принцип реализации у картошки.

 

Про механику пробития у картошки можешь почитать - тут (устарело немного) и еще тут в первом посте.

 

Отвечая на твой вопрос о рубках и уроне - у картошки есть слои, которые помечены как слои контроля попадания снаряды в заброневое пространство. Если снаряд такой слой пробивает, то срабатывает флаг попадания в заброневое пространство и включается расчет урона по танку. Чтобы не было "дырок" в танках картошка часто примеяет слои мембраны с толщиной 0 мм, задача которых исключительно контролировать попадание снаряды в заброневое пространство. Например такой слой часто присутствует в башне танка, где закрывает пространство между орудием и краями отверстия башни.

 

spacer.png

 

 

Если интересует кодовая часть, то в клиенте игры есть код работы с коллиженами, он в некотором малом роде дублирует серверную часть, т.к. часть неважных проверок и перерасчетов клиент делает сам простреливая коллижены через Collide модели. Ты можешь для начала глянуть вот это. Сам мод вот тут.

Edited by StranikS_Scan
Link to comment
Short link
Share on other sites

@StranikS_Scan 

4 часа назад, StranikS_Scan сказал:

Отвечая на твой вопрос о рубках и уроне - у картошки есть слои, которые помечены как слои контроля попадания снаряды в заброневое пространство. Если снаряд такой слой пробивает, то срабатывает флаг попадания в заброневое пространство и включается расчет урона по танку

Всё-таки броня нулевой толщины должна быть. Без внутренних слоёв.

4 часа назад, StranikS_Scan сказал:

Коллижены можешь посмотреть - тут. Там хорошо виден принцип реализации у картошки.

Броня башни отсутствует.

424781370_.thumb.png.4c22282025dd0452adb6fdef5647d6e0.png

Ещё там регистрация требуется для просмотра чего-то более высокоуровнего. Если есть у тебя, как сделана броня башни у вафлепазика и гриля.

Это почти тоже самое, что и в клиенте доступные коллижн модели. Тут отдельными плоскостями сделано. Сейчас сам не знаю, как именно делать. Ограничения физического движка на коллизию динамического объекта - замкнутый невыпуклый 3d объект (их можно объединять прямо в физическом движке для создания любой формы). Если делать плоскостями или полигонами, то это уже статика будет. Иначе физический движок не поддерживает.

4 часа назад, StranikS_Scan сказал:

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

Это ты про питон? Но ему эти данные предоставляют. Т.е., это опять в реализацию в физическом движке упирается. А питон уже готовые данные обрабатывает.

Ну вот су-5, как раз рубка похожа на то, что надо.

1788429389_.png.5820a0da11af21bdd7b400a5b6c910ae.png

Если навести на внутреннюю часть, то не покажет ничего. Если на орудие - 0 мм. Тогда тут должны быть ограничивающие плоскости, чтобы при стрельбе сзади в рубку был урон.

Link to comment
Short link
Share on other sites

33 минуты назад, Dragon armor сказал:

Всё-таки броня нулевой толщины должна быть. Без внутренних слоёв.

 

Да, такая броня есть и пердически встречается, т.к. без неё не всегда можно сделать целостное заброневое пространство. Что касается слоев в коллижене, то у них есть набор свойств, относящихся к механике снарядов. Например у каждого слоя есть вот такие свойства

  <materials>
    <armor_1>
      <vehicleDamageFactor>	1.0	</vehicleDamageFactor>
      <useArmorHomogenization>	true	</useArmorHomogenization>
      <useHitAngle>	true	</useHitAngle>
      <useAntifragmentationLining>	true	</useAntifragmentationLining>
      <mayRicochet>	true	</mayRicochet>
      <collideOnceOnly>	false	</collideOnceOnly>
      <checkCaliberForRichet>	true	</checkCaliberForRichet>
      <checkCaliberForHitAngleNorm>	true	</checkCaliberForHitAngleNorm>
    </armor_1>

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

 

57 минут назад, Dragon armor сказал:

Броня башни отсутствует.

 

Вполне может быть. Либо это косячок у Мастера Моделей в его коде расшифровке havok-файлов, либо именно так ВГ и задумано. Скажу по своему опыту многолетнего изучения механики игры, что там таких "странных" на первый взгляд коллиженов не мало. Ну в этом и разница между игроком, который лупит по визуальной модели, думая что она и есть настоящая и игроком, который изучил коллижены и потому стреляет согласно им ))))

 

1 час назад, Dragon armor сказал:

Ещё там регистрация требуется для просмотра чего-то более высокоуровнего. Если есть у тебя, как сделана броня башни у вафлепазика и гриля.

Это почти тоже самое, что и в клиенте доступные коллижн модели.

 

Напиши Мастеру Моделей, спроси. Может даст бесплатно доступ, как коллеге-мододелу, чтоб взнос не платить.

 

Что касается вопроса - есть ли различие между havok-коллиженами в клиенте и ими же на сервере - то я склонен думать, что либо нет, либо эти различия не относятся к рассматриваемой механике, а касаются только программной реализации. Почему? Ну потому что у танков клиент-серверная технология. Нет ни какого смысла делать расчеты точнее или подробнее той инфы, которая будет отправлена игроку. В противном случае либо игрок начнет видеть, что его мир отличается мира сервера, либо сервер будет попусту загружен ненужными объёмами данных или ненужными вычислениями, результаты которых будут просто нивелироваться при отправке данных игроку. Вот например кодирование точки попадания.  Вот тут я разбирался с координатами попадания. Это номера сегментов модели, коих берется 256 по ширине и по высоте. Такое кодирование означает округление до 1/256. Возникает сразу вопрос, нужно ли на сервере делать расчеты с большей точностью, если игрок в итоге увидит результат с таким округлением?

 

1 час назад, Dragon armor сказал:

Если навести на внутреннюю часть, то не покажет ничего. Если на орудие - 0 мм. Тогда тут должны быть ограничивающие плоскости, чтобы при стрельбе сзади в рубку был урон.

 

Тут еще стоит поспрашивать Мастера Моделей какие он вносит правки в их отображение. Он ведь может при раскодировки немного вносить свои правки чтоб сделать красивую и понятную визуализацию.

 

Link to comment
Short link
Share on other sites

@StranikS_Scan Благодарю за информацию.

2 часа назад, StranikS_Scan сказал:

Что касается слоев в коллижене, то у них есть набор свойств, относящихся к механике снарядов.

Вот про это не знал. Тогда это немного облегчает создание хитбокса. Получается, что для брони достаточно будет указать один индекс, а по нему уже можно будет определить всё остальное.

 

Link to comment
Short link
Share on other sites

1 час назад, Dragon armor сказал:

@StranikS_Scan Благодарю за информацию.

Вот про это не знал. Тогда это немного облегчает создание хитбокса. Получается, что для брони достаточно будет указать один индекс, а по нему уже можно будет определить всё остальное.

 

 

Если мне не изменяет память, картошка использует до 32 слоев, то есть индексация 1...32. Вроде для корпуса до 32 слоев, а для башни до 16 слоев. Но могу соврать, так как не помню точно.

Link to comment
Short link
Share on other sites

@HaterCheaters Нет, не пробовал. А в чём сложности? Ты хочешь клиентом подключиться к серверу? Или сервером получить список конференций у другого сервера?

У меня была другая проблема - не смог добавить необходимый функционал в виде [[CDATA]...], которого требует клиент картохи. А потом выяснил, что можно и без xmpp обойтись, поэтому и все эксперименты с ним закончил. Пробовал на jabberd2.

Link to comment
Short link
Share on other sites

Just now, Dragon armor said:

@HaterCheaters Нет, не пробовал. А в чём сложности? Ты хочешь клиентом подключиться к серверу? Или сервером получить список конференций у другого сервера?

У меня была другая проблема - не смог добавить необходимый функционал в виде [[CDATA]...], которого требует клиент картохи. А потом выяснил, что можно и без xmpp обойтись, поэтому и все эксперименты с ним закончил. Пробовал на jabberd2.

не клинтом игры подключаться, а клинтом xmpp. например psi+, поличать не только список конф, но и контактов по возможности

Link to comment
Short link
Share on other sites

  • 1 month later...

Как продвигается проект? 

Сожалею. Google перевел

Я тестирую решение с Bigworld Indie Server, но оно застряло в деталях при запуске клиента версии 0.8.9. У кого-нибудь есть опыт, которым можно поделиться?

Edited by freak527
Link to comment
Short link
Share on other sites

@freak527 It will be better if you write in English. If necessary, I myself will use google translate.

Цитата

Does anyone have any experience to share

 

I'm afraid there is no one. I only ran 0.9.22.

And my server is not BigWorld. A very simplified version of the server.
Edited by Dragon armor
  • Upvote 1
Link to comment
Short link
Share on other sites

Yes it is a simplified version but, the procedure is still the same, i understand so far. Your project is awesome. Thank you for your fast reply. 

My problem is to add missing scripts to finalize the server start? I will send some screenshots to visualize the problem. Sincerely freak 

Link to comment
Short link
Share on other sites

My last step was to patch the loginapp to work with my client version. But when I want to start the process there are some scripts needed. And I have big problems to understand the python scripts. No experience in python language programming. :sad:

A second big question are the persistent data. At the moment there is a big database. But no idea to fill for testing. Sincerely freak 

Link to comment
Short link
Share on other sites

It is a working version of the Indie Suite. My patched loginapp is working with 0.8.9 and 0.9.22 so far. It is a big surprise for me. I stuck on database and python issues i described. 

Version number is 2.1 it was nearly working out of the box with client version 0.8.9. I want to share the experience with the community for help. You are so close. That inspired me. I try it about a half year. But here no successful login so far. 

Link to comment
Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...