If this is a first time you visiting Scrolls, please register in Fight Club. If you already registered, please authorize on Fight Club start page with your login and password.
Думается мне, что во многом "проклятие" тормознутости этой игры заключается в том, что любые размены, любые приёмы - мгновенны. Как пример. Юзает игрок Призрачную защиту - отправляется запрос на сервер, потом он обрабатывается, потом возвращаются данные о состоянии боя на текущий момент. Юзает игрок Усиленные удары - отправляется запрос, обрабатывается, возвращаются данные (в полном объёме). Предположим, я за размен юзаю 1-3 приёма + сам размен. Это 2-4 запроса плюс обработка каждого.
Если взять пример из реальной жизни, то это сравнимо с тем, если бы я подзывал официанта каждый раз на каждый свой заказ. Разумеется, гораздо удобнее было бы сначала составить список того, что я заказываю, и за один раз отдать весь заказ официанту. Как это выглядело бы в БКшных реалиях?
Сначала составляется список приемов, который я хочу использовать в данном размене. Когда я нажимаю кнопку "вперед" - я выражаю свою готовность отправить запрос на сервер (читай: официанту). Сервер проверяет, возможно ли осуществить такой размен (хватает ли тактик, маны, стрел, жив ли персонаж и так далее). Если возможно - то сервер обрабатывает размен и возвращает его. Минус (он же огромный плюс) данной системы в том, что уже невозможно будет наносить мгновенные заклятия (как обычные касты, так и приемы вроде прорыва).
Система, описанная выше, подразумевает, что официант после подхода к каждому столику будет возвращаться на кухню и обратно. Можно ли сделать ещё лучше? Можно!
Официант собирает единовременно все заказы только когда все участники боя их приготовили. Тогда не будет необходимости возвращаться каждый раз с новым заказом, достаточно пройтись один раз. Этим подразумевается, что размены будут единовременные не только для двух противоположных участников боя, а для обеих команд. Тогда бой можно делить на ходы не отдельных персонажей, а на некие "стадии боя" - одновременные ходы всех персов. Это во многом упрощает обновление окна: если в памяти браузера уже хранится информация о стадии боя номер N, то при обновлении окна будет использована локальная информация, а не новая с сервера. К тому же, уверен, это интереснее и с точки зрения самого боя. Проблема будет только в боях 2 на 100, например, когда 50 персонажей бьют в единственный размен одного... Но разве это не логичнее?
Update: Нельзя забывать и о такой мощной библиотеке JS, как jQuery, которая значительно может упростить многие функции на клиентской стороне. Есть еще одна интересная библиотека - Raphaël - но пока что практического применения в рунете я не видел, хотя смотрится очень эффективно.
Вам запрещено комментирование в скроллах. Причина: Character level to low
ога но тогда бой скорее будет выглядеть как скажем в варгейме или старых jRPG - все задают пан действий на ход - дальше начинаются размены и сиди наблюдай как вся выстроенная тактика сыпется в прах изза того что какой нить враг юзанул Dekunda или Red wall )
ну ..хм) незнаю как обьяснить) опять же пример с jRPG когда все действия планируются за ранее - играть сложнее и вечно материшся "блин какого враг зделал так а не так как я ожидал ) а когда ходят по одному "твой чар" - "враг"- "твой чар -"враг" то можно быстро перестраиватся и т.д. бк коненчо не имеет и малой доли тактики persona 3-4 но все же особенно за магов - тактика кое какую роль играет ) кста а еще же как без мгновенных лечений то? т_т
Не катит, т.к. лишний клик вылазит на "применение", а это жирный минус. Не всегда связки идут. Опционально - как вариант. jQuery к БК лепить смысла нет скорее всего. В покере он и так используется, там к месту т.к. новый продукт. :) П.С. запросы, наверника, весьма лёгкие, так что скорее нужно искать средства оптимизации настроек БД и быстродействия в целом.)
Думаю, чт о тогда исчезнет тактика боя, приемы станут такой же общей кнопкой, как и кнопка "вперед", а ведь когда-то мы таки выставляли удары/блоки, думали над ними..
Скорее наоборот - появится ) Появится и командная игра: например, нерационально было бы юзать шокер на того персонажа, на которого итак уже собирается повесить сокомандник, верно? )
1. Обработку приемов на возможность их использования вынести на компьютер игрока 2. Обработка запроса сервером при совершении хода 3. На некоторые приемы можно сделать исключение