请允许我支持 C#,尤其是 XNA。
通过使用 Mono(包括 MonoTouch 和 MonoDroid 等付费库),您可以让 C# 几乎在任何地方(例如)运行。C# 对于游戏开发来说当然足够快。运行时非常稳定。它可以通过 Silverlight 在浏览器中运行。
在我看来,C# 作为一门语言优于 Java,尤其是对于游戏开发,尤其是考虑到工具和库的支持——尤其是 XNA。
XNA 是一个游戏开发库(在范围上类似于 DirectX),还有很多为 XNA 构建的库。此外,它还拥有迄今为止最好的示例代码库。
XNA 在 Windows、Xbox 360、Windows Phone 7 和 Zune(旧版本)上本机运行。
在 PC 上,C# 和 XNA 都需要运行时。Microsoft 的 ClickOnce 安装程序使这非常容易。它为您的用户提供一个引导安装程序,然后根据需要从 Microsoft 下载并安装运行时。.NET 4.0 客户端配置文件为 41MB,XNA 4.0 为 7MB。这个答案有更多细节。
此外,还有将 XNA(仅限 2D API)移植到其他平台的项目。我目前正在资助一个名为 ExEn 的项目,目标是为浏览器 (Silverlight)、iOS、Android 和 Mac 带来高质量的 2D XNA 实现。
如果你等不及 ExEn,你可以试试它所基于的一些库——SilverSprite (Silverlight) 和 XnaTouch (iOS)。SilverSprite 有很多问题,XnaTouch 更好一些。
(目前,如果您想在这些平台上制作3D游戏,Unity 可能是更好的选择。)