Страницы: Пред. 1 ... 81 82 83 84 85 ... 223 След.
[ Закрыто ] Архив темы "Решение проблем на сайте" 2011-2017 гг.
Цитата
Ирина Кивели2 пишет:
Еще одна проблема,но она не новая,а скорее старая!Вызываю на дуэль,не дождавшись,снимаю вызов!Но как я понимаю у соперника вызов продолжает висеть,потому что он принимает его минут через десять!Можно ли сделать так,что,если я снимаю вызов,у соперника он тоже снимается?А то на такие вызовы туров не напасешься!

Это означает, что соперник не получил ваш отказ от вызова, например, в этот момент у него или у вас слетел Интернет. Поэтому для него вызов остается действующим и он просто не знает, что вы отправили отмену. Логику работы в случае не прохождения выстроить очень сложно, так или иначе будем приходить к тому, что предустановка софта на ваш компьютер решила бы эти проблемы в корне. Но предустановка софта на данном этапе исключена полностью. Там такие вопросы вылезут, которые пока и не снились.
Если поставить повторную отправку отмены, то в какой момент? С отправкой каждого заполненного слова - мы нагрузим простую проверку слова так сильно, что не загораться "зеленые" будут куда чаще, ведь объем пересылки увеличится, а значит и вероятность не прохождения вырастет. Если повторять только, когда дуэль сыграна, то тем более бессмысленно - человек всё угадал, а тут ему новость, что оказывается, соперник уже давно передумал.
Цитата
Андрей Веснин пишет:
Если повторять только, когда дуэль сыграна, то тем более бессмысленно - человек всё угадал, а тут ему новость, что оказывается, соперник уже давно передумал.
Это лучше, чем существующий вариант. В этом случае решивший получит свой 1 балл за решенный сканворд с объяснением почему, и на этом ситуация разрешится, а в существующем варианте он получает незаслуженную победу, а второй пользователь - незаслуженное поражение.
Могу предлодить следующую процедуру.
Если пользователь получил отказ от дуэли, то от него уходит подтверждение отказа. Если пославший отказ получил такое подтверждение, то все в порядке, если нет, то отказ посылается повторно (время ожидания подтверждения и количество посылаемых подтверждение - отдельный вопрос). Если повторный отказ пришел, когда пользователь уже вошел в дуэль, то перевести его в режим одиночного решения, т. е. по окончании решения дать 1 балл с пояснением.
Это лишь предложение, и я не обсуждаю технические возможности реализации такой процедуры, поскольку это виднее вашим программистам.
Что означает графа "Место в рейтинге" в таблице "Личные рекорды" в окне "Открытые дуэли"?
Там у меня довольно странные числа.
QUOTE]karabas Old_User пишет:
если нет, то отказ посылается повторно (время ожидания подтверждения и количество посылаемых подтверждение - отдельный вопрос).[/QUOTE]

"посылается" - это уже похоже на "вирус", когда-то что-то посылается с компьютера (браузера) пользователя без его ведома. Таймер тоже в браузере запускать? Такие штуки блокируются браузером без проблем, а нам искать, как обойти... Эти протоколы решаются на уровне предустановки софта - остальное от лукавого. Понимаю и рад, что желаете подсказать, но увы всё не просто.

С рейтингом и местами разъяснения будут позже.
Раньше в верхней части страницы была аватарка игрока,и это было очень удобно.А сейчас войдешь на сайт,и непонятно,что вошел,пока не прочтешь в правом углу приветствие.Верните, пожалуйста.
Простите, вмешаюсь не в мой разговор, но возникли вопросы :)

Цитата
Это означает, что соперник не получил ваш отказ от вызова, например, в этот момент у него или у вас слетел Интернет. Поэтому для него вызов остается действующим и он просто не знает, что вы отправили отмену.

А на сервере разве не отмечается где-то, что один из дуэлянтов "отказался", и теперь эта дуэль в принципе не может играться?

Цитата
"посылается" - это уже похоже на "вирус", когда-то что-то посылается с компьютера (браузера) пользователя без его ведома.

Не совсем понятно - что именно вирус? Почему то, что посылается от браузера к серверу, и предусмотрено логикой приложения, считается вирусом?

Цитата
Таймер тоже в браузере запускать?
А почему нет? Что вы имеете в виду под таймером? Я имею в виду джаваскриптовую setTimeout, которая сделает определенное действие. Я уверен, у вас таких "таймеров" уже масса на сайте.

Цитата
Такие штуки блокируются браузером без проблем, а нам искать, как обойти...
Опять-таки, какие штуки? Действительно не совсем понятно.


Я так понимаю, глобально разговор идет о том, что есть проблема, когда идет дуэль, но один соперник об этом уже не знает по какой-то причине (обрыв связи, баг, глюк и т.д.). Лично я от такой проблемы не страдаю, хотя пару раз случалось. Но меня заинтересовали ваши ответы в духе:
Цитата
Эти протоколы решаются на уровне предустановки софта - остальное от лукавого.

Это смотрится как-то странно. Я ни разу не спорю, что "всё не просто" и "всё сложнее, чем кажется", но то, что это решаемо только посредством установки софта - ни за что не поверю. Вообще, для подобного сайта установка какого-то дополнительного софта кажется очень странной затеей, но оставим вопрос, нужно это или нет.

Чем софт принципиально отличается от браузера? С одной стороны, что за глупый вопрос: софт - это совсем другой стек технологий, это сокеты, это вообще исполнение программы на другом уровне. А с другой: в чем конкретно отличия? Клиентская часть софта все так же на стороне клиента, софт все так же можно дизассемблировать и что-то изменить/запретить. Так же может пропасть связь с интернетом, и надо предусматривать логику в этом случае. Также в браузере уже давно есть технологии тех же сокетов (websockets или более старые технологии long polling, comet). Да, возможно софт как бы более стабильный что ли, но чтобы это было единственным решением проблемы не от лукавого - сомнительно. Если я не прав - поправьте меня, пожалуйста.

Но ладно, меня занесло. Просто утверждение, что подобная проблема решается лишь софтом, и никак в браузере - это, извините, неправда. Есть масса игровых серверов в вебе, где это удачно решено. Может, некоторые из них на флеше, некоторые на html5+js, некоторые те же вебсокеты - но проблема решается. Другой вопрос - настолько ли это приоритетная задача? И возможно сейчас у вас есть намного более важные задачи. Вот тут не спорю.

По сути немного хотелось бы еще сказать: мне кажется, неплохим решением проблемы было бы чуть переделать логику начала разгадывания сканворда.
Сейчас разгадывание начинается сразу же, я бы даже сказал внезапно. То есть если я отправил приглашение на дуэль, я должен сидеть и пялиться в экран 30 сек, потому что если я вдруг даже отвечу на телефонный звонок на 5 секунд или встану со стула - я уже могу проиграть сильному игроку, для которого фора в 5 секунд практически победа.

Почему бы не начинать разгадывание по обоюдной готовности? Эта идея не нова, применяется на очень многих игровых серверах. То есть если соперник принял вызов на дуэль - мы сначала попадаем на страницу сканворда, но не видим ни слов, ни схемы сканворда. Для этого каждый игрок должен нажать кнопку "Готов играть". После этого появляется и сканворд, и игроки одновременно начинают игру. Кстати, это бы решило (или улучшило во всяком случае) проблему, когда у кого-то банально дольше грузится сканворд. Иногда бывает лишь сканворд откроется, а соперник уже отгадал несколько слов.
Естественно, будет так же возможность "отменить дуэль", если я нажал "готов", а соперник где-то пропал.
И в этом случае, конечно, проблема не решается на 100%. Потому что связь может пропасть и между тем, когда согласился 1й и 2й игроки. Но тут уже надо действительно серверу опрашивать клиентов прямо в момент начала игры или через какие-то периоды времени. С софтом эта проблема тоже автоматически не решится. Но в вебе она решаема так же, как и с софтом.
Изменено: ID4705 Oleg Kashtanov - 21.08.2014 20:01:45
Олег, спасибо за интерес. Это диалог на открытом Форуме, поэтому всем добро пожаловать, здесь все "наши". Имеется в виду, разговоры )).
Во-первых, задача действительно не столь приоритетная. Мы еще мусор не весь выкинули и базовые задумки не реализовали, что уж говорить про доводку протоколов на всякие случаи. Будет время, а у меня и желание, обязательно рассмотрим с программистами, как улучшить обмен флагами готовности, как защититься от всех мыслимых обрывов...
Во-вторых, я отвечаю в пределах своей компетенции, и многого могу не знать, а уж тем более не знаю, что там выходит нового в Яве, Html. Вот что знаю, что сервер наш клиентов не опрашивает, делать ему и так много чего. Отсюда многое из идей не реализуется в принципе (отследить и т.п.) У сервера спросили - он ответил тому, кто спросил. Сервер даже не интересует дошел ли ответ. Примитивно? Зато просто.
Будут серьезные проблемы, усложним логику, но не сейчас.
Пока предлагаем помнить про эту логику, и если чего, повторять запросы, помня, что Интернет не 100% стабилен.

Принципиальное отличие софта на компе от софта в браузере я вижу в разрешенных действиях. Если софту на компе разрешены почти все команды, он "свой" для компьютера и я не думаю, как реализовать то, что мне нужно, а просто реализую самым удобным образом, то для браузера я должен думать, а позволят ли мне выполнить мое действие, например, могу ли я закачать сразу весь сканворд, да еще и с картинками в память браузера, могу ли закодировать ответы, чтобы защититься от обрыва дуэли. Скорей всего нет, значит надо думать, как выдавать порциями, что делать, если связь прервется и т.п. Браузер будет тысячу раз меня проверять, и надо будет думать, как убедить, что то, что я делаю, не повредит системе. А выйдут новые браузеры со своими ограничениями.
Не сомневаюсь, решить вопросы наши можно и в браузере, но какой ценой. Повторю, софт на компы ставить даже не рассматриваю.
Цитата
Арвен пишет:
Раньше в верхней части страницы была аватарка игрока,и это было очень удобно.А сейчас войдешь на сайт,и непонятно,что вошел,пока не прочтешь в правом углу приветствие.Верните, пожалуйста.

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

Баллы сейчас спрятались в рейтинге. Они безусловно влияют, но уже не только они.
Каюсь, никак не раскрою формулу рейтинга на всеобщее обсуждение, но обещаю, сделаю.
Очередное приглашение дружить с программным кодом. На сей раз от пользователя
unorthouterwear vigorda
Страницы: Пред. 1 ... 81 82 83 84 85 ... 223 След.