Ich bin ein C # -Entwickler und wollte ein Hobbyprojekt starten, um ein dauerhaftes browserbasiertes Spiel (PBBG) zu erstellen. Ich arbeite mit C #, MSSQL und Angular und dachte, ich würde diese Techniken auch für mein Hobbyprojekt verwenden.
Als ich anfing, nach Do and Donts und Tipps zu suchen, stellte ich fest, dass viele Projekte PHP verwenden und ich mit C # tatsächlich keine PBBG gefunden habe, was ich sehr seltsam finde. Es scheint, als könnte der Stack, mit dem ich arbeite (C #, MSSQL, Angular), zu einer PBBG passen.
Der einzige Grund, warum ich mir vorstellen kann, dass C # nicht verwendet wird, ist der hohe Preis von Visual Studio und die Tatsache, dass es kein Open Source war.
Gibt es einen anderen Grund oder bin ich nur schlecht darin, Projekte zu finden, die C # verwenden? Oder kann es sein, dass ich nur schlecht in meiner Arbeit bin und nicht weiß, dass dieser Stack nicht gut für PBBG ist?
quelle
Antworten:
PHP hat den Vorteil, dass es von billigen Webhostern sehr häufig unterstützt wird. Sie können einen gemeinsam genutzten LAMP-Webspace (Linux, Apache, MySQL, PHP) für Erdnüsse mieten. Dieser Webspace kann auch Ihre Website und den Spieleclient hosten. Die Einrichtung der meisten PHP-Anwendungen ist ebenso einfach. Kopieren Sie einfach die Dateien auf den Webserver und Sie sind fertig. Dies macht es sehr einfach und bequem, einen Testserver zum Laufen zu bringen.
AC # gameserver hingegen kann komplizierter sein. Sie müssen einen tatsächlichen Rootserver mieten, der teurer ist und viel mehr Arbeit und Know-how erfordert, um ordnungsgemäß einzurichten und zu warten. Sie haben nicht geschrieben, ob C # eine ASP.NET-Anwendung bedeutet, die auf einem Webserver ausgeführt wird (eine ziemlich einfache Lösung für eine PBBG, wenn Sie mich fragen) oder eine eigenständige C # -Anwendung, die als separater Prozess ausgeführt wird (etwas unorthodox, funktioniert aber möglicherweise ganz gut, wenn Sie ein aktionsorientierteres Spiel haben). Wenn Sie letzteres meinen, müssen Sie auch einen Webserver installieren oder mieten, um Ihre Website und die clientseitigen Teile Ihres Spiels zu hosten.
Dieser zusätzliche Aufwand kann für die meisten Hobbyentwickler ein Hindernis sein, was ein guter Grund sein kann, sich für PHP zu entscheiden. Aber wenn ein Hobbyist mit seinem Spiel erfolgreich ist und sich dazu entscheidet, dies professionell zu tun, hat er bereits seine vorhandene Codebasis und wird sicherlich nicht bei Null anfangen. Sie behalten also ihren LAMP-Technologie-Stack bei, obwohl ihre anfänglichen Bedenken hinsichtlich der Auswahl nicht mehr gültig sind (wenn Sie eine ernsthafte Operation auf einem LAMP-Stack ausführen, werden Sie früher oder später einen Punkt erreichen, an dem Shared Hosting ihn nicht mehr schneidet und Sie benötigen Ihre eigenen Server).
Denken Sie jedoch daran, dass Sie bei Betrachtung der Gesamtprojektkosten für die Entwicklung einer PBBG in der Regel feststellen werden, dass die Kosten für das Hosting und die Verwaltung von Servern während der Entwicklungsphase nur einen winzigen Bruchteil des Entwicklungsbudgets ausmachen.
Ihre Entscheidung, welche Technologie Sie verwenden möchten, sollte also von welcher Technologie abhängen. So können Sie in kürzester Zeit das beste Spiel erstellen. Die Auswahl der besten Werkzeuge, die man für Geld kaufen kann (am besten für Sie und Ihr Projekt ), kostet Sie kein Geld, sondern spart Geld.
quelle
Die anderen Antworten sind richtig, aber es gibt einen historischen Faktor, der nicht erwähnt wurde.
Bis vor ein paar Jahren gab es eine PBBG-Entwicklergemeinschaft, die hauptsächlich in zwei Foren existierte: BBGameZone und MakeWebGames, beide überwiegend mit PHP-Programmierern besetzt. Neulinge, die nicht wussten, wie man ein Spiel macht, wurden auf die fantastischen Tutorials auf BuildingBrowserGames.com verwiesen, die alle in PHP waren. Der Begriff "PBBG" stammt hauptsächlich aus Spielen von Leuten, die mit diesen beiden Foren verbunden sind. Es wurde versucht, den Begriff so bekannt zu machen, dass das Genre einen erkennbaren Namen hat, nach dem die Spieler suchen und hoffentlich den Niedergang des Genres verlangsamen können. Es ist kein Wunder, wenn Sie nur PHP erhalten, wenn Sie nach dem Begriff suchen.
Ich denke, Sie sind zu 100% in Ordnung, wenn Sie C #, MSSQL und Angular verwenden. Sie werden feststellen, dass die meisten PHP-Engines veraltetes PHP4 oder PHP5 sind.
Die Leute von BBGameZone waren größtenteils gegen die Verwendung von Engines (jeder schrieb seine eigene Engine, einschließlich mir). Die MakeWebGames-Leute bemühten sich, neue PHP-Engines zu installieren (McCodes war ihre wichtigste alte Engine und NWE (New Worlds Engine) wurde in Betracht gezogen als die wahrscheinliche neue, die auf halbem Weg gemacht wurde)
Hier ist ein Google-Dokument mit einem Engine-Vergleich von vor einigen Jahren, in dem McCode / NWE / ezRPG / GL-Skript verglichen wird: https://docs.google.com/spreadsheets/d/1WM3axFhYaAtjiKd1KRwibx9jEegwjwCJNhQmXP_jzss/pub?single=trout&
Es gab in der Vergangenheit Bemühungen, die alte Community wieder zusammenzubauen, aber bisher nicht viel Glück: https://www.reddit.com/r/PBBG/comments/6r34vi/announcing_pbbgsite/
Ich denke, Sie werden in Zukunft 100% OK sein, wenn Sie einen C # -, MSSQL- oder Angular-Stack verwenden. Denken Sie jedoch daran, dass Sie wahrscheinlich die erste Person sind, die eine PBBG mit Ihrer Toolchain schreibt, und dass Sie alles selbst erstellen müssen, ohne Beispiele aus der Vergangenheit blicken zurück auf.
Denken Sie daran, dass das Genre gerade im Sterben liegt, aber alles, was es braucht, sind ein oder zwei beliebte Spiele, um sich wiederzubeleben. Wenn Sie glauben, dass Sie dies in C # tun können, werde ich für Sie Wurzeln schlagen.
quelle
Opinionated Summary: Wenn Sie keine (geeignete) Sprache kennen (gut genug), würde ich davon ausgehen, dass Sie mit PHP "etwas" schneller zum Laufen bringen. Wenn Sie jedoch bereits eine geeignete Sprache wie C # kennen und wissen, wie Sie einen Server / ein Backend damit einrichten, gilt dies nicht (es sei denn, Sie möchten eine bestimmte Engine in dieser Sprache verwenden). Dieser Prototyping-Vorteil von PHP ist möglicherweise auch nicht vorhanden, je komplexer / aktueller Ihr Spiel sein wird.
quelle