我用我自己开发的C ++ / DirectX 2D引擎制作了一堆游戏。我认为随着多人游戏的推出,其中一些会更有趣,至少如果他们可以在浏览器中运行,分发它们并让人们玩游戏会更容易。
我希望将我的游戏移植到网络格式中,我认为我没有做任何Flash或Silverlight无法处理的事情。但是我不知道其中任何一个,所以当我能学到新的东西时,如果我能在C ++中找到一些东西,它可以节省时间并使移植更容易。有没有人知道一个优秀的开源,或者其他免费提供的库,我可以用来给自己一个腿?
我听说过Haxe,它似乎与我想要的类似,虽然它引入了一种可以转换为C ++,ActionScript等的新语言。我更喜欢C ++,所以我可以重用一些代码而不用大惊小怪。
我还发现了一些名为RakNet的东西,它可能只是作为我现有C ++ / DirectX游戏的网络层,但对于基于浏览器的游戏则没用。有没有人用过这个成功的?如何实施和整合现有项目?
最简洁的答案是不。 C ++要求将代码编译成二进制可执行文件,并且由于各种原因,不允许在浏览器中运行此类代码。
答案很长:Chromium / Google的native client允许您编写本机C ++代码并在浏览器中运行它。但是,支持是非常有限的,在某种意义上,几乎没有浏览器允许它(超出Chromium的一些实验性夜间版本等),并且当将C ++代码移植到不同的操作系统时,您可能会面临同样的问题(aka,仅仅因为它在浏览器中并不意味着它将在那个不起眼的Linux操作系统上运行。
如果您想将您的游戏移植到网络上,您可以选择将其重新编写为网络,或者等待几年/几十年以使本地客户端变得普遍。
Funfact:大多数移动设备允许使用最小的包装器运行C ++代码。这不是网络,但如果您的目标是让更多人玩游戏,那么这是一个选择。