RandomThunder ver. 0.0.2 Reserve

Дисклеймер

Описанное ниже программное обеспечение (далее - RandomThunder) никак не взаимодействует с War Thunder и не сделано с целью нарушения НАСТОЯЩЕГО лицензионного соглашения Gaijin и их НАСТОЯЩЕЙ интеллектуальной собственности. RandomThunder - это отдельное свободное программное обеспечение на MIT-лицензии, разработанное и опубликованное с целью предоставления нового опыта владельцам её копий.


После разговора с модератором форума Columbus_13 выкладываю это сюда. Я начинающий Python-разботчик, который осмелился сделать свой первый проект с целью улучшения своих навыков по мере его сопровождения (этап в жизненном цикле программного обеспечения). Этим проектом стал RandomThunder.

RandomThunder - простенькое свободное программное обеспечение для подбора техники и создания сетапов.

Пока что программа находится в очень раннем доступе на версии 0.0.2 Reserve и может не иметь многих удобств. В силу некоторых нюансов пока что доступен выбор только между ТРБ и АРБ, а также случайный подбор происходит с “вилкой” в 1 БР (в целом так и задумано, ведь какой смысл от рандома, если он только щадит?).

Выбор техники доступен только для фракций (стран) “Большой тройки” (США, Германия, СССР), но в будущем количество доступных фракций будет увеличиваться.

Для стабильной работы RandomThunder необходимо скачать и установить Python 3.11.4 (или позже). Программное обеспечение (ПО) не тестировалось с более ранними версиями.

Установили Python? Скачивайте RandomThunder. После загрузки архива, ПО необходимо разархивировать в удобное для вас место. Главное чтобы все файлы RandomThunder находились в одной директории (папке). После всего этого вам останется запустить “start.py” и ГОТОВО

RandomThunder работает на: Microsoft Windows 10/11, GNU/Linux. Возможен запуск и на иных операционных системах, но ПО может быть нестабильно.

Более подробно про программу я описал на странице проекта в GitHub (описание написано на английском и русском) - тык


Скачать RandomThunder - тык

Нашли баги или проблемы? Пишите в данной теме или сюда - тык

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


Кастомизация


К сожалению из-за многих возможных вводных данных RandomThunder лишь содержит в себе технику из столбца “Исследуемая техника”, которая доступна во вкладке “Исследования”, но не стоит расстраиваться! Вы можете сами добавить недостающую технику в таблицу. Для этого необходимо:

  • Перейти в директорию “factions”

image

  • Выбрать фракцию

image

  • Открыть нужный файл с техникой

image

  • Пролистать до нужного БР и в его конце написать в следующем формате:

[Название] - [БР]

image

  • После этого остаётся лишь сохранить.

После введённых вами изменений рекомендуется провести проверку на корректность, запустив start.py и написав Check. Если что-то будет не так, то проверка на корректность остановится перед проблемной строкой и напишет путь к файлу, который вызывает ошибку.

image

Важно понимать, что разделителем является ’ - ’ и лишний символ (или недописанный БР) может сломать программу. Также остерегайтесь использования ‘-’ с пробелами в названии техники. Это тоже может сделать программу нестабильной.


P.S. К сожалению не смог получить ответ от модераторов англоязычного форума касаемо размещения программного обеспечения.

3 лайка

Молодец что осваиваешь программирование!

Но если честно не вижу необходимости в подобном.

Хотя в игре все ещё нету фильтра по БРу, что меня печалит.

2 лайка

Ну… Максимум кто не может определиться в выборе и хочет максимально странный геймплей по типу сетапа 3.7, в котором у тебя условный M4A3 (105). Ну и у того кто имеет много серы.

Я сам понимаю “необходимость”. Кто захочет - тот заюзает. Для меня важно получить навыки в сопровождении и наконец попрактиковаться не на типичных задачках из самоучителя. Особо идей не было, вот и решил подключить шизофрению (шутка. А может и нет…)

По ЛС игры же нельзя оверлеи делать?

А в чем функционал-то расскажи. Что значит подбор сетапов? Анализирует статистику с thunderskill?

1 лайк

Ну… По ЛС многое что нельзя, но тут зависит от того какого тип оверлей. Проблема в том, что если ты про какие-то штучки для артиллеристов, то это спорный вопрос, так как хоть оно не модифицирует ПО (игру), но даёт преимущество.

Не, я об оверлее, который бы только в ангаре работал.

Ну вот условно функционал твоего приложения.

Открываешь дерево развития - вызываешь оверлей - вписываешь БР (или какой то другой параметр) и оверлей выделит технику, которая подходит под указанный параметр.

Почему то улитка прикрутила фильтр только по названию…

Я просто настолько устал писать, что меня только на это хватило. Извиняюсь. Полное описание на GitHub

Это обычная прога, состоящая из кучи Python-скриптов, которая берёт из таблицы данных (это даже не таблица если углубиться в вопрос) и в зависимости от настроек выводит тебе сетап. В целом в условиях ЛС особо и не сделаешь.

Программу делал неделю, так что пока что аналитики с ThunderSkill не завезли. Я в общем не думал об этом, но препятствием к реализации может быть всяческие юридические нюансы, которые не изучил в отношении ресурса.

Ну это надо углубляться в этот вопрос и консультироваться с юристами. Я не думаю что это может нарушать Gaijin EULA, ведь оверлей в пользовательском понимании - понятие растяжимое и очень условное. С одной стороны мы можем обратиться к реальному определению и сказать нет, но при условии если оверлей накладывается на саму игру. С другой стороны, если создать софт для оверлея Windows, то по сути ничего такого нет, но я не юрист и это не юридическая рекомендация.

В силу этого у меня и выводятся названия.

Давно питон изучаешь?

Ну… Не так уж и давно, но и не недавно. Бывало бросал в силу основной учёбы (которую закончил) и уже последующего выгорания после неё. Только недавно снова вернулся и щелкаю язык как могу. RandomThunder ещё не имеет прям хорошего кода, есть много усложнённых алгоритмов (но не сильно), но впоследствии думаю переписать часть кода, добавить вертолёты и прочее. Интерфейс пока на потом, Tkinter пока изучается.

Мб кто-то более рукастый сам припилит ему GUI, ведь лицензия MIT и я лично против не буду (да и не могу из-за этой самой лицензии).

Скринов бы приложил и описание подробнее

Понимаю. Как я уже написал - устал писать. Вскоре тему обновлю, но от скринов кроме как в рамках руководства смысла не вижу, так как интерфейса нет.
Всё подробно написал на GitHub

Можете подумать прикрутить парсинг thunderskill, у него вроде есть открытое api.

Хороший опыт тоже. Можете подтягивать стату техники и предлагать сетап исходя из нее

3 лайка

Ну… Это уже как-то смарт-подборщик, а не сумасшедший, коим должен быть RandomThunder. Единственный смысл, лично для меня, парсить и вытягивать из статы технику игрока, ведь возможное наличие или отсутствие премов, полковых и прочих заставили меня добавить в таблицу лишь “Исследуемую технику”

Если ты там играл, зачем тебе твоя же стата?

Это интересно именно в рамках открываемой только техники

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