Ни в коем случае не реклама, боже упаси. Только указываю, что эта мысль настолько много кому в голову приходит, что уже аж книги, судя по всему, даже не единичные клепают…
PS. Да, там, конечно, «горячий-горячий, совсем белый». Но завязка практически совпадает.
Хорошая задачка. Наверное, даже речь про один инвертор.
Сначала не так написал, потом, подумав, исправил.
Х =!(A & B & C) // по де Моргану это !A | !B | !C
P = X | A | B = !C
Q = X | A | C = !B
R = X | B | C = !A
смета: 1 инвертор, 1 тройной «и» (или два двойных), 5 двойных «или» либо 3 двойных и один тройной…
Собственно, по этому принципу можно одним инвертором сколько угодно сигналов инвертировать, надо полагать…
Смотря как определять «непобедимость».
С одной стороны – «На каждый чит найдётся античит».
С другой стороны – «На каждый античит найдётся чит».
Но надо отметить, что важно, чтобы за мыслью «читерство непобедимо» не следовала мысль «ну и не будем заморачиваться». Отлов читов – сама по себе интересная и креативная задача, и её решение может в итоге принести пользу даже безотносительно проблемной игрушки (а может даже и безотносительно игр вообще). Примерно как куча хороших эвристик в определённом смысле (хотя и не во всех, конечно) полезнее, чем доказательство алгоритмической неразрешимости проблемы останова. Аналогия слегка неточная, т.к. в случае проблемы останова никакого imho нет, но уж это свойство большинства аналогий.
«доверяй, но проверяй» немного не «ну что там, попал?». Впрочем, ниже Вам уже ответили. Лично я изредка запускаю по старой памяти cs16, там действительно дыра на дыре, и античиты справляются очень посредственно. При этом, правда, лично я причиной вижу отсутствие финансового стимула к разработке таких античитов. Но и читы там не такие серьёзные с технической точки зрения: данные слишком доступны для перехвата. Не сравнить с читами, встроенными в драйверы мыши/клавы, для некоторых других игр. Правда, эту информацию я лично не проверял.
Тем не менее, трафик закрывать очень, очень желательно. Я бы посмотрел на вариант идеальной архитектуры стрелялки, при которой факт полной доступности трафика никак не помогал бы читеру, это не сарказм, мне правда интересно. Можно переформулировать: Как должна выглядеть архитектура, чтобы
а) открытие трафика не облегчало бы создание читов
б) закрытие трафика не усложняло бы создание читов
«и» и «или» между (а) и (б) можно расставить как угодно, всё равно очень интересно.
Не, не вынужден, и доверие клиенту на уровне «попал/не попал» фатально для неказуальной состязательной стрелялки. Лагокомпенсация, предсказание положений объектов и их отрисовка в ожидаемых положениях – что угодно, но не «окей, раз он утверждает, что попал, значит, попал».
Кстати, на хабре уже была толстая статья про смежные проблемы. Разумеется, к счастью, вряд ли им даже в голову приходило доверять клиенту.
Программа точно хорошо работает с дробями?
PS. Да, там, конечно, «горячий-горячий, совсем белый». Но завязка практически совпадает.
Сначала не так написал, потом, подумав, исправил.
Х =!(A & B & C) // по де Моргану это !A | !B | !C
P = X | A | B = !C
Q = X | A | C = !B
R = X | B | C = !A
смета: 1 инвертор, 1 тройной «и» (или два двойных), 5 двойных «или» либо 3 двойных и один тройной…
Собственно, по этому принципу можно одним инвертором сколько угодно сигналов инвертировать, надо полагать…
Паукообразные – не насекомые. Мелочь, но глаз резануло.
С одной стороны – «На каждый чит найдётся античит».
С другой стороны – «На каждый античит найдётся чит».
Но надо отметить, что важно, чтобы за мыслью «читерство непобедимо» не следовала мысль «ну и не будем заморачиваться». Отлов читов – сама по себе интересная и креативная задача, и её решение может в итоге принести пользу даже безотносительно проблемной игрушки (а может даже и безотносительно игр вообще). Примерно как куча хороших эвристик в определённом смысле (хотя и не во всех, конечно) полезнее, чем доказательство алгоритмической неразрешимости проблемы останова. Аналогия слегка неточная, т.к. в случае проблемы останова никакого imho нет, но уж это свойство большинства аналогий.
Тем не менее, трафик закрывать очень, очень желательно. Я бы посмотрел на вариант идеальной архитектуры стрелялки, при которой факт полной доступности трафика никак не помогал бы читеру, это не сарказм, мне правда интересно. Можно переформулировать: Как должна выглядеть архитектура, чтобы
а) открытие трафика не облегчало бы создание читов
б) закрытие трафика не усложняло бы создание читов
«и» и «или» между (а) и (б) можно расставить как угодно, всё равно очень интересно.
Кстати, на хабре уже была толстая статья про смежные проблемы. Разумеется, к счастью, вряд ли им даже в голову приходило доверять клиенту.
Это такие гуртовщики мыши, или просто я не выспался?
wat.