Желающие в это поиграть, координируемся в этом треде. Сюда же постим архивные gif/webm. Желательно их как-то осмысленно именовать, например, датой проведения игры.
Что такое Битва Битардов? Это такая форумная игра для двача. Проводится она легко и непринуждённо с помощью скрипта (пикрилейтед), который можно скачать по ссылке ниже. Можно и без скрипта: импортировать как слои в GIMP или Photoshop изображения из папки resources и перерисовывать вручную. Но со скриптом лучше.
Какие у скрипта фичи? - Рассчитывает все действия игроков; - Предупреждает если введены неправильные данные; - Перерисовывает карту в соответствии с текущим состоянием игрового мира (bitva_bitardov.png в папке output); - В /brg вместо номера поста можно использовать бросок кубика 10d9 (копипастим "(X + ... + X)" в соответствующее поле вместо номера поста, числа 10 и больше считаются за 0); - Сохранение и загрузка игры в виде текстовых файлов (сохраняем игру в текстовый файл, постим текст из этого файла в тред, другой анон этот текст копипастит в текстовый файл уже у себя и сохраняет как .txt, жмёт «Загрузить игру», выбирает этот файл и готово — можно продолжать вести игру).
Что нужно для работы скрипта? Нужен Python 3.x и библиотека Pillow соответствующей версии («Как установить Python 3», «Как установить Pillow для Python 3»).
Стандартная шапка запихнута в сам скрипт battle_of_bitards.py, его можно открыть любым текстовым редактором (например, Блокнотом) и посмотреть. Также можно изменить размер шрифта GUI и некоторые другие штуки указав другие значения переменных в начале скрипта, подробнее — см. комментарии в скрипте (на русском языке, конечно). Претензии к качеству кода не принимаются.
Для участия в качестве игрока ничего качать не нужно.
========= Стандартная шапка ==========
Чего? Каво? Заходишь в тред и пишешь пост в котором указываешь: 1. За какую ты фракцию — Моча или Говно (указывать обязательно); 2. Твоё командирское имя (выдуманное; указывать не обязательно); 3. Один из двух возможных приказов — атаковать город X, либо защищать город X (указывать обязательно). Атаковать можно только те города вражеской фракции, которые граничат с городами твоей фракции. Защищать можно любой город своей фракции. Чтобы что-то произошло, нужно выбить как минимум дабл. Рероллить ссылкой на пост можно. Но только до первого срабатывания ролла (дабл, трипл, etc...) Другие роллы на этот пост уже не учитываются.
Как определяется сила армии: Всё что ниже дабла = ничего (не учитывается); Дабл = цифра в дабле умноженная на себя + 10; Трипл = цифра в трипле умноженная на себя два раза + 30; Квадрипл = цифра квадрипла умноженная на себя три раза + 40; и так далее...
Как рассчитывается итог сражения.
Армия нападает на город: [сила_атакующей_армии] - ([сила_гарнизона] + [бонус_защиты_от_городов]) x [бонус_защиты_от_столицы] = [остатки_атакующих] Если [остатки_атакующих] больше 0, считается, что город захвачен; При этом, [остатки_атакующих] добавляются к силе гарнизона города, теперь уже принадлежащего другой фракции. Независимо от того, был ли захвачен город после атаки, рассчитывается урон по гарнизону города: [сила_гарнизона] - ([сила_атакующей_армии] + [бонус_атаки_от_городов]) x [бонус_атаки_от_столицы] = [остатки_гарнизона] При этом, даже если [остатки_гарнизона] = 0 или отрицательное число, город считается захваченным только когда [остатки_атакующих] больше нуля. То есть когда погибает и вся атакующая армия, и весь гарнизон, город захваченным не считается.
Армия защищает город: [сила_гарнизона_было] + [сила_защищающей_армии] = [сила_гарнизона_стало] То есть сила армии просто просто добавляется к силе гарнизона.
В случаях, когда армия приходит атаковать город, который уже захвачен союзником, считается, что она защищает этот город. Когда армия приходит защищать город, который уже захвачен врагом, считается, что она атакует этот город.
Владение городами даёт определённые бонусы фракциям. Например, начальные города Говна дают бонус по +1 к силе армии при обороне города, а города Мочи дают +1 при атаке. Если фракция Мочи захватит один из городов Говна, она также получит бонус +1 при защите. Столицы дают особые бонусы. Информацию о бонусах можно посмотреть на карте.
Чтобы ОП успевал обрабатывать поступающую информацию и оперативно обновлять карту, после поста ОП'а «СТОП» битва приостанавливается. Любые посты после этого не учитываются. Битва продолжается и посты снова учитываются толко после того как ОП запостит обновлённую карту.
Условия победы: Захватить все города на карте, либо к 500-ому посту в треде собрать в своих городах более сильное войско (суммарно), без учёта бонусов.
>>1297706 (OP) >4 пик Ебать, наконец-то адекват в этом разделе впервые за несколько лет, умеющий в нормальные гифки, а не сшакаленное говно с онлайн-конвертеров. Моё почтение. Мимо также в гимпе пилил гифки для захватов в девятнадцатом году. >Можно и без скрипта: импортировать как слои в GIMP или Photoshop изображения из папки resources и перерисовывать вручную. Но со скриптом лучше. Мне кажется, если кто и решится провести битву говна и мочи кроме тебя, то разбираться с хитровыебанными формулами расчёта бонусов будет настолько не в кайф, что проще будет накатить питон, омегалол. >- В /brg вместо номера поста можно использовать бросок кубика 10d9 (копипастим "(X + ... + X)" в соответствующее поле вместо номера поста, числа 10 и больше считаются за 0); 10д9 - десять девятигранников. 9д10 - девять десятигранников. И что-то мне подсказывает, что ты скорее имел ввиду именно второе, нежели первое. Учи матчасть, чтобы не быть кеком.
Алсо, напиши-ка на фейкомыльце. tovoli4930@cyadp.com Хотел бы задать тебе несколько вопросов, если ты не против.
>>1297725 >10д9 - десять девятигранников. >9д10 - девять десятигранников.
Да, действительно, ошибся. Хотя скрипт всё равно будет правильно считать с 9д10, т.к. количество чисел в броске == количеству цифр в номере поста, то есть 9. Ну-ка 10d9: (4 + 4 + 9 + 7 + 1 + 5 + 9 + 2 + 1 + 7) = 49 9d10: (1 + 3 + 5 + 1 + 1 + 4 + 10 + 4 + 9) = 38
>Алсо, напиши-ка на фейкомыльце. Вопросы можно задать в этом треде.
>>1297729 >Хотя скрипт всё равно будет правильно считать Скрипт-то будет считать, но вот игруны будут кидать не те дайсы. Проблема, однако. >Вопросы можно задать в этом треде. Даже у стен есть уши, и кое-что лучше бы обсуждать не на виду у всех. Ну да ладно, для начала. Для чего ты создал этот тред?
>>1297737 Уже тестил игру с ботами с такой же вероятностью как у дайсов (девять чисел от 0 до 9 с одинаковой вероятностью). Всё нормально играется. Даже выпал квадрипл один раз. Субъективно кажется, что даблы прилетают даже чаще, чем по номеру поста в /b. Да, вероятности по номеру поста и с дайсами будут разными. Не считаю это проблемой.
Предложения не принимаются. Ненужный объём работы с околонулевым выхлопом.
>>1297737 >теория вероятности постов в бреду и та же теория на дайсах совершенно разные Шиз, ты? Пруфы в студию. >если на глагне ещё можно туда сюда предугадать Даблы предугадать практически невозможно. Можно пытаться предугадывать триплы и выше, но для этого в треде должно быть достаточное количество постов, чтобы иметь возможность ориентироваться по ним, как в зете. Пока что я не заметил, чтобы треды опчика пользовались особой популярностью, как бы прискорбно это не было. >дайсы абсолютно рандомные, и шанс того, что выпадет что-то выше дабла достаточно низок 10%, достаточный шанс. Кому-то повезёт больше, кому-то меньше. В твоём посте, например, целых два дабла на 10 роллов. Ну и, если честно, не думаю я, что на такие игры в брг кто-либо придёт...
>>1297738 ОП, будь ласка, поясни, как по твоей системе роллы будут работать в брг? Просто на всякий случай... За несколько лет я видел разные трактовки, одна шизанутее другой, но всё же перед тем, как начать навязывать тебе свою Единственно Вернуютм точку зрения, хочу услышать твою.
>>1297743 >>1297740 Есть такое, ОП. Игровые треды в бреде моча не любит, так что их все пидорят в тематику. Теперь тебе выход в бред доступен только в субботу и воскресенье, в другие дни тебя успешно потрут. Просто на будущее говорю. Дело даже не в этом треде, а в сути твоей игори.
>>1297742 >как по твоей системе роллы будут работать в брг Роллы? Не совсем понял, что имеется в виду. Если игроки начинают спамить роллы слишком быстро, то >Чтобы ОП успевал обрабатывать поступающую информацию и оперативно обновлять карту, после поста ОП'а «СТОП» битва приостанавливается. Любые посты после этого не учитываются. Битва продолжается и посты снова учитываются толко после того как ОП запостит обновлённую карту.
Если имелось в виду как скрипт будет их обрабатывать, то: 9d10: (4 + 4 + 8 + 1 + 5 + 10 + 9 + 8 + 6) = 55 Выделяешь и копируешь вот это всё вместе от скобки до скобки и вставляешь в соответствующее поле. Рассчитывается всё так же как номер поста из 9-ти цифр, только тут 10-ки вместо нулей.
>>1297748 Смотря что имеется в виду. Для работы с изображениями там используется библиотека Pillow (уже готовая). Остальное да, сам... И говнокодинг это как бы не полноценное программирование... Там (в коде) всё очень плохо (но всё работает как задумано). Не помню как давно. В целом, непосредственно на изучение Python'а до такогого уровня ушло не так уж много времени. Может быть около месяца, или меньше. Но этот месяц был растянут на несколько лет и сильно разбавлен всякими другими делами.
>>1297749 Нет уж, хуй вам на воротник. Как-то раз я уже имел дело с зетерами и даже частично запилил скрипт для их «классики», но потом пришёл к выводу, что их сообщество мне не нравится и тратить на него силы не стоит. Мягко говоря.
>>1297750 >Может быть около месяца, или меньше. Но этот месяц был растянут на несколько лет и сильно разбавлен всякими другими делами. Бляяядь, сейм щит. Прокрастинация - такое дело. Сам уже давно хочу написать похожую прогу, но всё постоянно откладываю на потом. Как учился? Гайды какие-то курил? Если можешь, накидай то, что курил. Особенно по пикту, с ним я ещё не работал. >>1297754 Это ты предлагал запилить скрипт для них, если тебя объявят богом зетеров? Если да, то вполне закономерно, что тебя послали нахуй, ты же вёл себя как ебанутый чсв-дебил...
>>1297757 Вангую, все шесть постеров кроме самого опчика с зета и натекли в надежде на халявный скриптец, хехе. мимо такой же зетер, но в треде по другим причинам
>>1297756 >Как учился? Гайды какие-то курил? Всего не помню. Читал книжку «Программирование на Python 3» Саммерфилда, по Pillow избирательно читал документацию + искал всякие примеры «Как сделать X», разбирался и делал своё по аналогии. Ну и ещё гайдлайны по Python'у читал. Давно это было... забылись все PEP'ы... >Это ты предлагал запилить скрипт для них, если тебя объявят богом зетеров? А может я и есть чсв-дебил. И что с того? Хотите скрипт — терпите, хотите посылать нахуй — идите нахуй. Если серьёзно, тот пост не стоило воспринимать так прямолинейно, там как бы была заложена толика юмора. Но судя по реакции зетеров, у них все интеллектуальные ресурсы на покрас уходят. В любом случая, я им ничего не должен и не хочу с ними связываться.
>>1297759 >В любом случая, я им ничего не должен и не хочу с ними связываться. Понятное дело, что не должен, но в любом случае, не относись к этому так серьёзно. Если бы мне каждый раз платили по 15 вон, когда меня посылали нахуй, я бы давно стал долларовым миллионером, лол. Всё равно на всех нервов не хватит ведь...
Ладно, пора уже мне заняться своим проектом, сколько можно хуи пинать-то. Постараюсь нужную инфу сам гуглить, разумеется, но как уж пойдёт. Ты не против, если я тебе время от времени буду тупые и не очень вопросы по тому же пикту, например, задавать?
>>1297754 >но потом пришёл к выводу, что их сообщество мне не нравится и тратить на него силы не стоит. Мягко говоря. Извините уважаемый, но как Вам удалось попасть на двач, если вы такое быдло?
>>1297762 >Ты не против, если я тебе время от времени буду тупые и не очень вопросы по тому же пикту, например, задавать? Против. Я не знаю ничего, что нельзя за 10 минут загуглить. И мне не хочется каждый день чекать этот тред. Ты и без советчиков со всем разберёшься, если захочешь.
>>1297768 Ну что же, твоё право. Всё равно спасибо за беседу, приятно было поговорить с тобой. >>1297770 Двое как минимум. Но первого олдфаги не помнят, ньюфаги не знают.
Добавил в архив скрипт для синглплеера battle_of_bitards_singleplayer.py GUI нету. Зато есть три режима игры: боты против ботов, один игрок против ботов, несколько управляемых человеком игроков. Боты глупые, просто выбирают случайное возможное действие. Но для тестов этого достаточно. Рисовать карту скрипт не умеет.
И ещё сделол несколько вариантов текстурок. Как их использовать описано в самом скрипте (который battle_of_bitards.py)
Аноним (Моча) атакует Сауз-Эсс с армией 91: город взят, потери атакующих 14. Аноним (Говно) атакует Северная Залупа с армией 14: город взят, потери атакующих 1.
Что ж, из /b никто не пришёл. Попробую один потестить как это всё будет работать для /brg в полевых условиях. Это же не запрещено правилами раздела? (Нет).
С максимальным количеством бросков в одном посте (10) битва заканчивается за ~50 постов. Если игроков будет больше (одного, лол), тогда имеет смысл это ограничивать (так как становится сложнее обрабатывать отдельный пост в <количество_бросков> раз) по принципу: чем больше активных игроков, тем меньше разрешено бросков в одном посте. Но в ближайшее время такая проблема не предвидится.