我的应用程序的最佳网络实现是什么?

时间:2010-06-15 18:17:32

标签: architecture network-programming client-server match multiplayer

我正处于自己项目的计划阶段,它是一个单人和多人纸牌游戏。我想跟踪每个人的统计数据,例如世界排名等......

我的问题是我不知道客户端的最佳方法 - 服务器架构和编程。我最初的目标是用C#编写所有内容,因为我希望能够熟练使用该语言。我最初的想法是让一个后端数据库和一个后端服务器在互联网上的某种托管上运行,但对于这样一个可能会或可能不会赚钱的小项目而言,这似乎很昂贵。

我尝试过研究云服务,但我不熟悉这项技术,而且我不确定能否满足我的需求,特别是因为大多数像Google的云要求你根据我的理解使用他们的编码架构。 / p>

最后我的最后一个问题是我想要一个可以用于不同语言的架构,以便我可以将它从PC移植到iPhone,Xbox等......

那么有人对最佳架构和语言有任何建议吗?

我是否担心架构和后端成本太多,应该专注于让游戏以任何方式运行?

2 个答案:

答案 0 :(得分:0)

我认为成本问题(例如数据库托管)是一个商业决策,而不是技术决策。你想赚钱吗?您将为您的游戏拥有多少用户,以及他们将通过例如广告直接或间接支付的费用。您可以选择任何语言/数据存储的托管解决方案。我怀疑你需要“云”解决方案,但标准数据库(MSSQL,MySQL,Postgres等)应该做得很好,其中一个几乎任何托管计划都可以让你部署自己的代码。

关于技术,C#是Web应用程序的完美选择,如果学习它是一个目标,那么一定要使用它。在为托管付费之前,你肯定应该在自己的计算机上开发一款可以运行的游戏(在本地工作后你仍然需要部署和测试托管版本。)

至于你关于转移到其他非PC平台的最后一个问题,我担心你在那里大部分都不走运。 C#/ .NET将帮助您部署到基于Windows的手机,但对于iPhone,你必须使用Apple的SDK和环境。我不知道XBox。我在这里给出的最好的建议是抽象你的层(例如MVC架构),并在它们之间保持清晰且记录良好的分离。这样,您可以重新实现iPhone上的视图和控制器,但仍然可以使用您的集中数据模型。

答案 1 :(得分:0)

即使对于iPhone和Xbox,C#也是一种很棒的语言。使用Microsoft's XNA框架,您可以为PC,Xbox和Zune编写客户端卡应用程序,而无需更改任何代码。如果您正在考虑iPhone,那么您应该稍后考虑MonoTouch,这可以让您为iPhone编写C#。您还可以使用Silverlight来为Web编写富客户端。因此,我绝对建议使用C#,无论是学习还是以后再投入使用。

至于在互联网上使用服务器,我建议只安装SQL Server Express版。这样,您可以在本地计算机上单独运行服务器,与客户端一起运行,以节省必须为主机付费的费用。然后,当您准备好之后,您可以将其移动到Web托管的SQL Server实例,或者在您准备好之后免费使用MySQL等。