Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.05.2010, 11:27
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 71  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
В момент каста фаербола - знаем начальную точку, направление и скорость персонажа. Высчитываем положение персонажа в данный момент. Сравниваем расстояние от одного персонажа (кастующего) до другого (таргет) и, если оно позволяет, разрешаем фаербол

Про мобов:
Для них нет иного пути, кроме как рассчитанного сервером. Ибо они существуют только на сервере. Но причем тут клиент?
Ну вот, в результате сервер всё равно считает пути как персов, так и мобов.

Старый 06.05.2010, 12:10
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 72  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Что-то я не нашел ни одного расчета пути перса в своем сообщении. Положения - да. И кагбе это разные вещи - посчитать положение в данный момент и посчитать путь по графу.
Я понимаю, что если алгоритм поиска пути уже есть - чего бы его не подключить не только к мобам, но и к юзерам. Я не понимаю - зачем?
__________________
...вселенская грусть

Старый 06.05.2010, 12:14
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 73  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Ну вот, он уже есть на сервере. Смысла клонировать его и на клиенте нет никакого, это бесполезное усложнение.
При расчете пути на клиенте возникнут проблемы синхронизации, т. к. сервер должен получить путь от одного клиента, завалидировать его, переслать на другой клиент (а за это время первый клиент уже убежит), на которых путь может подсчитаться совсем по другому.


Последний раз редактировалось etc; 06.05.2010 в 12:16.
Старый 06.05.2010, 12:45
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 74  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
вы все исходите из того, что надо искать путь. а на самом деле надо искать время прибытия, как денис уже сказал. такое время позволяет синхронизировать клиентов максимально точно. путь/время=скорость. как только у вас появится бафы на скорость, лаги в сети или ещё любой дргуой фактор, картинки на клиентах станут разными, если конечно не использовать серверный расчёт времени.

Старый 06.05.2010, 23:04
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 75  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Пусть себе клиент сам все рассчитывает
Ниже пока не читал. Блуд может все растоптать. Но все же твоя мысль мне нравится)

Добавлено через 22 минуты
Цитата:
Сообщение от etc Посмотреть сообщение
А когда по нему начнут летать фаерболы, начнутся проблемы — сервер не будет точно знать, в каком конкретно месте сейчас находится перс, это как минимум.
Я всегда считал сервер ответственным за формирование мира клиента. И если уж фаирболл, то точно в перса. В серверного, естественно. А потом сообщить всем заинтересованным клиентам.

Добавлено через 33 минуты
Цитата:
Сообщение от BlooDHounD Посмотреть сообщение
вы все исходите из того, что надо искать путь.
Считаю, что нужно искать путь. И иногда полезно искать путь (и не только путь) на клиенте. Мобы не в счет. Хотя, можно сделать и подобие SETI@home )
А кто считал нагрузку на сервер на ежесекундный клик на клиенте? Неужели нельзя освободить сервер от таких расчетов и повысить его КПД?

Цитата:
картинки на клиентах станут разными,
Они всегда разные. Серверный расчет рулит. Но серверные мощности стоит освобождать на клиент, если позволяет ситуация.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 07.05.2010 в 00:11.
Старый 07.05.2010, 02:19
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 76  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Ну вот, он уже есть на сервере. Смысла клонировать его и на клиенте нет никакого, это бесполезное усложнение.
Это лень.

Ну у меня сейчас примерно так:
- каждую секунду я отсылаю ping
- примерно каждую секунду я получаю pong
- теперь я знаю лаг и могу делать поправку
(по разнице отосланных ping и принятых pong я знаю, какой именно pong вернулся)

- клиент присылает "идти туда"
- я подписываю это сообщение на сервере: timestamp = (new Date().getTime() - sender.pongTime)
- я отсылаю каждому клиенту подписанное сообщение

- клиент получает подписанное сообщение
- клиент двигает фигурку sender по экрану туда, где он должен быть в данный момент (знаем дату начала движения и скорость). Двигает быстро, независимо от скорости самого sender, таким образом восстанавливая правильную картину мира
- далее клиент просто двигает фигурку sender с заданной скоростью в заданном направлении

ЗЫ
@Котяра - 1 байт прекрасно отсылается из под любой винды

ЗЗЫ
Касательно графов - клиент полностью рассчитывает путь. После чего отсылает 2 клеточки - ту, в которую он сейчас идет и ту, в которую он пойдет дальше. Сервер валидирует 2 клеточки и отправляет "можно/нельзя". Таким образом клиент заранее знает, как быть дальше и может начинать показ анимации до подтверждения. После первой отсылки и до конца движения отсылается только одна клеточка - та, в которую мы пойдем после текущей точки назначения. И валидация тоже для одной клеточки (грубо говоря nextTarget = {x=10; y=15}).
__________________
...вселенская грусть

Старый 07.05.2010, 03:26
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 77  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
dimarik, ты меня разочаровал.
Цитата:
Сообщение от dimarik Посмотреть сообщение
Я всегда считал сервер ответственным за формирование мира клиента. И если уж фаирболл, то точно в перса. В серверного, естественно. А потом сообщить всем заинтересованным клиентам.
точно. а то что клиент цели считает, что он уже давно покинул радиус действия из-за рассинхронизации никого не волнует.
Цитата:
Сообщение от dimarik Посмотреть сообщение
Считаю, что нужно искать путь. И иногда полезно искать путь (и не только путь) на клиенте.
иногда - ключевое слово. если мы доту пишем, то игроки тебя на кол посадят за просчёт пути на клиенте =)
Цитата:
Сообщение от dimarik Посмотреть сообщение
А кто считал нагрузку на сервер на ежесекундный клик на клиенте? Неужели нельзя освободить сервер от таких расчетов и повысить его КПД?
как ты думаешь кто считал? человечество =) я могу тебе гарантировать, что с ровными руками это копейки, которые сравнимы с валидацией пути. я ещё раз повторю: в реал-тайм игре главное синхронизация. куча факторов, из-за которых клиент криво посчитает: лаги сети, бафы на скорость, которые должны сохранить путь, но изменить скорость агры монстров, летящие фиговины способные убить или вообще остановить. серверу нужно всё равно проводить огромное количество проверок связанных с хождением. так вот эти самые проверки занимают 90% времени. можно сэкономить 10% и радоваться, что у нас всё лагает и 100 раз в минуту надо синхронизировать, но оно надо?
Цитата:
Сообщение от dimarik Посмотреть сообщение
Они всегда разные. Серверный расчет рулит. Но серверные мощности стоит освобождать на клиент, если позволяет ситуация.
одно дело писать ферму, а другое доту.
p.s.: последняя фраза ОЧЕНЬ важна. сперва нужно определиться какой уровень синхронизации нужен, и что зависит от хождения, а потом уже на форуме устраивать холивар.

Старый 07.05.2010, 08:12
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 78  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
Касательно графов - клиент полностью рассчитывает путь. После чего отсылает 2 клеточки - ту, в которую он сейчас идет и ту, в которую он пойдет дальше. Сервер валидирует 2 клеточки и отправляет "можно/нельзя".
Замечательно, таким образом вы засрали канал бесполезным трафиком.
Ну если только перс не перемещается из клетки в клетку раз в пять секунд.

Старый 07.05.2010, 11:46
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 79  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Считаем исходящий трафик сервера:
Допустим, мы проходим одну клеточку за 1 секунду.
На одну проверку... ну пусть 10 байт. (локация - 2 байта, подлокация - еще 2, клеточка - еще 2, координаты в клеточке - еще 4). Или еще какие-то данные, округлим до 20.

Получается целых 1,67 мегабайта за сутки непрерывного перемещения
Ужас прям =)
__________________
...вселенская грусть

Старый 07.05.2010, 12:03
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 80  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Считайте исходящий с клиента, а не с сервера.
А вообще, пишите как хотите, вас же не заставляют писать правильно.

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 16:36.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.