Результаты поиска
| |
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 |
|
| |
|