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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 18.01.2009, 20:50
TimID вне форума Посмотреть профиль Отправить личное сообщение для TimID Посетить домашнюю страницу TimID Найти все сообщения от TimID
  № 41  
Ответить с цитированием
TimID
[+1 18.01.09]
 
Аватар для TimID

Регистрация: Sep 2003
Адрес: Москва
Сообщений: 34
Цитата:
Сообщение от Nirth Посмотреть сообщение
Я в своей жизни видел не один игровой сервер. Скажу прямо, кадров там нету, только последний идиот будет реализовывать кадры на сервере.

Бывают переодические события обновление (TEN_MS, HEART_BEAT и тд и тп), но это совсем другие вещи.
2N, зовите как хотите, но в моем случае набор объектов движется в пространстве (космические объекты). Корабли, ракеты, астероиды. Игроки - тоже чего-нибудь пилотируют.
Если вы знаете как реализовать взамодействие объектов не выполняя последовательный регулярный обсчет всей сцены - скажите мне, буду должен

Пока видение таково:

"Универсальный контролер" (мышь+клавиши) посылается от клиента к серверу на регулярной основе (минимум раз 10 в секунду - буду подбирать экспериментально). Кроме того клиент отсылает запрос на "кадр мира" - сцену (как закончит отрисовывать текущий).
Сервер складывает управление от клиента в базу (файл) или отсылает "кадр мира".
Отдельный поток сервера, все время циклически обсчитывает "мир" - сцену, забирая из базы данные управления клиентов. И обновляет базу расположения объектов.

Вот

2B, да вторым был "легкий вид ответного хамства"

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

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
ответного хамства на что?

по вашей схеме у ваш сервер выдержит максимум 50 человек одновременно, не считая всех ваших астероидов и т.п.

вообще-то, взрослые дяди делают так:
Код:
1. в поле зрения клиента появился объект.
2. сервер сообщает клиенту, что появился такой-то объект
3. синхронизируем координаты:
   3.1. находится в такой-то точке в такое время ( момент синхронизации )
   3.2. движется по такой-то траектории
   3.3. в такое-то время он будет в такой-то точке.
4. клиент на основании этих данных показывает объект и перемещает.
5. этих данных достаточно, что синхронно перемещать объект на клиенте и на сервере, пока не наступит рассинхронизация:
   5.1. объект сменил траекторию движения.
   5.2. наступило критическое время рассинхронизации, которое зависти от:
        5.2.1. скорости движения:
               5.2.1.1. скорость = 0, время --> бесконечность
               5.2.1.2. скорость --> бесконечность, время <-- 0
               5.2.1.3. вся схема регулируется коэффициентами зависимости
        5.2.2. сложности траектории. ( тут коэффициенты константы, для различных траекторий )
для кораблей схема такая же:
Код:
1. клиент посылает вектор движения.
2. дальше идёт предыдущий алгоритм начиная со 3го пункта.


Последний раз редактировалось BlooDHounD; 18.01.2009 в 21:14.
Старый 18.01.2009, 21:43
TimID вне форума Посмотреть профиль Отправить личное сообщение для TimID Посетить домашнюю страницу TimID Найти все сообщения от TimID
  № 43  
Ответить с цитированием
TimID
[+1 18.01.09]
 
Аватар для TimID

Регистрация: Sep 2003
Адрес: Москва
Сообщений: 34
2B, ваша схема подразумевает что и клиент и сервер обладают одинаковым алгоритмом расчета положений объекта, и всей необходимой базой. То есть данными о массе, размере и т.п. Или хотя бы возможностью строить одинаковые B-сплайны траекторий.
Это как с толстым клиентом.

Я работаю над "тонкой" версией. Вернее "полутонкой". Вроде 3D X-сервера. Но на flash.
Клиент шлет управление, сервер считает, посылает "опорные точки" траекторий. Клиент расчитывает апроксимацию. И рисует сглаженное движение.

Старый 18.01.2009, 22:00
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 44  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Цитата:
Я работаю над "тонкой" версией. Вернее "полутонкой". Вроде 3D X-сервера. Но на flash.
гм, на флэше сервер? Кто то из нас переборщил с морфием явно.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

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

а теперь из теории:

* тонкий клиент - это, когда расчётами занимается сервер. например я посылаю "хочу туда", а сервер говорит "иди туда, так-то и так-то".

* толстый клиент - это, когда сервер в половине случаев работает в режиме приёма оповещений, ничего не сообща взамен. возможно только проверяет корректность. так работает например ВОВоский сервер. даже если соединение неожиданно порвётся пользователь продолжает играть не подозревая о подвохе, так как сообщения посылаются на сервер и не требуют ответа. выглядит так: клиент говорит "я иду туда, так-то и так-то", а сервер ничего не говорит и думает "учтём".


Последний раз редактировалось BlooDHounD; 18.01.2009 в 22:28.
Старый 18.01.2009, 22:38
TimID вне форума Посмотреть профиль Отправить личное сообщение для TimID Посетить домашнюю страницу TimID Найти все сообщения от TimID
  № 46  
Ответить с цитированием
TimID
[+1 18.01.09]
 
Аватар для TimID

Регистрация: Sep 2003
Адрес: Москва
Сообщений: 34
2N, не морфий, какой-нибудь галюциноген, вроде LSD

2B, ну да, сервер и будет заниматься расчетами. По открытому каналу сервер (хост) будет отсылать список объектов в зоне видимости клиента, с указанием координат и ориентации.
"Полутолстым" клиент будет потому, что будет обладать базой данных форм и текстур объектов, и будет отрисовывать их сам.

Хотя, может тут сложности с термином X-сервер (UNIX). И принцип работы OpenGL там же?

Старый 18.01.2009, 22:51
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 47  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
Цитата:
И принцип работы OpenGL там же?
OMFG, вы хотите чтобы и сервак чето рисовал?

Старый 18.01.2009, 22:54
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 48  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Tim честно, вы над нами прикалываетесь?
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 18.01.2009, 22:54
DarkLight вне форума Посмотреть профиль Отправить личное сообщение для DarkLight Посетить домашнюю страницу DarkLight Найти все сообщения от DarkLight
  № 49  
Ответить с цитированием
DarkLight
ветеран форума
 
Аватар для DarkLight

Регистрация: May 2006
Адрес: Москва
Сообщений: 2,978
Отправить сообщение для DarkLight с помощью ICQ Отправить сообщение для DarkLight с помощью Skype™
Цитата:
OMFG, вы хотите чтобы и сервак чето рисовал?
не зря же термин видеоигры: сервер все нарисовал, и на клиентах смотрим
__________________
4am is time to rock

Старый 18.01.2009, 22:57
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 50  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
Цитата:
Сообщение от DarkLight Посмотреть сообщение
не зря же термин видеоигры: сервер все нарисовал, и на клиентах смотрим
Ага представил себе сервер который рисует все 50 клиентам. Самый большой на моей памяти сервер это Starwars Galaxy, мир держал массив из 20 серверов. Правда там сервер тоже ничего не рисовал.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

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

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


 


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


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