PBBGでC#よりもPHPを使用する理由 [閉まっている]


10

私はC#開発者であり、永続的なブラウザーベースのゲーム(PBBG)を構築する趣味のプロジェクトを開始したいと考えていました。私はC#、MSSQL、Angularを使用しており、趣味のプロジェクトでもこれらのテクニックを使用すると思いました。

doやdonts、tipsを検索し始めたとき、多くのプロジェクトがPHPを使用しており、C#を使用したPBBGを実際には見つけていないことに気付きました。私が使用しているスタック(C#、MSSQL、Angular)はPBBGに適しているようです。

C#が使用されていないと考えることができる唯一の理由は、Visual Studioの高額な価格と、それがオープンソースではなかったという事実です。

他に理由はありますか、それともC#を使用するプロジェクトを見つけるのが苦手ですか?それとも私は自分の仕事が苦手で、このスタックがPBBGに適していないことに気付かないのでしょうか?


3
また、回答は意見ベースになります。C#が嫌いな人もいます。
Almo

6
@Almoそして、(私のような)他の人々はPHPを嫌う。しかし、それでも中立的で役立つ回答を書くことができたと思います。
フィリップ

ここでは、年齢が要因の1つであることがわかります。PHPはC#よりはるかに古く、より深く根付いています。
Pharap、

4
「Visual Studioの高額」-2017 Community Edition:0。非常に高額。
TomTom

1
「高額なVisual Studio」とはどういう意味ですか?しばらく無料です。
user1306322

回答:


16

PHPには、安価なウェブホスティング業者が非常に広くサポートしているという利点があります。ピーナッツ用の共有ホスティングLAMP(Linux、Apache、MySQL、PHP)ウェブスペースをレンタルできます。そして、そのウェブスペースはあなたのウェブサイトとゲームクライアントをホストすることもできます。ほとんどのPHPアプリケーションのセットアップも同様に簡単です。ファイルをWebサーバーにコピーするだけで完了です。これにより、testserverを実行するのが非常に簡単で便利になります。

一方、C#ゲームサーバーは、より複雑になる可能性があります。実際のrootserverを借りる必要があります。これはより費用がかかり、適切にセットアップして維持するためにはるかに多くの作業とノウハウを必要とします。C#がWebサーバー上で実行されているASP.NETアプリケーション(私に尋ねればPBBGのかなり単純なソリューション)を意味するのか、別のプロセスとして実行されているC#スタンドアロンアプリケーション(少し正統ではないが、機能する可能性がある)もっとアクション指向のゲームを持っているなら、かなりうまくいきます)。後者の場合は、ウェブサイトとゲームのクライアント側の部分をホストするために、ウェブサーバーをインストールまたはレンタルする必要あります。

この追加のオーバーヘッドは、ほとんどの趣味の開発者にとって障壁となる可能性があり、これはPHPを選択する正当な理由となります。しかし、趣味家がゲームで成功し、これを専門的に行うことに決めたとき、彼らはすでに既存のコードベースを持っているので、ゼロから始めることはありません。そのため、LAMPスタックを選択することに対する最初の懸念が無効になっても、LAMPテクノロジスタックを維持します(LAMPスタックで深刻な操作を実行しているときは、共有ホスティングがそれを切断しないポイントに遅かれ早かれ、独自のサーバーが必要です)。

ただし、PBBGの開発にかかる総プロジェクトコストを見ると、通常、開発フェーズでのサーバーのホスティングと管理のコストは、開発予算のごく一部にすぎないことに気付くでしょう。

したがって、使用するテクノロジーの決定は、最短の時間で最高のゲームを作成できるテクノロジーに基づいて行う必要があります。お金で購入できる最高のツール(あなたとあなたのプロジェクトに最適)を選択しても、お金はかかりません。お金を節約できます。


7
ルートサーバーは、C#Webアプリケーションには本質的に必要ありません。たとえば、Microsoft Azureを参照してください。
Michael Pittino、

11
Visual Studio CodeまたはVisual Studio Community、あるいはその両方を使用すると、ツールのエントリコストがC#の障壁になることはもうありません。
0xFF

1
@Erik一方、サブパーツールを使用する場合、ゲームのアイデアが機能しないことに気づくまでに時間がかかる可能性があるため、より多くの人間の労力を失うことになります。さらに悪いことに、100時間後には、選択した準標準ツールではゲームを作成できないが、とにかく(そこにいて)購入しなければならないより高価なツールで動作することに気付くかもしれません。
フィリップ

2
@TylerH確かに、C#コンパイラ自体は無料なので(少なくともRoslyn以降)、どこに線を引くのでしょうか。
0xFF

4
そして実際には、コミュニティエディションのVisualStudio独自のWebページから:「個々の開発者はVisual Studioコミュニティを使用して、独自の無料または有料アプリを作成できます」。
0xFF

5

他の答えは正しいですが、言及されていない歴史的要因があります。

doやdonts、tipsを検索し始めたとき、多くのプロジェクトがPHPを使用していて、実際にはC#を使用しているPBBGが本当に奇妙であることがわかりませんでした。

数年前までは、PBBG開発コミュニティーが2つのフォーラム(BBGameZoneとMakeWebGames)に主に存在し、どちらも主にPHPプログラマーで埋められていました。ゲームの作り方を知らなかった新人は、すべてPHPで作成されたBuildingBrowserGames.comのすばらしいチュートリアルを紹介されました。「PBBG」という用語は、主にこれら2つのフォーラムに接続している人々によって作成されたゲームに由来します。この用語を一般化して、プレイヤーが検索して、うまくいけばジャンルの衰退を遅らせることができる認識できる名前を付けるようにしました。単語を検索したときにPHPしか得られないのも不思議ではありません。

Im(C#、MSSQL、Angular)で動作するスタックはPBBGに適しているようです。

C#が使用されていないと考えることができる唯一の理由は、Visual Studioの高額な価格と、それがオープンソースではなかったという事実です。

私は、C#、MSSQL、Angularの使用を100%うまく行っていると思います。ほとんどのPHPエンジンが古いPHP4またはPHP5であることがわかります。

BBGameZoneの人々は主にエンジンの使用に反対でした(誰もが私を含む独自のエンジンを書いていました)MakeWebGamesの人々による新しいPHPエンジン(McCodesがメインの古いエンジンであり、NWE(New Worlds Engine)が考慮される)を得るための努力がありました途中で行われたと思われる新しいものとして)

これは、数年前のエンジン比較を含むGoogleドキュメントであり、McCode / NWE / ezRPG / GLスクリプトを比較しています。

古いコミュニティを元に戻すための過去の努力がありましたが、今のところあまり運がありません:https : //www.reddit.com/r/PBBG/comments/6r34vi/announcing_pbbgsite/


今後は、C#、MSSQL、Angularスタックを使用して100%大丈夫だと思います。おそらく、あなたがツールチェーンでPBBGを書く最初の人であり、過去の例なしにすべてを自分で作成する必要があることを覚えておいてください。振り返る。

ジャンルが今死んでいることを覚えておいてくださいが、それを復活させるために必要なのは1つまたは2つの人気のあるゲームだけです。C#でそれができると思ったら、応援します。


1
  • ブラウザベースのゲームは、C#がそれほど人気が​​なかったときに上昇しましたが、PHPは人気がありました。そのため、多くのプロジェクトはその言語で行われ、多くのチュートリアルはその言語用に書かれており、そのようなゲームの専門家の多くはPHPを主言語として採用しているため、デフォルトでPHPを選択しています。
  • PHPは、小規模から中規模のアプリケーションに簡単に拡張できる言語と見なされていますが、C#(およびJava)は、大規模なビジネスアプリケーションに適した比較的重い言語と見なされることがよくあります。ほとんどのPBBGは、小規模から中規模のプロジェクトカテゴリに分類されます(少なくとも最初は、コードのゴミが蓄積されないコアゲームのコンセプトです)。
  • LAMPサーバーは簡単に持つことができ、多くの趣味の開発者はとにかく1つしか持っていませんでした。C#サーバーの方が高価でした。これはまだある程度は保持されますが、それほど強くはありません
  • PHPは、仕事に適しているように感じるかもしれません。HTMLベースのコンテンツ/データでWeb呼び出しに応答するように設計されており、ブラウザーゲームのバックエンドに必要なもの(空想レベルによって異なります)。C#でも同じことができますが、肥大化(または強力)に感じる可能性があります。
  • 安価なC#プログラマーよりも安いPHPプログラマーを入手する方が簡単でした。これは、PHPが簡単に「入る」ことができるため、goto言語を使用して基本的な「ウェブサイト」をすばやく稼働させることができます。長期的にテクノロジーを再検討して置き換えるのではなく、そのプロトタイプを拡張します)
  • 多くの場合、ゲームはクイックショットであり、開発され、公にテストされた後、成功するか破棄されます。繰り返しになりますが、これはPHPのイメージと結びついて、何かをすばやく実行するのに比較的良いものです

意見のまとめ:(適切な)言語がまったく分からない場合は(十分な程度)、PHPを使用すると「何か」が早く動作するようになります。ただし、C#のような適切な言語と、それを使用してサーバー/バックエンドを設定する方法をすでに知っている場合、これは当てはまりません(その言語で特定のエンジンを使用する場合を除きます)。PHPのこのプロトタイピングの利点は、ゲームがより複雑でステートフルになることもありません。


2
「PHPを使用すると、基本的なゲームを実行するのに必要な言語は1つ(およびHTML)だけです」-C#と同じです。JavaScript / Angularの台頭は両方とも同じです。つまり、ブラウザーでアプリを実行します。しかし、asp.netは、PHPと同様に、バックエンドでHTMLを生成できます。違いはありません。
TomTom

@TomTom true、そのポイントを削除しました
フランクホプキンス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.