Перейти к содержимому


Внимание!

Это форум по извлечению ресурсов из игр: музыки, звуков, текстур, 3D-моделей...
Перед поиском ответов на форуме, рекомендуется ознакомиться с основным сайтом EXTRACTOR.ru!
[ Прочтите внимательно - правила создания тем и ответа в них ]
Все вопросы по запуску игр задавайте в другом месте: Установка и запуск игр.


Фотография

Исходный код


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 35

#21 Terminus

Terminus

    Генерал-майор

  • Администраторы
  • 1969 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 06 March 2005 - 10:59

Приму к сведению smile.gif

#22 Vogd

Vogd

    Сержант

  • Пользователи
  • 21 сообщений
  • Город:S-Pb

Отправлено 09 April 2005 - 04:21

В отчетах разработчиков Вы написали что для патчей теперь юзается другая прога, не глючная, можно поинтересоваться, какая?

#23 Terminus

Terminus

    Генерал-майор

  • Администраторы
  • 1969 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 09 April 2005 - 10:50

Да, PatchWise Free (http://www.hanmen.co...ndex.php#trials).
Он, во первых, бесплатный (для очистки совести), во-вторых, не имеет косяков с путями, содержащими русские буквы, в третьих, сам по себе полее приятный. В-четвертых, имеет большее количество настроек... Правда, патчи получаются чуть больше (на 50KB), но я с этим смирился. Скорость создания патча регулируется. От почти мгновенной, до ну очень низкой...

#24 mrLEE

mrLEE

    Рядовой

  • Пользователи
  • 2 сообщений
  • Город:Москва

Отправлено 09 April 2005 - 11:53

Я тут новичек , но ваша идея ( я об игре ) очень мне понравилась. Это что касается комплиментов.
А теперь на счет игры : трафик 2-3 кб в сек это очень много (7-10 мб/ч).
По сему хочу спросить , а какой формат передачи данных???
Собираетесь ли вы его оптимизировать???
Сильно ли ваш формат отличается от моего представления??


Теперь , как я себе представляю передачу данных в сети для подобной игры:

Перемещение персонажа:

клиент -- отправляет координаты смещения для точки назначения и передвижение происходит на клиенте , когда достигается точка , то отправляется сообщение о ее достижении. В том случае если рядом персонажи в радиусе видимости экрана , то отправлять координаты смещения при каждом смещении на еденицу (для визуальзации остальным персонажам).

Сервер -- получая координаты он проверяет наличие рядом каких-либо подвижных объектов (персонажи , мостры , вещи) , если есть , то клиету идет информация о них (координаты и код объекта) по отношению к точке назначения (относительно персонажа производится расчет на клиенте). Всем персам , находящимся неподалеку с сервера идет инфа о перемещении перса.

Формат данных для перемещения отпровляемых с сервера:
координаты смещения = 1 байт (код вида смещения:вверх,вниз и т.д.)
визуальная информация об 1-ом объекте :
идентефикатор = 2 байта
идентефикатор имени = 3 байта (алгоритм хранения имен , если интересует , напишу потом).
Дополнительные байты для др действий и свойств (удар , магия , торговля и т.д.) = не более 6 байт (код действия и параметры)

итого при 20 объектах максимальный размер 1 пакета =240 байт

Для нормальной работы достаточно отправки 7 пакетов в сек т.е. 1680 байт (1,64 кб/сек)
Чем меньше объектов , тем меньше трафик.

Это я написал навскидку подумав можно сделать еще меньше расход трафика. (Допустим , если объект статический (вещи , шахта и т.д.) , то размер инфы о нем можно урезать в два/три раза)


#25 Terminus

Terminus

    Генерал-майор

  • Администраторы
  • 1969 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 09 April 2005 - 13:03

Цитата
А теперь на счет игры : трафик 2-3 кб в сек это очень много (7-10 мб/ч).

Это ПРЕДЕЛЬНАЯ нагрузка, которую мы расчитываем иметь. Средний ожидаемый трафик будет крутиться в районе 1KB.
Цитата
По сему хочу спросить , а какой формат передачи данных???

Если Вы имеете в виду протокол, то TCP smile.gif. Более того, трафик мы расчитываем с учетом 10 TCP/IP пакетов в секунду. Чаще сервер отправлять их не будет. Речь идет именно о сетевых, а не игровых пакетах. Наконец, при расчете размера заголовков, их размер принимался за 100, что тоже сделано с весьма большим запасом.
Цитата
Сильно ли ваш формат отличается от моего представления??

Сейчас проверим smile.gif
Цитата
клиент -- отправляет координаты смещения для точки назначения и передвижение происходит на клиенте , когда достигается точка , то отправляется сообщение о ее достижении. В том случае если рядом персонажи в радиусе видимости экрана , то отправлять координаты смещения при каждом смещении на еденицу (для визуальзации остальным персонажам).

Нельзя. Просчет передвижения на клиенте хоть и сильно экономит трафик, но создает обширные возможности для читинга. Все расчеты ведутся на стороне сервера. smile.gif
Цитата
Сервер -- получая координаты он проверяет наличие рядом каких-либо подвижных объектов (персонажи , мостры , вещи) , если есть , то клиету идет информация о них (координаты и код объекта) по отношению к точке назначения (относительно персонажа производится расчет на клиенте). Всем персам , находящимся неподалеку с сервера идет инфа о перемещении перса.

Сервер при расчете пути учитывает все объекты в округе. Пересчет пути делается на каждой клетке, что заметно уменьшает возможности глюков при ходьбе в толпе. Разумеется, все это в ущерб производительности, но пока что тесты показывают, что сервер не будет сильно напрягаться.
Цитата
Формат данных для перемещения отпровляемых с сервера:
координаты смещения = 1 байт (код вида смещения:вверх,вниз и т.д.)
визуальная информация об 1-ом объекте :
идентефикатор = 2 байта
идентефикатор имени = 3 байта (алгоритм хранения имен , если интересует , напишу потом).
Дополнительные байты для др действий и свойств (удар , магия , торговля и т.д.) = не более 6 байт (код действия и параметры)

Координаты смещение - 2 байта. Есть ряд частных случаев, когда персонаж у клиента стоит не на том месте, где и у сервера. Чтобы полностью исключить вероятность сбоев в этом случае, передаются абсолютные координаты точки назначения.
Идентификатор - 1 байт. На карте не более 255 персонажей и монстров. Учитывая то, что сервер планируется под одновременную нагрузку не более 200 человек, этого должно быть более чем достаточно. Все на одной карте тусоваться не будут smile.gif

В общем, если подитожить, то размер пакетов, отсылаемых клиенту, таков (включая идетификаторы типов и, реже, подтипов игровых пакетов):
1. Персонаж двигается на соседнюю клетку: 4 байта
2. Персонаж бъет вблизи: 6 байт
3. Удаление персонажа с карты: 2 байта
4. Добавление персонажа на карту: 8 байт + имя

Кроме этого, есть еще множество пакетов... Это и синхронизация внешнего вида персонажей (одежда, оружие), и синхронизация статичных объектов (которым это надо), и синхронизация мешков в округе (для быстрого доступа к содержимому)... В общем, чуть более 40 типов и подтипов. Ест пакеты и более 6 байт, но отсылаються они редко.

На самом деле, я провел немалую работу по оптимизации всех этих вещей, так что ужимать уже некуда smile.gif. Расчет примерного трафика очень мложен и делается навскидку, так что цифры, вероятнее всего, у меня сильно завышены.

Ну и напоследок, пакеты более 50 байт сжимаются ZLib'ом, что, как показали эксперементы, снижает трафик (только игровой трафик, без заголовков пакетов) на 20-30%

#26 mrLEE

mrLEE

    Рядовой

  • Пользователи
  • 2 сообщений
  • Город:Москва

Отправлено 09 April 2005 - 14:00

Спасибо за ответ.

А могу я поинтересоваться , какое количество времени вы уже работаете над проектом???


#27 Terminus

Terminus

    Генерал-майор

  • Администраторы
  • 1969 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 09 April 2005 - 14:32

В общей сложности 2.5 года. За это время 2 раза переписывался сетевой движок, и раза 3 графический smile.gif. Если бы сразу шли по текущему пути, времени бы ушло, конечно, меньше.

#28 Vogd

Vogd

    Сержант

  • Пользователи
  • 21 сообщений
  • Город:S-Pb

Отправлено 14 April 2005 - 23:21

Так же очень интересен вопрос с сервером... Когда выйдет игра, ей ведь понадобится постоянное место жительства? Так вот, сколько стоит такое удовольствие для платного проекта и реально ли найти халявный сервак для бесплатного?

#29 Araton

Araton

    Подполковник

  • Доверенные
  • 449 сообщений
  • Город:Эстония,г Силламяэ

Отправлено 15 April 2005 - 04:37

Халявные серваки в 90% случаев только по знакомству или по работе..а платный все зависит где предоставлен колокейшен ну и соответственно какой сервер туда в ячейку установят цены гдето от 50 и до нескольких сотен мертвых американских президентов

#30 lol4uk

lol4uk

    Старшина

  • Доверенные
  • 84 сообщений
  • Город:Saint-Petersburg

Отправлено 15 April 2005 - 05:14

кста о колокейшене, мона его и в Питере сделать.. Петерхост.ру в этом плане очень хороший.. у меня пару знакомых на петерхостовском колокейшене сидят и очень хвалят wink.gif вроде 60 у.е. стоит.. там серваки очень мощные + инет стабильный выделенный канал в 100 мбит каждому колокейшену.. в общем круть wink.gif тем более близко расположен - на Ваське..

#31 Terminus

Terminus

    Генерал-майор

  • Администраторы
  • 1969 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 15 April 2005 - 11:31

Мы планируем поставить сервер в дата-центре The Planet (США, штат Техас). В месяц - порядка 200-300$, исходящий трафик влючен - 2TB.

Если мне покажут русского прова, который даст 1-2TB без ограничений на соотношение трафика, и со стабильным (пусть и не самым низким) пингом со всей территории России - я подумаю smile.gif

P.S.: Вопрос не о co-location, а о dedicated, разумеется smile.gif

#32 Terminus

Terminus

    Генерал-майор

  • Администраторы
  • 1969 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 15 April 2005 - 11:57

Петерхост не ставит Win, и не освещен вопрос безопасности (межсетевые экраны, firewall).

#33 Araton

Araton

    Подполковник

  • Доверенные
  • 449 сообщений
  • Город:Эстония,г Силламяэ

Отправлено 15 April 2005 - 12:39

Насколько я помню на Петерхосте ставили сервер СВ и ничего хорошего не вышло...

#34 lol4uk

lol4uk

    Старшина

  • Доверенные
  • 84 сообщений
  • Город:Saint-Petersburg

Отправлено 15 April 2005 - 12:55

блин, когда это было-то с СВ?? уже давно всё есть и дешевле!!

ну не хотите - как хотите.. моё дело предложить smile.gif

#35 Terminus

Terminus

    Генерал-майор

  • Администраторы
  • 1969 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 15 April 2005 - 14:43

Да я может и хочу, но повторяю - Win не ставят, о безопасности ни слова smile.gif

#36 Terminus

Terminus

    Генерал-майор

  • Администраторы
  • 1969 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург

Отправлено 16 April 2005 - 19:15

А вообще, тут есть интересные варианты:
http://resolve.ru/ru/dedicated/