Silent Wrangler
#31
[​ϟ] Командор
могущество: 17408
длань судьбы
гоблин
Наивеличайший Выдумщик Генджис
128 уровня
Не так уж много героев воскрешаются в одно и то же время, а фраза в журнал пишется совсем не раз в 10 секунд, а намного реже.
Вы ведь предлагаете общий алгоритм, да?
Так вот, для воскрешения это может и подойдёт, но как быть с боем? Вы представляете, сколько героев дерутся одновременно?
Вообще, эта проблема исправляема в клиенте, который есть пока только на андроид.
- Клиент знает, что герой делает.
- Какие фразы пишутся в журнале, не дневнике - не суть, клиент на это забивает.
- Клиент самостоятельно выбирает фразу для себя и отмечает её как использованную.
Так как выбор и отметка будут идти на стороне клиента, на сервер нагрузку увеличить не должно, особенно если с клиентом поставлять базу фраз. Игрок с клиента не увидит ни одной повторяющейся фразы. Все счастливы, а различия между журналом клиента и браузера - это мелочи)
standy
#32
без гильдии
могущество: 5694
длань судьбы
орк Че Гевара
124 уровня
Silent Wrangler
Клиенту приходят конечные фразы, и разобрать что там произошло не так просто.
А тем более сгенерить другую фразу того же типа (нужны все склонения, и способ построения, а они закрыты)
LoadRunner
#33
[ДП] Магистр
могущество: 133
длань судьбы
дварф Бегун По Шахтам
98 уровня
Silent Wrangler
эта проблема исправляема
Ещё не было официального подтверждения существования "проблемы" :) Как и механизма текущей реализации, от которого и нужно отталкиваться.

Вообще, вся "проблема" сводится к одному:
Создание рандомизатора с неповторяющимися значениями в течение определённого промежутка времени.
EysZ
#34
[^_^] Рекрут
могущество: 5124

эльф Айсберг
67 уровня
Это действительно нужно сделать, но вам не кажется, что скорее всего важнее сейчас насытить игру событиями и возможностями, а не парочкой разных фраз в дневнике?
Пусть все идет по плану разработки, предложение услышано, так что можно не волноваться так. =)
Tiendil
#35
[НБ] Магистр
могущество: 14658
разработчик
дварф Халлр
105 уровня
Закругляйтесь с непрофильным обсуждением.

Подобная задача есть в списке, но отложена на оочень дальнее время, т.к. если и будет делаться, то при переработке всей системы создания фраз. Плюс, с ростом числа фраз эта проблема будет встречаться всё реже.
Corwen
#36
без гильдии
могущество: 141

эльф Аэрани
55 уровня
LoadRunner
Это не такая уж и проблема, особенно если посмотреть сложность её исправления. Т.к. рандом это алгоритм псевдослучайных чисел, абсолютно случайные сделать невозможно по определению, а модифицировать алгоритм чтобы приблизить к "случайному" это во-первых много трудозатрат программистов(/а), во-вторых добавит нагрузку на сервер.
По поводу нагрузки, web приложения всегда делаются с ориентировкой на большое число пользователей, вот теперь представь, что играет условно не 200 а 20000 человек, сколько в таком случае будут разом воскрешаться? Во-вторых Silent Wrangler правильно сказал, алгоритм скорее всего идёт общий на все действия и предложенный алгоритм в таком случае увеличит нагрузку на сервер в несколько раз, ещё и объём необходимой памяти для приложения увеличится тоже очень значительно. По поводу частоты сообщений согласен, считаю логично настроить отдельно для каждой группы действий(бой = 6 раз/мин, воскрешение = 1 раз/мин....).
Так что ждём других предложений.=)



Сообщение изменено
Hamster
#37
без гильдии
могущество: 5163
длань судьбы
гоблин Джеаки
101 уровня
Silent Wrangler
Вообще, эта проблема исправляема в клиенте, который есть пока только на андроид.
Хинт: браузер - тоже клиент игры.
Silent Wrangler
#38
[​ϟ] Командор
могущество: 17408
длань судьбы
гоблин
Наивеличайший Выдумщик Генджис
128 уровня
Извиняюсь. Вы принимаете коррекцию " в клиенте-который-не-браузер " ?
Но я думаю, что подразумевалось под клиентом, и так понятно. То, что устанавливается специально для Сказки.
Hamster
#39
без гильдии
могущество: 5163
длань судьбы
гоблин Джеаки
101 уровня
Нет, смысл моего сообщения был в том, что если мы говорим о нагрузке на сервер как об одной из причин, почему не надо реализовывать предложение о том, что надо отслеживать повторяющиеся фразы, то эта причина несостоятельна - нагрузку можно и на клиент перенести, который делают те же разработчики.
Allexonius
#40
без гильдии
могущество: 2514

мужчина Аллексониус
35 уровня
Hamster
Нет, смысл моего сообщения был в том, что если мы говорим о нагрузке на сервер как об одной из причин, почему не надо реализовывать предложение о том, что надо отслеживать повторяющиеся фразы, то эта причина несостоятельна - нагрузку можно и на клиент перенести, который делают те же разработчики.
Нельзя. ибо все процессы будут всё-равно идти через сервер. Запросы клиентской части "если поывторюшка, то новая фраза" будут забивать сервак в хлам. Поэтому реализация тех же вычислений на самом сервере будет менее ресурсоёмким.
но на нормальные мощности нужно бабло.
Silent Wrangler
#41
[​ϟ] Командор
могущество: 17408
длань судьбы
гоблин
Наивеличайший Выдумщик Генджис
128 уровня
То есть генератор фраз на устройстве клиента - идея не очень?
Именно по алгоритму
Hamster
#42
без гильдии
могущество: 5163
длань судьбы
гоблин Джеаки
101 уровня
Allexonius
Нельзя. ибо все процессы будут всё-равно идти через сервер. Запросы клиентской части “если поывторюшка, то новая фраза” будут забивать сервак в хлам. Поэтому реализация тех же вычислений на самом сервере будет менее ресурсоёмким.
но на нормальные мощности нужно бабло.
Ок, могу расписать подробнее, как это вижу я.
/game/data/constants.js: pgf.game.constants.messages.death = {"Умер, лежит", "Воскресает", "Дрыгает лапками" /* , ... */};
страница: pgf.game.events.getDeathMessage = function() {/* сколь угодно сложный алгоритм рандомизации сообщений, брать из pgf.game.constants.messages.death */}
При обновлении аяксом, если герой воскресает, где-нибудь в data.data параметр "выдать_сообщение_о_смерти". В событии pgf.game.events.DATA_REFRESHED при наличии этого параметра добавляем к логу текст pgf.game.events.getDeathMessage().

upd: Парсер теги квадратные скобки съел.
Silent Wrangler то же самое сказал, да.



Сообщение изменено
Migel
#43
без гильдии
могущество: 9495
длань судьбы
орк Yellow Horror
199 уровня
Из того, что я слышал о веб-программировании, у меня сложилось впечатление, что возложить выбор фразы из списка на клиентскую часть игры можно, но вот сделать так, чтобы это работало единообразно и без глюков на куче разных браузеров - тот ещё геморрой. Кто может подтвердить/опровергнуть?
Tiendil
#44
[НБ] Магистр
могущество: 14658
разработчик
дварф Халлр
105 уровня
А вы действительно хотите видеть разные тексты в дневнике героя в разных браузерах? По-моему нет.
Hamster
#45
без гильдии
могущество: 5163
длань судьбы
гоблин Джеаки
101 уровня
В процессе работы, конечно, возникают всякие проблемы, но, давая оценку задаче, я бы не сказал, что она очень сложная. Рандом, он везде рандом. Проблему, с которой надо разобраться, вижу пока только в хранении данных для самого алгоритма и чтобы при обновлении страницы ничего не менялось...