Чому PHP над C # для PBBG? [зачинено]


10

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

Коли я почав шукати завдання, донти та підказки, я зрозумів, що багато проектів використовують PHP, і я фактично не знайшов жодної PBBG за допомогою C #, що мені здається дуже дивним. Здається, що стек, з яким я працюю (C #, MSSQL, Angular), може відповідати PBBG.

Єдиною причиною, по якій я можу подумати про те, що C # не використовується, є здоровенна ціна Visual Studio і те, що вона не була відкритим кодом.

Чи є якась інша причина, чи я просто поганий у пошуку проектів, які використовують C #? Або може бути так, що я просто поганий у своїй роботі і не розумію, що цей стек не підходить для PBBG?


3
Також відповіді будуть засновані на думці. Деяким людям просто не подобається C #.
Алмо

6
@Almo І інші люди (як я) пригнічують PHP. Але я думаю, що мені вдалося написати нейтральну та корисну відповідь.
Філіпп

Я думаю, що тут ви знайдете вік як один із важливих факторів. PHP набагато старший та глибший, ніж C #.
Фарап

4
"здоровенна ціна Visual Studio" - 2017 Community Edition: 0. ДУЖЕ здоровенний.
TomTom

1
Що ви маєте на увазі під "здоровенною ціною Visual Studio"? Це був деякий час безкоштовно.
користувач1306322

Відповіді:


16

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

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

Ці додаткові накладні витрати можуть стати бар'єром для більшості розробників хобі, що може стати вагомим приводом для вибору PHP. Але коли любитель успіху в своїй грі і вирішить це зробити професійно, у них вже є наявна база коду і точно не почнеться з нуля. Таким чином, вони зберігатимуть свій стек LAMP-технологій, навіть якщо їхні початкові занепокоєння щодо його вибору вже не дійсні (коли ви запускаєте серйозну операцію на стеку LAMP, ви рано чи пізно потрапите на точку, коли спільний хостинг більше не скорочує його і вам потрібні власні сервери).

Але пам’ятайте, що якщо ви подивитесь на загальну вартість проекту на розробку PBBG, то, як правило, ви помітите, що витрати на хостинг та адміністрування серверів на етапі розробки - це лише невелика частка бюджету розвитку.

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


7
Користувачеві сервери фактично не потрібні для веб-додатків C #. Наприклад, див. Microsoft Azure.
Майкл Піттіно

11
Завдяки коду Visual Studio та / або спільноти Visual Studio, вартість входу для інструментів вже точно не є бар'єром для C #.
0xFF

1
@Erik З іншого боку, якщо ви використовуєте інструменти підрозділу, вам може знадобитися більше часу, щоб зрозуміти, що ваша ідея гри не працює, тому ви втрачаєте більше людської праці. Ще гірше: ви можете зрозуміти, що через 100 годин ваша гра не може бути зроблена за допомогою інструментів додаткової номінальної версії, які ви вибрали, але працюєте з більш дорогими інструментами, які потім доведеться купувати в будь-якому випадку (там були).
Філіпп

2
@TylerH Щоправда, хоча, оскільки сам компілятор C # безкоштовний (принаймні з Росліна), мені цікаво, де вони проводять лінію.
0xFF

4
І власне, з власної веб-сторінки VisualStudio для видання Community: "Будь-який окремий розробник може використовувати спільноту Visual Studio для створення власних безкоштовних або платних додатків".
0xFF

5

Інші відповіді правильні, але є історичний фактор, про який не згадували.

Коли я почав шукати завдання, донти та поради, я зрозумів, що багато проектів використовують 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 Script: https://docs.google.com/spreadsheets/d/1WM3axFhYaAtjiKd1KRwibx9jEegwjwCJNhQmXP_jztru=&sssput&&0put&ecss&&ppuk=&&tp=&&ppuk=&&spupu/&spupu/&spuk/&spupu/&spupu/&spupu/&suppu/&spout&&?p> N&E+&hl=uk&spuk&&p?hl=uk&s> N&E&T&?p> N&E&&p> N&E&t=& hl>

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


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

Просто пам’ятайте, що жанр вмирає прямо зараз, але все, що йому потрібно, це одна-дві популярні ігри, щоб оживити себе, якщо ви думаєте, що можете це зробити в C # Я буду вкорінювати для вас.


1
  • Ігри на основі браузера зросли в той час, коли C # був не дуже популярним, але PHP був. Так багато проектів зроблено на цих мовах, багато навчальних посібників було написано для цієї мови, і багато експертів з таких ігор прийняли PHP як свою основну мову, і тому вони вибирають її за замовчуванням,
  • PHP розглядається як мова, яка легко масштабує програми від невеликих до середніх розмірів, тоді як C # (і Java) часто розглядаються як порівняно важкі мови, що підходять для великих бізнес-додатків; Більшість PBBG потраплятиме до категорії малих та середніх розмірів проекту (принаймні спочатку / основна концепція гри без накопиченого кодового сміття).
  • Сервери LAMP були легкими, у багатьох хобі-розробників все одно був один, сервери C # були дорожчі; це все ще до певної міри, але вже не так сильно
  • PHP може здатися, що він краще відповідає роботі: він розроблений для відповіді на веб-дзвінок із вмістом / даними на основі HTML, саме те, що вам потрібно для бекенду гри в браузері (залежно від рівня фантазії); C # теж може це зробити, але може відчувати себе більш роздутим (або потужним),
  • це було, і, ймовірно, простіше придбати дешевих PHP-програмістів, ніж дешевих програмістів на C #, це вписується у відповідь на те, що PHP легко "потрапити", таким чином, часто мова переходить на швидку швидкість отримання основних базових "веб-сайтів", а також працює (а потім просто розширити цей прототип замість того, щоб переглядати свою технологію в довгостроковій перспективі та замінювати її)
  • ігри часто є швидкими пострілами, розробленими, загальновипробуваними, потім або успішними, або відкинутими; знову ж таки, це пов'язує із зображенням PHP, щоб бути порівняно хорошим, щоб швидко щось запустити

Резюме: Якщо ви не знаєте жодної (підходящої) мови (досить добре), я припускаю, що ви отримаєте "щось" і працює швидше з PHP. Але якщо ви вже знаєте відповідну мову на зразок C # і як налаштувати сервер / бекенд з ним, це не застосовуватиметься (якщо тільки ви не хочете використовувати певний движок на цій мові). Ця перевага прототипу PHP також може бути неіснуючою, тим складнішою / державною буде ваша гра.


2
"Для PHP вам потрібна лише одна мова (та HTML), щоб розпочати основну гру" - Те саме з C #. Зростання Javascript / Angular однаково в обох - запуск програми в браузері. Але asp.net може із задоволенням зробити html-генерацію на бекенді, схожому на PHP. Без різниці.
TomTom

@TomTom Щоправда, я усунув цю точку
Френк Хопкінс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.