为什么要在PBBG上使用C#上的PHP?[关闭]


10

我是C#开发人员,想启动一个业余项目,构建一个基于浏览器的持久性游戏(PBBG)。我使用C#,MSSQL和Angular,并认为我也将这些技术用于我的业余项目。

当我开始搜索“做与不做”和“技巧”时,我意识到很多项目都使用PHP,而实际上我并没有发现任何使用C#的PBBG,我觉得这很奇怪。似乎我正在使用的堆栈(C#,MSSQL,Angular)可能适合PBBG。

我能想到的不使用C#的唯一原因是Visual Studio的高昂价格以及它不是开源的事实。

还有其他原因吗,或者我只是不好找使用C#的项目?还是可能我只是在工作上表现不好而没有意识到此堆栈对PBBG不利?


3
答案也将基于意见。有些人只是不喜欢C#。
Almo '18年

6
@Almo和其他人(如我)讨厌PHP。但是我认为我仍然能够写出中立且有用的答案。
菲利普

我认为您会发现年龄是其中的重要因素之一。PHP比C#古老得多,根深蒂固。
法拉普

4
“ Visual Studio的高价”-2017社区版:0。非常高。
TomTom

1
“ Visual Studio的高价”是什么意思?它已经免费了一段时间。
user1306322

Answers:


16

PHP的优势在于,廉价的Web托管商广泛支持它。您可以租用一些共享主机的LAMP(Linux,Apache,MySQL,PHP)网站空间。该网站空间还可以托管您的网站和游戏客户端。大多数PHP应用程序的设置同样简单。只需将文件复制到Web服务器即可。这使得运行测试服务器非常容易和方便。

另一方面,AC#游戏服务器可能更复杂。您需要租用实际的rootserver,价格昂贵,而且需要更多的工作和专门知识来正确设置和维护。您没有写C#是指在Web服务器上运行的ASP.NET应用程序(如果您要问的话,它是PBBG的直接解决方案),还是C#独立应用程序作为单独的进程运行(有点不合常规,但可能会起作用)如果您有更注重动作的游戏,那就更好了。如果您是说后者,则需要安装或租用网络服务器来托管您的网站和游戏的客户端部分。

额外的开销可能是大多数爱好开发人员的障碍,这可能是选择PHP的一个很好的理由。但是,当业余爱好者在游戏中取得成功并决定以专业方式进行游戏时,他们已经拥有了现有的代码库,并且肯定不会从头开始。因此,即使他们最初对选择LAMP的担心不再成立,他们仍将保留其LAMP技术堆栈(当您在LAMP堆栈上进行认真的操作时,您迟早会遇到共享主机不再削减它的情况,并且您需要自己的服务器)。

但是请记住,如果您查看开发PBBG的总项目成本,那么您通常会注意到,在开发阶段用于服务器托管和管理的成本只是开发预算的一小部分。

因此,您决定使用哪种技术应取决于哪种技术,从而使可以在最短的时间内创建出最佳的游戏。选择金钱可以买到的最佳工具(最适合您和您的项目)不会花费您的金钱,却可以节省金钱。


7
对于C#Web应用程序,根本不需要root服务器。例如,请参阅Microsoft Azure。
Michael Pittino

11
使用Visual Studio Code和/或Visual Studio社区,这些工具的入门成本对于C#无疑不再是障碍。
0xFF

1
@Erik另一方面,如果您使用低于标准的工具,则可能需要更长的时间才能意识到您的游戏理念行不通,因此您将失去更多的人工。更糟糕的是:您可能会在100小时后意识到,您无法使用所选的低于标准的工具来制作游戏,而是会使用更昂贵的工具,而无论如何您都必须购买(在那里)。
菲利普

2
@TylerH是的,尽管自从C#编译器本身是免费的(至少自从Roslyn起),我不知道它们在哪里画线。
0xFF

4
实际上,从VisualStudio自己的社区版网页上可以找到:“任何开发人员都可以使用Visual Studio社区来创建自己的免费或付费应用程序”。
0xFF

5

其他答案是正确的,但有一个历史因素尚未提及。

当我开始搜索“做与不做”和“技巧”时,我意识到很多项目都使用PHP,而实际上我没有发现任何使用C#的PBBG,我觉得这很奇怪。

直到几年前,还存在一个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(新世界引擎)被认为是新引擎)。作为可能已经完成一半的新产品)

这是几年前进行引擎比较的Google文档,比较了McCode / NWE / ezRPG / GL脚本:https ://docs.google.com/spreadsheets/d/1WM3axFhYaAtjiKd1KRwibx9jEegwjwCJNhQmXP_jzss/pub?single = true&gid

过去一直在努力使旧社区重新团结起来,但到目前为止运气不佳:https//www.reddit.com/r/PBBG/comments/6r34vi/announcing_pbbgsite/


我认为,使用C#,MSSQL,Angular堆栈可以100%地继续前进,请记住,您可能是第一位使用工具链编写PBBG的人,并且您必须自己创建所有内容,而无需任何过去的示例往回看。

请记住,这种类型现在正在消亡,但是它只需要一两个流行的游戏就可以自我复兴,如果您认为可以在C#中做到这一点,我将为您加油。


1
  • 在C#不太流行但PHP流行的时候,基于浏览器的游戏兴起了。使用该语言完成了许多项目,为此语言编写了许多教程,并且此类游戏中的许多专家都将PHP作为主要语言,因此默认情况下选择它,
  • PHP被视为一种易于从中小型应用程序扩展的语言,而C#(和Java)通常被视为适用于大型业务应用程序的相对较重的语言。大多数PBBG都将属于中小型项目类别(至少在最初/核心游戏概念中没有累积的代码垃圾)。
  • LAMP服务器很容易拥有,无论如何,很多爱好开发人员只是拥有一个,C#服务器更昂贵。这在某种程度上仍然成立,但不再那么强烈了
  • PHP可能觉得它更适合自己的工作:它旨在通过基于HTML的内容/数据来响应Web调用,正是基于浏览器游戏的后端所需的(取决于幻想程度);C#也可以做到这一点,但可能会感到肿(或功能强大),
  • 廉价的PHP程序员比廉价的C#程序员更容易获得,这与PHP易于“入门”相一致,因此通常goto语言可以快速启动并运行一些基本的“网站物”(然后扩展该原型,而不是从长远考虑重新考虑您的技术并进行替换)
  • 游戏通常是快速射击,开发,公开测试,然后成功或被丢弃;再次,这与PHP的形象有关,可以使某些东西快速运行

总结:如果您不懂(合适的)任何语言(足够好),我认为您可以使用PHP来“快速入门”并运行得更快。但是,如果您已经知道合适的语言(例如C#)以及如何使用它来设置服务器/后端,则该方法将不适用(除非您想以该语言使用特定的引擎)。PHP的这种原型优势可能还不存在,因为您的游戏将更加复杂/充满状态。


2
“使用PHP,您只需要一种语言(和HTML)就可以运行基本游戏”-与C#相同。两种情况下Javascript / Angular的兴起都是一样的-在浏览器中运行应用程序。但是asp.net可以像PHP一样在后端愉快地进行html生成。无差异。
TomTom

@TomTom是的,我删除了这一点
Frank Hopkins,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.