Jump to content
Korean Random
Dragon armor

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

Recommended Posts

2 минуты назад, Plotnik5252ru сказал:

Ну смотри есть обычная вафля в клиенте. И то можно просто сделать или перенести на неё этот стиль или шкурку? А с остальным идей даже нет.

А характеристики там хп и тд, можно менять на сервере.

Основный язык всего этого питон как я понял. И еще там полно json. Думаю я смогу во всем этом деле разобраться.
Какие кстати на данный момент проблемы с эмулятором? С чем не получается разобраться?

Share this post


Link to post

Short link
Share on other sites
Только что, Vanya115 сказал:

Какие кстати на данный момент проблемы с эмулятором? С чем не получается разобраться?

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

Share this post


Link to post

Short link
Share on other sites
2 часа назад, Plotnik5252ru сказал:

@Dragon armor Это к нему вопросы по поводу проблем с эмулятором.

 

Ну ещё мы хотим в конце сделать хоть какую то физику в игре

По поводу физики. Она там (у картошки) на ньютоне сделана или неизвестно как? А то нам неплохо бы сделать все максимально похожим на оригинал. 

Share this post


Link to post

Short link
Share on other sites
4 минуты назад, Vanya115 сказал:

Она там (у картошки) на ньютоне сделана или неизвестно как?

Havok, начиная с обновления 1.0. До этого - непонятно. Возможно, внутренняя разработка для BigWorld.

Share this post


Link to post

Short link
Share on other sites
3 часа назад, Vanya115 сказал:

Какие кстати на данный момент проблемы с эмулятором?

Пока что небольшой отдых. В рангах пытаюсь выбиться в лиги. Такое себе, один шеврон до несгораемого ранга раза 3 проходил. В плюсе на этот один шеврон за сегодня.

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

С чем не получается разобраться?

BSP формат коллизии для статической геометрии.

1 час назад, Vanya115 сказал:

По поводу физики. Она там (у картошки) на ньютоне сделана или неизвестно как?

Серверная, скорее всего, своя.

1 час назад, DrWeb7_1 сказал:

Havok, начиная с обновления 1.0.

Это в клиенте. А на сервере?

Хотя есть видео "Дневники разработчиков 2014. Новая физика! [World of Tanks]". Там говорят, что хавок используется.

1 час назад, Vanya115 сказал:

А то нам неплохо бы сделать все максимально похожим на оригинал.

Зачем? Пореалистичнее можно сделать. У меня есть несколько идей, как рИализЬму добавить. Использую Newton. Но на данный момент даже не знаю, как выглядеть будет конечный результат.

6 часов назад, Vanya115 сказал:

Переход с 0.9 на последний патч проблематичным будет?

Зачем? Мне старая графика и старый клиент нравится. А карты-то какие. Просто летаешь над картой и восхищяешься, какие же они были хорошие, даже с учётом тех недостатоков, что у них были. Жаль, что насладиться ими в полной мере не успел.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
1 час назад, Dragon armor сказал:

недостатоков, что у них были

Недостатков? Я предпочту корректную коллизию карты красивой графике. Чем 0.9.22, как и её предшественники, и выигрывает.

Share this post


Link to post

Short link
Share on other sites

@Dragon armor Привет еще раз, пакет не сжимается zlib (по крайнее мере у меня всегда Invalid zlib header в любых случаях)

image.png.1af37572866d106bb1e9757d75635bf5.png

Это пример уже расшифрованного пакета но он все еще сжат (есть предположение что это может быть? pickle там очень мало - только после авторизации. 

Share this post


Link to post

Short link
Share on other sites
14 минут назад, MemoryCore сказал:

Это пример уже расшифрованного пакета

Ты с флагами не разобрался.

15 минут назад, MemoryCore сказал:

всегда Invalid zlib header в любых случаях

Поэтому и так. Плюс, не весь пакет сжимается же. Его отдельные части только, которые, может не корректно, называю сообщениями (message в BigWorld).

Судя по флагам, это составное сообщение (FLAG_IS_FRAGMENT). И, судя по тем же флагам, последнее из них. Из сообщения вырезаны последние байты? Не вижу сигнатуры шифрованных данных (0xdeadbeef).

Ты что сделать хочешь? Для чего тебе дешифровка трафика?

17 часов назад, DrWeb7_1 сказал:

Недостатков?

Недостатки в части геймплея. Где-то разъезд одной команды простреливается почти с респа другой, где-то ещё какие-то. Но, несмотря даже на эти недостатки, в сравнении с тем, что сейчас - это были превосходные карты. Эта новая мета камень-куст просто ужасна. Когда начинаешь немного разбираться в игре и хочешь как-то поактивнее действовать, обязательно на ключевой позиции есть прострел. И, конечно же, надо борт башни или танка подставлять под эти позиции, чтобы действовать.

Share this post


Link to post

Short link
Share on other sites

@Dragon armor мне интересно разбираться в этом, никакой конкретной цели не преследую.
 Пакет который я показал уже "дешифрованный" прямиком из функции decrypt в игре поэтому там отсутствует сигнатура в конце 0xdeadbeef (я так полагаю) ибо пакет я не резал

 

Share this post


Link to post

Short link
Share on other sites
3 минуты назад, MemoryCore сказал:

мне интересно разбираться в этом, никакой конкретной цели не преследую

Для чего разбираться? У меня была конкретная цель, поэтому пришлось повозиться, потому что это часть цели. Зачем тебе разбираться? Ты хочешь попрактиковаться в реверсе? Или попрактиковаться в разборе сетевого протокола? Тут довольно сложно всё, особенно если новичок. Хотя есть исходники BigWorld'а, пусть и старые, но многое можно в них подсмотреть в плане реализации.

8 минут назад, MemoryCore сказал:

Пакет который я показал уже "дешифрованный" прямиком из функции decrypt в игре поэтому там отсутствует сигнатура в конце 0xdeadbeef (я так полагаю) ибо пакет я не резал

Там нет номера пакета, номеров фрагментов. Ты лишнего вырезал, либо не скопировал.

 

Вот такой пример пакета с тем заголовком, что у тебя. Из недавнего дампа так же после функции дешифровки.

774207218_.png.570b55ae9f033f21d64e7f310784dfc1.png

Share this post


Link to post

Short link
Share on other sites
4 минуты назад, Dragon armor сказал:

Для чего разбираться? У меня была конкретная цель, поэтому пришлось повозиться, потому что это часть цели. Зачем тебе разбираться? Ты хочешь попрактиковаться в реверсе? Или попрактиковаться в разборе сетевого протокола? Тут довольно сложно всё, особенно если новичок. Хотя есть исходники BigWorld'а, пусть и старые, но многое можно в них подсмотреть в плане реализации.

Там нет номера пакета, номеров фрагментов. Ты лишнего вырезал, либо не скопировал.

 


Тут прикол в том что я занимаюсь не ПК версией а мобильной :ph34r:

Share this post


Link to post

Short link
Share on other sites
Только что, MemoryCore сказал:

Тут прикол в том что я занимаюсь не ПК версией а мобильной

Эта тема про разборку сетевого протокола ПК-версии World of Tanks.

Share this post


Link to post

Short link
Share on other sites
Только что, DrWeb7_1 сказал:

Эта тема про разборку сетевого протокола ПК-версии World of Tanks.

Они мало чем отличаются на практике. Реализация практически одинаковая поэтому те самые исходники bigworld актуальны и для мобилки

Share this post


Link to post

Short link
Share on other sites
11 минут назад, MemoryCore сказал:

Они мало чем отличаются на практике.

Всё же отличаются. Например, нет def-файлов, все энтити прямо в коде приложения сделаны. Посмотреть, какие у них есть функции нет возможности, в отличие от ПК версии, где можно сопоставить ID конкретной функции из def, а в скриптах игры найти как именно с ним работать. Инициализация там, возможно, сделана по другому.

Это у тебя был целый пакет? Он не полный. И это часть одного фрагмента.

И ещё хочу добавить. А там точно питон есть? Ведь если его нет, значит и cPickle нет.

Share this post


Link to post

Short link
Share on other sites

Кто подскажет по 3D моделям техники для физики. Как лучше с ними поступить. Какой формат хранения выбрать, как лучше сделать.

1. На данный момент у меня fbx. В нём, судя по всему, есть всё необходимое. И поддерживается экспорт из 3d редактора, и импорт геометрии простой. Но может есть что лучше?

2. Разделение на коллизию и хитбокс. Пока что этот момент не до конца обдуман. Первый нужен в физическом движке. А второй для рассчётов попадания снарядов. Эта модель сложнее, потому что нужны будут и внутренние модули, и надо учитывать толщину брони. Ограничения физического движка такие, что приходится броню делать в виде отдельных простых невыпуклых 3d-элементов. И у меня эта броня покрывает всю модель.

1088707479_2.thumb.png.87ee53b93e86a063e2b10e15cacab469.png

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

747140444_.thumb.png.b3cf8f664ce440590d12b46207e50631.png

Должно быть пробитие с таком случае?

52770289_3.thumb.png.bd1613c2bfc318cd70e417407e6383b3.png

У меня сделано пока что так. Открытая рубка - это броня с толщиной 0 мм.

3. В физическом движке есть возможность отдельно делать для модели raycast, как раз тот самый хитбокс и будет участвовать. Но надо ещё и информацию получить по типу поверхности, которую встретил raycast. А у меня эта информация сохраняется в материалах. Например, вот так.

430416848_4.thumb.png.2c2e39908d584e1074c0aef9d6271658.png

index - это из xml файла. Там броня разделена по этим индексам и прописана их толщина. Из этого индекса толщину можно будет получить в дальнейшем для расчётов.

type - пока что это тип брони, т.е. основная или экран.

Ещё нужно будет добавить экипаж, внутренние модули. Это, ясно-понятно, будет без index, можно и через type обозначить, типа crew, module и добавить ещё одно свойство, характеризующее соответствующий элемент.

4. Кто смотрел коллизию в клиенте игры, знает, что там сделано отдельными полигонами и им присвоен индекс. У меня, как написано в п.2, сделано отдельными невыпуклыми элементами. Просто не знаю, есть ли в физическом движке возможность делать raycast для отдельных полигонов. Потому что ограничения на создание физической модели из отдельных не связанных между собой полигонов - это статика. Это надо попробовать создать. И, если получится, можно точнее делать хитбокс. А у статических объектов есть возможность назначать отдельные свойства каждому полигону или группе полигонов, в отличие от динамики, где можно свойства назначить отдельному элементу.

Share this post


Link to post

Short link
Share on other sites
06.11.2020 в 21:03, Dragon armor сказал:

Кто подскажет по 3D моделям техники для физики. Как лучше с ними поступить. Какой формат хранения выбрать, как лучше сделать.

1. На данный момент у меня fbx. В нём, судя по всему, есть всё необходимое. И поддерживается экспорт из 3d редактора, и импорт геометрии простой. Но может есть что лучше?

2. Разделение на коллизию и хитбокс. Пока что этот момент не до конца обдуман. Первый нужен в физическом движке. А второй для рассчётов попадания снарядов. Эта модель сложнее, потому что нужны будут и внутренние модули, и надо учитывать толщину брони. Ограничения физического движка такие, что приходится броню делать в виде отдельных простых невыпуклых 3d-элементов. И у меня эта броня покрывает всю модель.

 

  Показать содержимое

1088707479_2.thumb.png.87ee53b93e86a063e2b10e15cacab469.png

 

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

 

  Показать содержимое

747140444_.thumb.png.b3cf8f664ce440590d12b46207e50631.png

 

Должно быть пробитие с таком случае?

 

  Показать содержимое

52770289_3.thumb.png.bd1613c2bfc318cd70e417407e6383b3.png

 

У меня сделано пока что так. Открытая рубка - это броня с толщиной 0 мм.

3. В физическом движке есть возможность отдельно делать для модели raycast, как раз тот самый хитбокс и будет участвовать. Но надо ещё и информацию получить по типу поверхности, которую встретил raycast. А у меня эта информация сохраняется в материалах. Например, вот так.

 

  Показать содержимое

430416848_4.thumb.png.2c2e39908d584e1074c0aef9d6271658.png

 

index - это из xml файла. Там броня разделена по этим индексам и прописана их толщина. Из этого индекса толщину можно будет получить в дальнейшем для расчётов.

type - пока что это тип брони, т.е. основная или экран.

Ещё нужно будет добавить экипаж, внутренние модули. Это, ясно-понятно, будет без index, можно и через type обозначить, типа crew, module и добавить ещё одно свойство, характеризующее соответствующий элемент.

4. Кто смотрел коллизию в клиенте игры, знает, что там сделано отдельными полигонами и им присвоен индекс. У меня, как написано в п.2, сделано отдельными невыпуклыми элементами. Просто не знаю, есть ли в физическом движке возможность делать raycast для отдельных полигонов. Потому что ограничения на создание физической модели из отдельных не связанных между собой полигонов - это статика. Это надо попробовать создать. И, если получится, можно точнее делать хитбокс. А у статических объектов есть возможность назначать отдельные свойства каждому полигону или группе полигонов, в отличие от динамики, где можно свойства назначить отдельному элементу.

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

Share this post


Link to post

Short link
Share on other sites

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

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

Такое даже в реалистичном WarThunder не реализовано.

Решил поискать экспортер моделей для этой игры, чтобы посмотреть их реализацию внутренних модулей. И нашёл статью интересную  Создание 3D-модели танка. У них так же используется две модели - одна упрощенная для физических взаимодействий, а вторая так же для расчёта попаданий. Забавно, значит правильно думал, что надо разделять их. У них снаряд может пробить танк насквозь и полететь дальше. Так что сквозные пробития у них есть.

5 часов назад, Vanya115 сказал:

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

С открытой рубкой предполагаю такой вариант. Где нет брони - никаких 0 мм, тут ты прав, может пройти урон, когда снаряд прошёл через пустое место. Но, если он попал во внутреннюю часть брони, тогда должен быть урон. Но тут проблема вырисовывается - нужно два типа брони делать в открытой рубке. Одна - наружняя, с ней происходит расчёт и рикошетов, и толщины. А вторая будет внутренняя и здесь важен лишь факт попадания в неё для нанесения урона - та же броня с толщиной 0 мм, либо специальная пометка, что броня внутренняя. А вот если по внутреннему модулю, например, казённой части орудия, что должно быть? Как-то тестировал гриля именно на этот случай. Как мне помнится, попадание по орудию - это урон. Выше или ниже орудия - снаряд пролетал насквозь. Но вот членов экипажа, по идее, можно было контузить и без урона, хотя у меня тогда не получилось. Пока что других идей нет, хотя это и усложнение моделирования. И так придётся всю модель облепливать бронёй с фиктивной, но толщиной (т.е. все отдельные геометрические 3d элементы должны быть замкнутые).

Share this post


Link to post

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...