Почему PHP поверх C # для PBBG? [закрыто]

10

Я разработчик C # и хотел начать хобби-проект по созданию постоянной браузерной игры (PBBG). Я работаю с C #, MSSQL и Angular и думал, что буду использовать эти методы и для своего хобби-проекта.

Когда я начал искать do, donts и tips, я понял, что многие проекты используют PHP, и я фактически не нашел PBBG с использованием C #, что я нахожу действительно странным. Кажется, что стек, с которым я работаю (C #, MSSQL, Angular), может подойти PBBG.

Единственная причина, по которой я могу думать о том, что C # не используется, - это высокая цена Visual Studio и тот факт, что он не был открытым исходным кодом.

Есть ли другая причина, или я просто плохо нахожусь в проектах, которые используют C #? Или может быть, я просто плохо работаю и не понимаю, что этот стек не подходит для PBBG?

Куру
источник
3
Также ответы будут основаны на мнении. Некоторые люди просто не любят C #.
Almo
6
@Almo И другие люди (как я) ненавидят PHP. Но я думаю, что смог написать нейтральный и полезный ответ.
Филипп
Я думаю, вы найдете возраст, чтобы быть одним из факторов, способствующих здесь. PHP намного старше и более глубоко укоренился, чем C #.
Pharap
4
«Здоровенная цена Visual Studio» - выпуск Community Edition: 0. ОЧЕНЬ здоровенный.
TomTom
1
Что вы подразумеваете под "здоровенной ценой Visual Studio"? Это было бесплатно некоторое время.
user1306322

Ответы:

16

Преимущество PHP в том, что он очень широко поддерживается дешевыми веб-хостерами. Вы можете арендовать некоторое пространство хостинга LAMP (Linux, Apache, MySQL, PHP) для арахиса. И это веб-пространство может также разместить ваш сайт и игровой клиент. Настройка большинства приложений PHP одинаково проста. Просто скопируйте файлы на веб-сервер, и все готово. Это делает запуск тест-сервера очень простым и удобным.

С другой стороны, игровой сервер AC # может быть более сложным. Вам необходимо арендовать настоящий корневой сервер, который стоит дороже и требует гораздо больше работы и ноу-хау для правильной настройки и обслуживания. Вы не писали, если C # означает приложение ASP.NET, работающее на веб-сервере (довольно простое решение для PBBG, если вы спросите меня), или автономное приложение C #, работающее как отдельный процесс (немного неортодоксально, но может работать довольно хорошо, если у вас более ориентированная на действие игра). Если вы имеете в виду последнее, вам также нужно установить или арендовать веб-сервер для размещения вашего сайта и клиентских частей вашей игры.

Эти дополнительные накладные расходы могут стать препятствием для большинства разработчиков хобби, что может послужить хорошей причиной для выбора PHP. Но когда хобби-исполнитель успешно справляется со своей игрой и решает сделать это профессионально, у него уже есть существующая кодовая база и, конечно, он не будет начинать с нуля. Таким образом, они сохранят свой технологический стек LAMP, даже если их первоначальные опасения по поводу его выбора больше не действительны (когда вы выполняете серьезную операцию со стеком LAMP, вы рано или поздно достигнете точки, когда виртуальный хостинг больше не сокращает его и вам нужны ваши собственные серверы).

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

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

Philipp
источник
7
Корневой сервер не является обязательным для веб-приложений C #. См. Microsoft Azure, например.
Майкл Питтино
11
С кодом Visual Studio и / или сообществом Visual Studio стоимость входа для инструментов, безусловно, больше не является препятствием для C #.
0xFF
1
@Erik С другой стороны, если вы используете инструменты, не соответствующие стандартам, вам может потребоваться больше времени, чтобы понять, что ваша игровая идея не работает, поэтому вы теряете больше человеческого труда. Еще хуже: через 100 часов вы можете понять, что ваша игра не может быть сделана с помощью инструментов, которые вы выбрали, но будет работать с более дорогими инструментами, которые вам в любом случае придется покупать (уже там).
Филипп
2
@TylerH Правда, хотя, поскольку сам компилятор C # является бесплатным (по крайней мере, начиная с Roslyn), мне интересно, где они проводят черту.
0xFF
4
И на самом деле, с собственной веб-страницы VisualStudio для издания Community: «Любой отдельный разработчик может использовать Visual Studio Community для создания своих бесплатных или платных приложений».
0xFF
5

Другие ответы верны, но есть исторический фактор, который не был упомянут.

Когда я начал искать do, donts и tips, я понял, что многие проекты используют PHP, и я на самом деле не нашел PBBG с использованием C #, что я нахожу действительно странным.

Еще пару лет назад существовало сообщество разработчиков PBBG, которое в основном существовало на двух форумах: BBGameZone и MakeWebGames, которые в основном были заполнены программистами PHP. Новички, которые не знали, как сделать игру, были замечены на удивительных уроках на BuildingBrowserGames.com, которые были все на PHP. Термин «PBBG» происходит в основном от игр, созданных людьми, подключенными к этим двум форумам. Была предпринята попытка популяризации этого термина, чтобы у жанра было узнаваемое имя, которое игроки могли бы искать, и, как мы надеемся, замедлило бы упадок жанра, неудивительно, если вы получаете PHP только при поиске по термину.

Кажется, что стек, с которым я работаю (C #, MSSQL, Angular), может подойти PBBG.

Единственная причина, по которой я могу думать о том, что C # не используется, - это высокая цена Visual Studio и тот факт, что он не был открытым исходным кодом.

Я думаю, что вы на 100% хороши, чтобы продолжать использовать C #, MSSQL и Angular. Вы обнаружите, что большинство движков PHP устарели PHP4 или PHP5.

Люди BBGameZone были в основном против использования движков (каждый писал свой движок, включая меня). Люди MakeWebGames предприняли попытку создать новые движки PHP (McCodes - их основной старый движок, и NWE (New Worlds Engine) рассматривается. как вероятный новый, который был на полпути)

Вот документ Google с сравнением движка, сделанным несколько лет назад, со сравнением скрипта McCode / NWE / ezRPG / GL: https://docs.google.com/spreadsheets/d/1WM3axFhYaAtjiKd1KRwibx9jEegwjwCJNhQmXP_jsss=e&?e????????????????????????put?e ??

В прошлом предпринимались попытки собрать старое сообщество вместе, но пока не так много удачи: https://www.reddit.com/r/PBBG/comments/6r34vi/announcing_pbbgsite/


Я думаю, что вы будете на 100% в порядке, используя C #, MSSQL, Angular stack, просто помните, что вы, вероятно, первый человек, пишущий PBBG с помощью вашей цепочки инструментов, и вам придется создавать все самостоятельно, без каких-либо прошлых примеров. Оглядываясь на.

Просто помните, что жанр сейчас умирает, но все, что ему нужно, это одна или две популярные игры, чтобы оживить себя, если вы думаете, что можете сделать это в C #, я буду болеть за вас.

ИКМ
источник
1
  • Браузерные игры выросли в то время, когда C # не был очень популярен, но PHP был. На этих языках сделано так много проектов, для этого языка было написано много уроков, и многие эксперты в таких играх приняли PHP в качестве основного языка и таким образом выбрали его по умолчанию,
  • PHP рассматривается как язык, который легко масштабируется от небольших до средних приложений, в то время как C # (и Java) часто рассматривается как сравнительно тяжелые языки, подходящие для крупных бизнес-приложений; большинство PBBG попадают в категорию проектов малого и среднего размера (по крайней мере, изначально / концепция основной игры без накопленного мусора кода).
  • Серверы LAMP были просты, многие разработчики хобби просто имели один, серверы C # были дороже; это все еще в некоторой степени, но уже не так сильно
  • PHP может показаться, что он лучше подходит для работы: он предназначен для ответа на веб-вызов с контентом / данными на основе HTML, именно тем, что вам нужно для серверной части браузерной игры (в зависимости от уровня сложности); C # может сделать это тоже, но может чувствовать себя более раздутым (или мощным),
  • было и, вероятно, легче получить дешевых программистов на PHP, чем дешевых программистов на C #, это согласуется с тем, что PHP легко «вникать», поэтому часто язык goto быстро запускает и запускает некоторые базовые «вещи для сайта» (а затем просто расширить этот прототип вместо пересмотра вашей технологии в долгосрочной перспективе и замены ее)
  • игры часто бывают быстрыми выстрелами, разрабатываются, публично тестируются, затем либо становятся успешными, либо отбрасываются; опять же, это связано с образом PHP, чтобы быть сравнительно хорошим, чтобы быстро что-то запустить

Резюме: если вы не знаете какого-либо (подходящего) языка (достаточно хорошо), я бы предположил, что вы «кое-что» работаете быстрее с PHP. Но если вы уже знаете подходящий язык, такой как C #, и знаете, как настроить сервер / бэкэнд с ним, это не будет применяться (если только вы не хотите использовать определенный движок на этом языке). Это преимущество прототипирования PHP также может быть несуществующим, чем сложнее / сложнее будет ваша игра.

Фрэнк Хопкинс
источник
2
«с PHP вам нужен только один язык (и HTML), чтобы запустить основную игру» - то же самое с C #. Подъем Javascript / Angular одинаков в обоих - запуск приложения в браузере. Но asp.net может с радостью выполнять генерацию html на серверной части, аналогичной PHP. Non-разница.
TomTom
@ TomTom правда, я убрал эту точку
Фрэнк Хопкинс