Показать сообщение отдельно
Старый 26.11.2015, 14:26
OlegAntipov вне форума Посмотреть профиль Отправить личное сообщение для OlegAntipov Найти все сообщения от OlegAntipov
  № 9  
Ответить с цитированием
OlegAntipov

Регистрация: Nov 2015
Сообщений: 5
Игра обновлена до версии 0.1.2:
- исправлен баг с перезарядкой
- добавлена карта "city"
- добавлено оружие "щит спецназа"
- следы от пуль стали чуть толще и следовательно заметнее
- исправлен баг с респауном сетевых игроков
- гранаты теперь подсвечиваются красным
- Мультиязычный интерфейс
- аппаратный курсор
- В лобби-меню при клике на кнопке "создать бота" и нажатой клавишей B, N или D можно создавать ботов соответственно подрывника, ниндзю, дока. Для создания бота-морпеха нажимать ничего не надо.
- на карте greenland добавлено защитное укрытие у аптечки
- на карте island добавлены дополнительные мостки, ведущие к базам игроков

Добавлено через 1 минуту

Цитата:
Сообщение от CrazyFlasher Посмотреть сообщение
Если игра станет популярной, то вы просто замучаетесь с читерами. Проверено на практике.
Да я представляю на что иду но я привык решать проблемы постепенно. На данном этапе не имею возможности вкладываться в покупку серверов, особенно учитывая что игра будет бесплатной, только с рекламой наверно. Впринципе со временем думаю будет не слишком сложно перевести её на серверные рельсы при острой необходимости.

Цитата:
Сообщение от caseyryan Посмотреть сообщение
Зачем тогда нужен свой сервак? Можно же просто через цирус
Сама игра работает через цирус, но сервак нужен чтобы получать список доступных в данный момент битв, их параметры, а также peerID игрока, создавшего игру (NetGroup не используется, юзается прямое соединение через NetStream)

Добавлено через 48 часов 37 минут
Насчёт лагов. Я тут недавно в статьях по сетевому программированию вычитал, что есть такая каверзная вещь в протоколах данных как MTU - Maximum transmission unit, т.е. максимальный размер полезного блока данных одного пакета, который может быть передан протоколом без фрагментации. Так вот, для UDP трафика он равняется по дефолту примерно 1500 байт. И тут меня заинтересовало, а какой у меня размер пакета синхронизации. Оказалось что он очень часто превышает 1500 байт (при полной нагрузке в 14 игроков). Т.е. почти в половине случаев сообщение синхронизации дробится на два куска, что весьма хреново, ибо на другом конце надо дождаться прибытия обоих. Вообщем путём deflate сжатия данных и уменьшения структуры самого пакета вроде удалось запихать всё в среднем в ~550 байт. Пока ещё рано говорить, но теоретически это позволит весьма неплохо снизить лаги и стабилизировать пинг.

Кому интересно, вот изначальный трафик, без сжатия и со сжатием deflate. Средние значения соотвественно ~1500 байт и ~840 байт.



А на этом графике уже трафик с оптимизированными пакетами, соотвественно средние значения ~852 байт и ~544 байт.



Тесты проводились на карте island с максимальным кол-вом игроков - 14. По идее теперь фрагментации пакетов практически никогда не должно быть, а лагов должно быть существенно меньше.

Да кстати я ещё пробовал сжатие lzma, хоть оно и лучше сжимает, но по данным Скаута тратится до 10% cpu! на сжатие и разжатие, по сравнению deflate, у которого менее 1%. А разница в эффективности сжатия не превышает 2-3%. Так что я остановился на deflate.


Последний раз редактировалось OlegAntipov; 26.11.2015 в 14:39.