3
29
4 года назад
3

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

Только опровержения так я не увидел
Помнится я несколько постов назад скидывал вариант кода, который подтверждает то, что ты неправ, но ты упорно не хочешь это признавать. Тебя попросили скинуть карту, где несколько источников "влияют" на случайное распределение - ты этого не делаешь, хотя сказал, что сделаешь. Причина проста, ты просто неправ, поэтому свою правоту подтвердить не можешь.
0
29
4 года назад
0

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

Ну вот адекватный человек повторил то , что я уже втирал тем, кто слишком много учился в институтах
Только это неправда.
2
29
4 года назад
2

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

Proshel_Doty:
prog, почему тогда я уже несколько раз пробовал генерить ряд из 100 чисел, и каждый раз он отлично подходил для работы одной такой пассивки? Последний раз был вчера вечером
Я вчера вечером не видел от тебя пруфа с картой и сейчас не вижу
10
29
4 года назад
10

» WarCraft 3 / Бета версия Warcraft III Reforged 1.32

Запускал свои карты на 1.31, в основном все работает ок, фантазеры, которые думают, что кастомки не будут работать, вы сайт рефорджа то открывали?
1
29
4 года назад
1

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

Нет, блин, нахрена он мне?
Пока ты не написал про него, я даже не знал, что это такое, пришлось гуглить и то влом было разбираться что там к чему. Так то оно не надо мне и вряд ли когда либо пригодится
Достаточно для чего? Что я должен вынести из твоего ответа?
Сори, но ты судя по всему просто недостаточно квалифицирован для того, чтобы заявлять о подобных "теориях" с позиции правильности, так что доказывать свои каляки придется тебе, я свои пруфы базовой теории вероятности предоставил.
0
29
4 года назад
0

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

function random(a: number) {
    return function() {
        a ^= a << 25; a ^= a >>> 7; a ^= a << 2;
        return (a >>> 0) / 4294967296;
    }
}

type Unit = {
    random_chances: number[]
}

const rnd_for_units = random(3637);
const rnd = random(1337);
const units: Unit[] = [];

for (let i = 0; i < 100; i++) {
    units.push({ random_chances: [] });
}

const chiSquaredTest = require('chi-squared-test');

for (let i = 0; i < 10000000; i++) {
    const unit = units[Math.floor(rnd_for_units() * units.length)]

    unit.random_chances.push(rnd());
}

for (const unit of units) {
    const expected: number[] = [];

    for (let i = 0; i < unit.random_chances.length; i++) expected.push(0.5);

    const test = chiSquaredTest(unit.random_chances, expected, 1);

    console.log("Chi squared probability", test.probability);
}
Теста chi-squared достаточно тебе?
2
29
4 года назад
2

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

Proshel_Doty:
Вот такой код может быть понятнее. 100 "юнитов" и 10000000 попыток на крит у рандомного из них. У всех них средний шанс - 0.5 +- epsilon.
Ясно
Ты по ходу вообще не осмыслил, то что я писал выше
Вместо того, чтобы сделать, что я тебе говорил выше, ты сейчас маешься ерундой, пытаясь доказать, что ты дофига математик или хз что
Может быть это ты не понял моего ответа? :)
Но его действие распыляется, когда он работает сразу на нескольких абилках и юнитах. Поэтому я и говорю, что для каждого случая хорошо бы свою последовательность такого рандома
Я доказал, что "распыление" одной случайной последовательности на несколько никак не влияет на распределение результатов.
0
29
4 года назад
Отредактирован Doc
0

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

function random(a: number) {
    return function() {
        a ^= a << 25; a ^= a >>> 7; a ^= a << 2;
        return (a >>> 0) / 4294967296;
    }
}

type Unit = {
    random_chances: number[]
}

const rnd_for_units = random(3637);
const rnd = random(1337);
const units: Unit[] = [];

for (let i = 0; i < 100; i++) {
    units.push({ random_chances: [] });
}


for (let i = 0; i < 10000000; i++) {
    const unit = units[Math.floor(rnd_for_units() * units.length)]

    unit.random_chances.push(rnd());
}

for (const unit of units) {
    console.log("Unit avg chance", unit.random_chances.reduce((a, b) => a + b, 0) / unit.random_chances.length);
}
Вот такой код может быть понятнее. 100 "юнитов" и 10000000 попыток на крит у рандомного из них. У всех них средний шанс - 0.5 +- epsilon.
PT153:
Doc, тут нет вызова GetRandomReal, а речь идёт про вариковский рандом, а не луа.
Я сказал человеку - учи математику, речь о том как раз, что
Random uniformly distributed subsequence of a random uniformly distributed sequence is uniformly distributed.
От генератора это не зависит, если он выдает правильную последовательность.
1
29
4 года назад
1

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

function random(a: number) {
    return function() {
        a ^= a << 25; a ^= a >>> 7; a ^= a << 2;
        return (a >>> 0) / 4294967296;
    }
}

const rnd = random(1337);
const sequence: number[] = [];

for (let i = 0; i < 1000000; i++) {
    sequence.push(rnd());
}

console.log("Sequence", sequence.reduce((a, b) => a + b, 0) / sequence.length);

for (let i = 0; i < 100; i++) {
    const subsequence: number[] = [];

    for (let j = 0; j < 100; j++) {
        subsequence.push(sequence[Math.floor(rnd() * sequence.length)]);
    }

    console.log("Subsequence", i, subsequence.reduce((a, b) => a + b, 0) / subsequence.length);
}
Все результаты этого кода стремятся к 0.5. Random uniformly distributed subsequence of a random uniformly distributed sequence is uniformly distributed.
0
29
4 года назад
0

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

А не надо никакой мой код проверять. Ты по ходу не понял о чём была речь. Зайди в варик и 100 раз например выведи на экране GetRandomReal и скорее всего (как было у меня) ты увидишь, что это оптимальный рандом. Но его действие распыляется, когда он работает сразу на нескольких абилках и юнитах. Поэтому я и говорю, что для каждого случая хорошо бы свою последовательность такого рандома
Учи математику, это не так работает
0
29
4 года назад
0

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

Proshel_Doty:
Какую же ты хрень написал братишка и хоть бы один пруф
Лол, какой ещё пруф, зайди в варик и проверь. Лично, когда я проверял было так
Как я зайду в варик проверять код, который ты написал на джассе? Где карта с вопроизведением?
0
29
4 года назад
0

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

И когда я добавлял в "систему" (ставил больше одного героя и заставлял их драться) других героев, то замечал сбои в работе пассивок. И как оказалось, ряд рандомных чисел, который генерит Варик оказывается достаточно оптимален, но только когда эта последовательность используется для одного конкретного случая. Например, если у героя есть две способности и Крит и Уклонение, то это уже два разных случая и по сути, нам нужно уже 2 ряда случайных чисел. Если в эксперимент к Герою с Критами и Уклонением добавить, например, союзника с Аурой Крита (типа все союзники рядом имею шанс нанести Крит), то и этому юниту и каждому союзнику для этого нужна своя последовательность чисел. И тогда будет оптимальная работа.
Какую же ты хрень написал братишка и хоть бы один пруф.
quq_CCCP:
Вот почему игроки всегда ожидают рандом в свою сторону, вроде 4 раза за 10 атак. Насколько помню в варе псевдослучайное распределение, и баш то с критами (ну кроме совсем низких шансов) работает вполне адекватно (баш бары в дотке был триггерным, и кривым, потому прокал ультрачасто).
Низкие шансы сейчас кстати поправили, есть флаг в настройках карты
0
29
4 года назад
0

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

Bergi_Bear:
Doc, ну про большую выборку я согласен, но зачем мне рисковать и быть какой-то выборки, мне хватает того что я вообще не беру героев с какими либо рандомными способностями, пусть враг испытывает судьбу на фантомке, а я нанесу свой крит на БХ в 100% случаев,и буду иметь винрейт в 60+%
Doc:
факты есть факты:
Факты фактами, но про доту 2 и я сам скинул про ПСР, в Варкрафте же у нас что?
Hate, вот и это же куда лучше, молодцы близы
Прочти первую строчку ссылки которую я скинул???
3
29
4 года назад
Отредактирован Doc
3

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

Думать можно сколько угодно, факты есть факты: liquipedia.net/dota2/Pseudo_Random_Distribution
Реальность вносит дизбаланс в игры, давай везунчикам преимущество, и лишая его у менее удачливых
Не существует везунчиков и менее удачливых, на достаточной выборке срабатывает все у всех одинаково, "дизбаланса" никакого нет.
3
29
4 года назад
Отредактирован Doc
3

» WarCraft 3 / Мои мысли об устаревших механиках Warcraft 3 и....

чтобы не было такой несправедливости, в Доте 2 ввели понятие псевдорандом
Она есть и в варкрафте 3.
Реальность такова, что рандом добавляет интереса игре, если он применен в разумных количествах и местах. Гемблинг - часть человеческой культуры. Риск это очень часто интересно, а выигрывать в подобных казино просто приятно.
12
29
4 года назад
Отредактирован Doc
12

» WarCraft 3 / Бета версия Warcraft III Reforged 1.32

Сори чел, твоя выборка нерепрезентативна, а пост откровенно глупый. Насчет неинтересности мили - зашел сейчас на твитч в раздел вк3, топ1 стример хеппи (стримит молча без вебки), играет только в мили, топ2 - грабби, играет только в мили. Очевидно, что люди это смотрят. Я сам не умею играть в мили и никогда не интересовался, но варкрафт 3 сам по себе отлично задизайненая игра, которая жива сама по себе даже сейчас, в него бы играли даже без кастомок (хоть и далеко не столько людей), потому что игроки в кастомки это совершенно отдельная категория людей.
4
29
4 года назад
4

» WarCraft 3 / Бета версия Warcraft III Reforged 1.32

И работать не будет, его удалят
Не факт.
ну это инфа от разработчика. Это был эксперимент, от него отказались. К тому же лицевые анимации бы потребовали проприетарного софта, которые покупается студиями.
Кет:
меню на реакте
=О это нормально?
Нет это абсолютно кончено и тот, кто решил это делать - идиот.
1
29
4 года назад
1

» WarCraft 3 / Бета версия Warcraft III Reforged 1.32

Еще у меня дико лагает меню, просто ад и слайдшоу. В самой игре все относительно нормально, если тени и частицы поставить на низкие.
Там какой-то конченый инженер решил что меню лучше сделать на веб технологиях, поэтому меню на реакте. Тормозит оно у всех.
Maxsavin:
Редактор диалогов позволит делать киниматики как на Близзконе 2018 года, пока не работает.
И работать не будет, его удалят
0
29
4 года назад
0

» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua

Ну если семантика сохраняется. У модулей/библиотек есть например инициализаторы, без них код поломается. Опять же совпадение имен в разных скоупах. Если эти проблемы решаются, то ок.
8
29
4 года назад
8

» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua

Это продукт для паверюзеров изначально, совершенно нассать как там код воспринимают молодые и неопытные. Закрывающие кейворды, разные для каждого блока, очень мешают при рефакторинге. В цинке есть пара хороших идей, но в сумме это тоже говно, объявлять все локалки в начале функции - треш. В сжассе при этом есть полезные фичи вроде форича по группам.
0
29
4 года назад
Отредактирован Doc
0

» WarCraft 3 / Lua remote debugger

Был опыт дебаггинга луа в других средах. В т.ч. Luajit, который в десятки/сотни раз быстрее обычного луа. Даже в нем дебаггинг чего-либо невозможен из-за особенностей виртуальной машины (дебаггер реализован посредством вызова коллбека на каждую пройденную строчку кода, поэтому цикл из 5 строк по 100 элементам делает 500 очень медленных вызовов). В большинстве случаев брейкпоинтов в дебаггере просто не дождаться.
3
29
4 года назад
3

» WarCraft 3 / Lua remote debugger

Нужен модуль debug, его в вк3 отключили сейчас
Во-вторых отладка луа стандартными средствами почти бесполезна, слишком сильно проседает перформанс.
0
29
4 года назад
0

» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua

В целом советую подумать о разборе типов переменных, система типов в жассе/вжасс очень банальная энивей и ничего принципиально сложного быть не должно.
2
29
4 года назад
2

» WarCraft 3 / cJass2Lua(v1.12) - Преобразователь кода cJass и JASS в Lua

Довольно бесполезно без поддержки структур и т.д. + реализация слишком базовая, нет никакой гарантии что код в итоге выйдет корректным (та же конкатенация строк).
Подбросить в срач, делал несколько карт на сжасс, в тредах этого не упоминал.
2
29
4 года назад
2

» WarCraft 3 / Открыть карту в редакторе рефорджа

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