Вторник, 16 Апреля 2024, 08:46

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Записи участника » zisX [735]
Результаты поиска
zisXДата: Вторник, 19 Января 2016, 16:11 | Сообщение # 21 | Тема: Inventory БД
Neto Zis
Сейчас нет на сайте
Цитата vpcoder ()
если игрок что то получил/потерял - сразу можно это фиксировать. Но, это не рассчитано на тысячи людей в онлайне, так что, надо отталкиваться от ваших замахов)


100-200 игроков на одном сервере

Цитата vpcoder ()

Мало информации. Нужны подробности - что вызывает клиент, что отвечает сервер и в какие моменты.
Если нужно просто получить список игроков - инвентари отправлять крайне нежелательно, логичнее запрашивать каждый инвентарь отдельного персонажа по идентификатору в потоке. Если требуется загрузить своего игрока с его инвентарём, очевидно, удобно сразу получить и игрока и инвентарь в одном текстовом блоке.


В таблице плаерс, у каждого из игроков будут вот такие поля Name, Pass, Health, Inventory
И в поле inventory будет храниться сериализованный инвентарь данного игрока

Когда игрок подключается на сервер, сервер отправляет сериализованный инвентарь клиенту, а клиент с помощью написанной dll десериализовывает этот инвентарь и применяет его у себя.




Сообщение отредактировал zisX - Вторник, 19 Января 2016, 16:39
zisXДата: Понедельник, 18 Января 2016, 23:51 | Сообщение # 22 | Тема: Проблема с инвентарем
Neto Zis
Сейчас нет на сайте
Valik_Fenko, Хранить позицию кнопки в Rect и проверять находится ли позиция мышки в переменной (Rect).
А нажатия проверять так же только поставить перед этим условие нажата ли левая кнопка мыши

If(Input.GetMouseButtonDown(0))


zisXДата: Воскресенье, 17 Января 2016, 14:40 | Сообщение # 23 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
BUFFOMETZ, Да мне щас думать пока некогда, я щас занимаюсь коитусом с инвентарем и синхронизацией с сервером, боюсь что будет дюп, потом что пока пилил основу, несколько раз замечал что-то похожее.

zisXДата: Воскресенье, 17 Января 2016, 14:25 | Сообщение # 24 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
BUFFOMETZ, Да я понял, попозже попробую, спасибо.

zisXДата: Воскресенье, 17 Января 2016, 14:07 | Сообщение # 25 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
BUFFOMETZ, Ну так это на клиенте проверка, надо серв

zisXДата: Воскресенье, 17 Января 2016, 13:50 | Сообщение # 26 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
BUFFOMETZ, Какой можно алгоритм придумать чтобы просчитать на сервере, что игрок упал с большой высоты.

zisXДата: Воскресенье, 17 Января 2016, 12:59 | Сообщение # 27 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
BUFFOMETZ, Кстати, ты знаком с сетевой частью игр?

zisXДата: Воскресенье, 17 Января 2016, 12:49 | Сообщение # 28 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
"Запек" enviroment lighting и все стало как в билде, спс всем за ответы, плюс в репу всем.

zisXДата: Воскресенье, 17 Января 2016, 12:46 | Сообщение # 29 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
Щас все попробую, просто мой комп щас можно сказать инсульт пережил, когда я случайно начал запекать precomputed realtime GI и другое на макс настройках

zisXДата: Воскресенье, 17 Января 2016, 12:26 | Сообщение # 30 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
BUFFOMETZ, Запекание отключены, рендер forward.

zisXДата: Воскресенье, 17 Января 2016, 12:21 | Сообщение # 31 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
BUFFOMETZ, Точно нету

zisXДата: Воскресенье, 17 Января 2016, 12:16 | Сообщение # 32 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
BUFFOMETZ, Шейдеры не стоят, но есть один момент, который я подозреваю, когда я занимался террайном, то большую нагрузку на комп были какие-то вычисления и в настройках я отключил (как я понял это было запекание теней)

Добавлено (17 января 2016, 12:16)
---------------------------------------------
BUFFOMETZ, Fantastic


zisXДата: Воскресенье, 17 Января 2016, 12:14 | Сообщение # 33 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
BUFFOMETZ,
Цитата BUFFOMETZ ()
563 ДК, ваууу. Завидую. Я надрываюсь чтобы у меня больше 15-30 не было на андроиде. Уже захотелось что-то для PC сделать, такой простор для фантазии

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


zisXДата: Воскресенье, 17 Января 2016, 11:59 | Сообщение # 34 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
falcoware,




Сообщение отредактировал zisX - Воскресенье, 17 Января 2016, 11:59
zisXДата: Воскресенье, 17 Января 2016, 11:49 | Сообщение # 35 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте
falcoware, Мне кажется в билде наоборот графика более простая.

P.S. Когда обновил тему думал, что я сам себе написал сначала.


zisXДата: Воскресенье, 17 Января 2016, 11:41 | Сообщение # 36 | Тема: Другой рендер в билде
Neto Zis
Сейчас нет на сайте



Почему в билде и в едиторе два разных отображения картинки?
В билде все светелее.




Сообщение отредактировал zisX - Воскресенье, 17 Января 2016, 11:43
zisXДата: Пятница, 15 Января 2016, 17:19 | Сообщение # 37 | Тема: Вопрос-[ответ] по Unity
Neto Zis
Сейчас нет на сайте
Storm54, Я тоже так сначала думал, но походу его куда то перенесли т.к. в конфиге его нету.
Проверил ещё раз, не нашел точно такого же названия параметра задержки как в инете, но нашел что-то похожее, поменял на 0, свой кастомный класс выдает 5-10 пинг, стандартный параметр пинга у пира выдает 0 пинг.


zisXДата: Четверг, 14 Января 2016, 17:15 | Сообщение # 38 | Тема: Inventory БД
Neto Zis
Сейчас нет на сайте
Vinchensoo,
Цитата Vinchensoo ()
2. Сложно что-то попрвить вручную или SQL скриптом (если сериализуем в текстовый формат, то проблема стоит менее остро)


Можно пойти дальше и написать маленькую утилиту (visual studio c# ) которая будет как редактор инвентаря игроков.
Которая будет десериализовывать инвентарь, потом мы редактируем инвентарь с помощью интерфейса, а потом сериализовать и отправить в бд.

Добавлено (14 января 2016, 17:15)
---------------------------------------------
Vinchensoo,

Цитата Vinchensoo ()
3. Невозможно восстановить в случае повреждения информации (взяли и выключили свет во время записи на диск, получили кашу из байт, которые никак не разгрести)

Выключили свет у клиента или у сервера? Можно поподробней я не очень понял.


zisXДата: Четверг, 14 Января 2016, 16:58 | Сообщение # 39 | Тема: Inventory БД
Neto Zis
Сейчас нет на сайте
BUFFOMETZ,
Цитата BUFFOMETZ ()
Плюс возможность дюпа предметов.

Каким образом?

Добавлено (14 января 2016, 16:58)
---------------------------------------------
Цитата zisX ()
забьет канал если инвентарь большой и игроков много.


Как на счет создать на сервере лист операций, а операция будет в себе содержать допустим, поменять кол-во монет у такого то игрока.

1 операцию выполнять каждые n секунд или миллисекунд.
В принципе можно ускорить этот процесс создав несколько "шардов" в каждом из которых будет свой лист операций и они чекая операцию будут выполнять её.




Сообщение отредактировал zisX - Четверг, 14 Января 2016, 16:59
zisXДата: Четверг, 14 Января 2016, 16:35 | Сообщение # 40 | Тема: Inventory БД
Neto Zis
Сейчас нет на сайте
BUFFOMETZ, Я имел ввиду не создавать много полей в базе данных для инвентаря, допустим id предмета, название, кол-во и так далее.
А создать одно поле допустим с названием Inventory, тип Text.
На сервере сериализуем массив слотов инвентаря, вот отрывок кода который сериалезует лист клиентов на сервере
и делать так же только за место игроков использовать слоты инвентаря и записывать в бд
Код

Packet packet = new Packet();
List<UnityClient> localClients;
localClients = World.Instance.clients;

packet.AddInt(localClients.Count);
for (int i = 0; i < localClients.Count; i++)
{
packet.AddInt(localClients.id); //ID Игрока
packet.AddFloat(localClients.position.X); //Позиция игрока по X в мире
packet.AddFloat(localClients.position.Y); //Позиция игрока по Y в мире
packet.AddFloat(localClients.position.Z); //Позиция игрока по Z в мире
}

packet.Pack();

byte[] packetByte = packet.buffer; // Массив байтов листа игроков


Класс Packet - тык




Сообщение отредактировал zisX - Четверг, 14 Января 2016, 16:38
Форум игроделов » Записи участника » zisX [735]
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг