Страница 1 из 2

Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 23 фев 2015, 12:26
elfinik
Начал изучать Photon server (с Cluod уже знаком) по урокам Сосновского. Посмотрел про чат, логин, передвижение. Но про то, как сделать врага, и чтобы он передвигался я не нашел. Искал в гугле, ничего не нашел. По Cloud'у много всего, а по серверу ноль. Справки на сайте фотона по серверу тоже не нашел. А из всех демок, у них только 1 рабочая, а на остальные юня после преобразования ругается.
1.Каким образом можно сделать простого моба, чтобы он передвигался и мог найти игрока? В основном вопрос про коллизию. Ведь если я напишу на сервере передвижение моба, то коллизия же там не считается. Каким образом на фотоне можно сделать передвижение моба с коллизией?
2.Где можно найти нормальную документацию по фотону? Все, что я находил, заканчивалось на передвижении игроков.

P.S.Дайте пожалуйста полные ответы, чтобы потом не переспрашивать детали. Если, например, писать для сервера физику самому, то как это проще сделать для фотона (я сомневаюсь, что они просят такие деньги только за свой хостинг)

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 23 фев 2015, 17:08
shvez
Первое, что вам нужно понять, что команда делает движок, а не игры. Поэтому примеры, предоставленные на сайте, не касаются абсолютно всех аспектов создания игр. А только демонстрируют возможности движка в плане передачи данных с сервера на клиент.

1. Сделать моба на сервере очень даже просто, если знаете как сделать его на клиенте. Различия только в том, что одного вы сразу рисуете для другого надо послать данные на клиента.
Т.е. у вас на сервере должна быть модель игрового мира, только без графики. Вы загружаете туда карту в каком-то виде, чтобы считать проходимость и коллизии с уровнем. вы загружаете боксы ваших моделек. запускаете цикл по времени и считаете всё как в обычной игре

В общем мысль моя проста. Сделаете моба локально. Разберитесь, что вам для этого нужно. потом сможете перенести это всё на сервер.

2. ну как я уже сказал вначале, на сайте exitgames документацию искать нет смысла. А вот документацию как вообще построить игровой мир будет полезно почитать.
Ну и должен отметить, что передвижение моба мало чем отличается от передвижения игрока

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 23 фев 2015, 19:20
elfinik
shvez писал(а):Первое, что вам нужно понять, что команда делает движок, а не игры. Поэтому примеры, предоставленные на сайте, не касаются абсолютно всех аспектов создания игр. А только демонстрируют возможности движка в плане передачи данных с сервера на клиент.

1. Сделать моба на сервере очень даже просто, если знаете как сделать его на клиенте. Различия только в том, что одного вы сразу рисуете для другого надо послать данные на клиента.
Т.е. у вас на сервере должна быть модель игрового мира, только без графики. Вы загружаете туда карту в каком-то виде, чтобы считать проходимость и коллизии с уровнем. вы загружаете боксы ваших моделек. запускаете цикл по времени и считаете всё как в обычной игре

В общем мысль моя проста. Сделаете моба локально. Разберитесь, что вам для этого нужно. потом сможете перенести это всё на сервер.

2. ну как я уже сказал вначале, на сайте exitgames документацию искать нет смысла. А вот документацию как вообще построить игровой мир будет полезно почитать.
Ну и должен отметить, что передвижение моба мало чем отличается от передвижения игрока

Можно поподробнее как, что, куда и как заливать/переносить? Я не понимаю. Я первый раз с этим сталкиваюсь.
Мои знания по фотон серверу - это уроки на ютубе, а там максимум логин, чат и передвижение ИГРОКА. Но игрок передвигается на клиенте, а у бота клиента нет. То есть на сервере все считать. Так вот, можете подробнее рассказать про то, как считать физику, что и куда заливать?
Карта - карта высот?

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 24 фев 2015, 05:59
shvez
В фотон сервере нет НИЧЕГО куда можно было бы что-то залить, подставить и всё сразу само заработает.
Всё это надо написать САМОМУ.

Начните с того, что создайте игру, которая будет работать у вас локально. Там вы поймёте, что нужно, чтобы создать бота, как им управлять из логики игры, и как коллизии считать. Потом вы сможете разделить игру на две части, одна которая уйдёт на сервер, и то что останется. Само создание сетевой игры создаёт много своих трудностей и тонкостей.
А вам ещё необходимо освоить базовый уровень.
Я не могу вас в одном-двух постах научить делать игру. И никто не сможет. Это процесс самостоятельного роста.

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 24 фев 2015, 06:09
shvez
Если вам хочется поглядеть на пример и то посмотрите на проект MMO. он идёт как пример в PhotonSDK. класс NPC это то, что вы ищите. Но сразу скажу, что придётся напрячь мозг сильно, чтобы понять, что и как там работает и устроено. Он несколько сложноват в понимании, но касается всех тем, которых нужно будет коснуться при написании подобных игр. Если осилите, то сделаете большой скачек в понимании того, как это может работать. После этого сможете реализовать всё по-своему

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 24 фев 2015, 07:25
elfinik
Я не нашел этой демки. Все что нашел, это остров и передвижение кубика. Скиньте пожалуйста ссылку.
Надеюсь пойму, хотя без документации возможно придется забить на освоение скрипта и пойти писать своего бота. Но попробовать разобраться стоит.
https://www.exitgames.com/en/OnPremise/Download
Unity 3d sdk
В новой версии примеров не нашел, в старой только остров и кубик.
Вроде нашел что-то похожее на документацию
http://doc-api.exitgames.com/en/onpremi ... tated.html
Но демки все еще не нашел...
\src-server\Mmo\Photon.SocketServer.Mmo
Юня вроде как это не откроет, там нет папки assets
И скрипта NPC я не вижу там

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 24 фев 2015, 07:44
shvez
http://doc.exitgames.com/en/onpremise/c ... rver-intro
Вот здесь посмотрите MMO в содержании справа

Мне сейчас доступна версия сдк 3-4-27. Пример находится здесь: sdk_v3-4-27\src-server\Mmo

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 24 фев 2015, 07:46
elfinik
\src-server\Mmo\Photon.MmoDemo.Server
Нашел скрипт. Но как мне это запустить? Это не юнити проект вроде...
И сразу такой вопрос. Как мне запускать сервер на localhost'е? У меня же там свои файлы и конфиг поправлен (по урокам на ютубе)

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 24 фев 2015, 15:04
shvez
всё есть в документации на сервер

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 26 фев 2015, 08:51
elfinik
Как я понял из документации, нужно заливать файлы на 1 из хостингов, предложенных там. А разве за хостинги не нужно платить отдельно?
И еще вопрос. Читал форумы, на многих пишут, что нужно загрузить на сервер сцену, карту и т п из юнити, но без камер и с примитивами. Есть смысл пытаться понять как это сделать, или это не нужно?

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 26 фев 2015, 09:14
shvez
Не надо ничего никуда заливать.
Солюшен уже имеет необходимые настройки для запуска. Единственное, что в закладке "Debug" свойств проекта, надо указать где находится PhotonSocketServer.exe
проект Photon.MmoDemo.Server должен быть активным. Всё что нужно нажать F5 и всё

так же можно использовать PhotonControl: http://doc.exitgames.com/en/onpremise/c ... pplication

Чтобы клиента запустить нужно будет ещё раз открыть этот же солюшен и уже запускать клиента

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 26 фев 2015, 12:12
elfinik
Я вас не понял. На какой из вопросов вы ответили?
Чтобы мне запустить проект не в локалхосте, мне не нужно ничего никуда заливать? Или вы про другое?
Или вы про демку ММО? Так мне ее даже не запустить в юнити, assets нету в папки. Или она для запуска на VS?

P.S.Предыдущей пост был не про демку, а про сервер (как из локалхоста сделать его онлайн).

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 26 фев 2015, 13:19
shvez
На первый.
На второй про загрузку сцены я вам уже говорил, что придётся что-то подобное делать

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

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 26 фев 2015, 13:50
elfinik
Согласен...
Но с cloud'ом как то разобрался, само все сложилось, когда демки с уроками нашел. Надеялся, что с сервером так же разберусь.
Я смотрел теоретические уроки от многих авторов (еще когда выбирал что изучать сначала, сервер или cloud), но там как то все ограничивалось фразами типа "каждый клиент посылает запрос серверу" и т п.
На данный момент я примерно представляю как происходит общение между сервером и клиентом, как пишется чат и передвижение (с последним разбираюсь). Где получить остальную информацию - не знаю. Я не понимаю: как загрузить сцену на сервер и что с ней делать, как писать скрипты для НПС (ну тут думаю сам разобраться, физику через карту высот в виде 2-х мерного массива с высотой в флоат в каждой ячейке попробую сделать). Но если я правильно понял, то этого мало. Помимо обычной физики на сервере просчитываются попадания массовых способностей и множества всего прочего. И каким образом работать с картой, а точнее с юнити на сервере, я не представляю. Сейчас для меня сервер - это набор скриптов. Остальное хранится или у клиента (графика), или в БД.
Можете указать с чего начать, чтобы не закапываться на год (плюс свободного времени, увы, не бесконечность)? С каких статей (ну примерно хотя бы)?
P.S.Не люблю теорию... Очень не люблю...

Re: Жизнь моба, коллизия (Photon Server)

СообщениеДобавлено: 26 фев 2015, 14:47
shvez
Статьи не подскажу, не знаю. Сам не читал. Но думаю есть.

Я уже писал, что в плане устройства игрового мира сервер похож на то, что происходит в локальных играх. Вам приходится решать те же задачи, иногда чуть попроще. Но это станет понятно, когда будете реализовывать

Вам так же на сервере придётся реализовать игровой цикл. Так же загрузить уровень и создать все объекты прописанные на нём, так же реализовать логику для работы НПСей. Чего нет на сервере так это визуализации.
Напишите свою игру без Юнити. даже без графики, пусть она у вас в консоли и в обычном окне гоняет ваших нпсей
Входной момент игровой цикл.
Дальше карта мира.
Дальше логика нпсей

думаю что gamedev.ru может оказаться более чем полезным ресурсом в этих вопросах. Там же и на вопросы ответят более детально.

Удачи