Зачем использовать такой сервер, как Photon от Exit Game?

Я провел свое исследование, но мне трудно понять, почему кто-то захочет использовать эти типы серверов (Photon, SmartFox и т. д.) для программирования игр, когда они уже снабжены такими вещами, как .Net framework.

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

Я хочу создать многопользовательскую игру сервер/клиент, но я слышал от профессионалов здесь, на StackOverflow, что за что-то вроде Photon не стоит платить, потому что он может «создать что-то подобное для своей игры за день или два». Мое использование было бы игрой, которая является одновременно одиночной, многопользовательской COOP (клиент-клиент) и, возможно, MMO, если она хорошо продается, или я получаю финансирование на кикстартере исключительно для этой функции (архитектура сервер/клиент). Хотя, скорее всего, я буду программировать игру, как это делает Valve, и пусть даже одиночная игра будет архитектурой сервер/клиент, причем «сервер» будет находиться в автономной системе клиента.

Каковы преимущества использования Photon перед созданием собственного игрового сервера с использованием C# .Net?


person user2948630    schedule 04.11.2013    source источник
comment
Я особенно надеюсь на людей с опытом работы с Photon и .Net framework. Я хотел бы знать различия в ощущениях (практические различия, а не заявленные различия) и что они думают о Фотоне.   -  person user2948630    schedule 04.11.2013
comment
У меня нет опыта здесь, я нахожусь в том же положении, что и вы. Основное преимущество, например, фотона из того, что я могу сказать, заключается в том, что вам не нужно сворачивать свои собственные. По сути, вы платите за сокращение времени в процессе разработки. Я лично решил свернуть свой собственный по образовательным причинам. Хотя я полагаю, что получить эффективный коммуникационный код в игре в реальном времени очень сложно, проблемы, которые такие фреймворки, как photon, скорее всего, уже решили бы лучше, чем я.   -  person Weyland Yutani    schedule 04.11.2013
comment
Используйте lidgren, если хотите создать свой собственный сервер.   -  person Felix K.    schedule 04.11.2013
comment
@ФеликсК. Почему лидгрен?   -  person user2948630    schedule 04.11.2013
comment
@ user2948630 Это быстрый протокол udp.   -  person Felix K.    schedule 04.11.2013
comment
@ФеликсК. Что делает его быстрее, чем .net framework?   -  person user2948630    schedule 05.11.2013
comment
@user2948630 user2948630 Чувак, это протокол, реализованный на C#. Почему бы вам не взглянуть на это?   -  person Felix K.    schedule 05.11.2013
comment
@ФеликсК. Так что не знаешь, понял.   -  person user2948630    schedule 19.11.2013
comment
@ user2948630 Правда? Вы знаете, что это просто использование компонентов .NET. Таким образом, у него точно такая же скорость, как у компонентов .NET.   -  person Felix K.    schedule 19.11.2013
comment
@ФеликсК. Теперь это было не очень сложно. Спасибо. +1 не лень. Намного быстрее для вас просто напечатать это крошечное предложение, чем для кого-то еще, чтобы искать его. 1 секунда по сравнению с где-то от 10 секунд до 10 часов, просто говоря, что ответ ВСЕГДА быстрее. Здесь нет троллей!   -  person user2948630    schedule 20.11.2013


Ответы (1)


Лучшая идея состоит в том, чтобы сделать ваши игровые серверы кроссплатформенными и кросс-языковыми, что означает использование стандартных типов наиболее полезных языков для кодирования вашей игры. Я рекомендую вам кодировать протоколы для вашего клиента и использовать байты и массивы байтов для клиента. Большинство языков могут возвращать байты вашему клиенту. Вам не нужно думать о Photon или других веб-хостах, вы можете для начала сделать клиент и сервер, который отправляет байты клиентам. Это позволяет вам работать на разных платформах и писать серверное программное обеспечение на любых языках. Minecraft в настоящее время использует серверы в стиле байтов, что позволяет людям легко кодировать свое собственное серверное программное обеспечение на любом языке. Хотя у вас есть базовые протоколы для отправки клиентам, ваш клиент может быть легко написан на других языках после выпуска. Сервера держат на себе клиентов и их вебклиент, И каждый раз отправляют пакеты.

person 111WARLOCK111    schedule 04.11.2013
comment
Это информативный ответ, однако я чувствую, что он пропускает суть вопроса. каковы плюсы и минусы создания собственного по сравнению с фотоном? Есть ли что-то, что предлагает Photon, на разработку которого ушли бы недели? - person TarunG; 20.01.2014