А написали тебе (обьясняю на пальцах) следующее: проблема не с лагами. Просто твоя графика рисуется ДО того, как сервер решит, промазал ты, или попал. Т.е. маленткий гномик, сидящий у тебя в компе, уже нарисовал картинку с лучем попавшим в корпус, и только потом его папа, старый толстый тролль, живущий в сервере, прислал ему по почте письмо, что ты промазал.
интересная интерпритация логики клиент-сервер
улыбнуло....
EvE, как и многие Massively Multiplayer Online Role-Playing Game(ключевое в данном вопросе первые три слова, в дальнейшем MMO), строится на архитектуре клиент-сервер, где Сервер - это программно аппаратный комплекс, отвечающий за хранение и обработку данных и обмен необходимыми данными с Клиентом. Клиент же в свою очередь - это программа на стороне пользователя, предназначение которой обмен данными с Сервером, это интерфейс между пользователем и Сервером - то есть преобразование данных от пользщователя в вид необходимый серверу и наоборот.
Так же для корректной работы необходимо, чтобы данные на Сервере и на Клиенте были синхронизированы, иначе, в зависмости от типа выбранной логики, Клиент будет "отбражать" некорректную "информацию"(desync->wait for sync) или вообще ничего не будет отображать(desync->relogin).
Таким образом, Сервер - это вычислительный центр, а Клиент - его интерфейс. На примере автомобиля: Руль - это клиент, а стойка колеса - это сервер (между ними "сетевое соединение" из шестерен, реек, тяг), то, что ты видишь как руль поворачивается влево на 270 градусов, не означает, что колесо преворачивается по такой же траектории, что и руль. С другой стороны водителя интересует действие - повернуть налево, а не то как при этом стойка обрабатывает неровности дорожного покрытия (а тем более как резина, подвеска и, возможно, электроника авто борится со срывом машины из поворота).
и с точки зрения программы(беру только эффект попаданий) корабль представляет из себя несколько, строго определённых, зон (я насчитал таковых шесть штук) куда и идут попадания. Понятно объяснил?
awagi, вы понимаете, что для клиента (вернее для его части, отвечающей за 3D визуализацию) корабль - это 3D модель и запись в памяти с определёнными параметрами, ктре он получил от Сервера, а для Сервера корабль - это ... курсор - выборка данных из нескольких таблиц БД, "геометрически" - это точка в 3-х мерном пространстве со своими 3-х мерными координатами, вектором движения (длина вектора=скорость корабля) и свойствами, привязанными к этой "точке". Сигнатура корабля - да это просто цифра в таблице, ктря используется для вычисления вероятности нанесения урона другой "цифре" - HP корабля (читай точки в пространстве, читай объекту в БД)
...
всё, пора работать, извините, если не раскрыл тему....
...
Сообщение отредактировал KPOXATPOH: 18 November 2009 - 10:16