2011-08-11 36 views
0

我从我自己的本土C++/DirectX 2D引擎制作了一堆游戏。我认为其中有些人会因为引入多人游戏而变得更加有趣,至少如果他们能够在浏览器中运行,分发它们并让人们玩起来会更容易。C++中是否有任何基于浏览器的支持多玩家的库?

我正在寻找将我的游戏移植到网络格式,我不认为有什么我在做Flash或Silverlight无法处理的事情。但是我不知道这些,所以虽然我可以学习新的东西,但如果我能在C++中找到某些东西,它会节省时间并使移植更容易。有谁知道一个最好是开源的,或者可以免费使用的库,我可以用它来给自己一个腿?

我听说过haXe,它看起来和我想要的很相似,虽然它引入了一种可以转换为C++,ActionScript等的新语言。我更喜欢C++,所以我可以重用一些代码而不需要太多大惊小怪。

我还发现了一些名为RakNet的东西,它可能只作为我现有C++/DirectX游戏的网络层,但对基于浏览器的游戏不太有用。有没有人用过这个成功?它是如何实施并与现有项目整合的?

回答

2

简短的回答是否定的。 C++要求将代码编译为二进制可执行文件,并且出于各种原因,不允许在浏览器中运行此类代码。

长的答案:Chromium/Google的native client允许您编写本机C++代码并在浏览器中运行它。然而,支持是非常有限的,因为几乎没有浏览器允许它(除了Chromium的一些实验性夜间构建等),并且在将C++代码移植到不同的OS时,您可能会遇到相同的问题(也就是说,仅仅因为它在浏览器中并不意味着它会在那个晦涩的Linux操作系统上运行)。

如果您想将游戏移植到网络上,您可以选择将其重新写入网络,或等待几年/几十年,让本地客户端广为流传。

Funfact:大多数移动设备允许使用最小包装来运行C++代码。这不是网络,但如果你的目标是让更多的人玩你的游戏,这是一个选择。

+0

谢谢,这就是我期待的。如果我要重写哪种技术,你会推荐? Flash,Silverlight,HTML5等。请注意,这只适用于客户端Web应用程序,我认为大部分工作都是服务器端。 – AJG85

+0

这几乎是一个完整的问题本身,并且取决于游戏。 Flash/Silverlight非常适合快节奏的动作游戏,HTML5使得与服务器通信变得非常容易。 Flash在游戏门户网站非常流行,Silverlight不如此,HTML5刚刚开始引起人们的注意。就我个人而言,我会从Flash/AS3开始,因为它是目前最“可行”的选择。 – thedaian

相关问题