World of Tanks, CS, Quake, онлайн-шашки в конце-концов Насколько я понимаю, у нас разные представления об "только в одной комнате"...Woolf писал(а):Но вообще странно, что в базовом примере под фотон отсутствует настолько важный функционал. Я вот не могу сходу даже представить игру, где игрок может быть только в одной комнате. Даже шашки не подходят..
sp00n писал(а):World of Tanks, CS, Quake, онлайн-шашки в конце-концов Насколько я понимаю, у нас разные представления об "только в одной комнате"...Woolf писал(а):Но вообще странно, что в базовом примере под фотон отсутствует настолько важный функционал. Я вот не могу сходу даже представить игру, где игрок может быть только в одной комнате. Даже шашки не подходят..
Два разных сервера этим занимаются в данном случае.Woolf писал(а):WoT - как минимум две комнаты у них. Одна общесерверная, вторая боевая.
опять же разные сервера - "общий" и чат-сервер (для небольших проектов это может быть на одном реализовано), который и разруливает сообщения разных чатов. Это все нормально реализовывается и через стандартный фотоновский LiteLobby, естественно расширив его. Или Вы хотели взять имеющийся пример Lite-сервера и без писанины доп.кода использовать его для своего проекта?Woolf писал(а):Плюс если вы в ангаре - вы одновременно находитесь: в общесерверной ангарной комнате, комнате клана, комнате общего чата, комнате чата взводов , комнаты привата.
Или Вы хотели взять имеющийся пример Lite-сервера и без писанины доп.кода использовать его для своего проекта
Груберк писал(а):Или Вы хотели взять имеющийся пример Lite-сервера и без писанины доп.кода использовать его для своего проекта
Ну как обычно. Только потом новая грабля и снова бегом на форум. Самому подумать ведь так тяжело...
Вообще не вижу проблем в решении "проблемы", узнаете как работает litelobby - узнаете как решить свою задачу.
Ой-ой-ой.. Это я то "бегом на форум"? Да я не "бегом на форум", просто раскрыл тему, которая замалчивалась. Лично мне прекрасно всё понятно, как решить эту проблему и LiteLobby здесь вообще никаким боком. Вы лучше чем кидать "умные" фразы сами разберитесь, что делает "LiteLobby" и чем оно отличается от "Lite" и каким вообще боком оно привязано к множественности комнат.
Просто я думал, может кто-то решил проблему другим путём, кроме как игнорированием дефолтных методов работы с Room у LitePeer и написанием своих. Дело то не в базовых классах Room, им то, как раз таки пофигу, в скольки комнатах игрок, а именно в LitePeer, это там забито только одно значение RoomReference.
ПыСы в догонку еще один вопрос по LitePeer - как правильно послать сообщение клиенту без его запроса?
Я делаю как-то так..
неправильно. Нужно использовать событие (Event), а вы используете ответ на операцию (т.е. посылаете результат операции-запроса клиента, который он не делал).
вообще еще выше написали, что по сути те "комнаты", которые вы хотите сделать, действительно обычно являются разными серверами (допустим основной сервер, сервер битвы, сервер чата, сервер аукциона), но это все элементарно реализуется и в рамках одного приложения, что естественно делает его не конкурентоспособным по производительности с массивом серверов.
Да я сам понимаю, что неправильно.. И ивенты.. они же для комнат, как я понимаю, а не для конкретного коннекта. Или я ошибаюсь? У меня задача такая - послать пакет конкретному peer, не ожидая от него запроса, имея сам peer в руках.
Отдельный сервер - это и отдельный коннект, как я понимаю, нужно делать? Скажем на другой порт? У меня такая структура - вся игра бьётся на "базы" на каждой "базе" есть набор локаций. Мне необходимо иметь возможность рассылать сообщения:
1) По всему серверу
2) По всей базе
3) По локации
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1