【发布时间】:2009-06-10 09:03:28
【问题描述】:
目前,我正在从《Java 的艺术与科学》一书中学习 Java,并遵循斯坦福的编程方法课程。
我想做游戏编程,但只是作为一种爱好。
我在想,Java 是一个不错的选择,还是 C++ 是游戏编程中的事实。
【问题讨论】:
-
嗯,什么样的游戏?
目前,我正在从《Java 的艺术与科学》一书中学习 Java,并遵循斯坦福的编程方法课程。
我想做游戏编程,但只是作为一种爱好。
我在想,Java 是一个不错的选择,还是 C++ 是游戏编程中的事实。
【问题讨论】:
既然你正在学习 Java,我建议你坚持下去。
如果您只是为了好玩而开发游戏,那么您使用什么语言并不重要。
【讨论】:
这取决于,您想了解更多有关 C++ 的信息吗?你需要知道吗? Java 中仍有可用的 OpenGL 库,无论您使用哪种语言,这些概念基本上都是相同的。如果只是出于爱好,那么我看不出使用 Java 有什么问题。然而,就速度而言,更喜欢低级语言。
【讨论】:
两者都可以。出于爱好,它们都对图形等提供了很好的低级支持,并且都具有很好的游戏高级库(jMonkey 引擎、SDL、SFML、Ogre 等等)。
您也可以考虑其他语言。 Python 具有称为 PyGame 的 SDL 绑定。 C# 有 XNA 框架,现在已经出版了几本书来帮助学习框架。 SFML 绑定了 C++、C、D、Ruby,我认为是 Python。所有这些都适合用于创建游戏。只需选择一种语言即可。
【讨论】:
如果你问我,Java 或 C++ 都不是有趣的语言。它们都有很多优点,但如果你只是为了好玩而没有截止日期,我会寻找一种更有趣的语言。像 Python 或类似的东西。
【讨论】:
如果你想制作游戏,你真的需要一个游戏平台和一种语言,否则你将把所有的时间都花在解决如何在屏幕上绘制精灵等基本问题上,而不是专注于构建一个有趣的游戏。
爱好游戏开发的最佳选择是:
【讨论】:
您可以使用这两种语言编写游戏,但我认为您真的应该尝试 C++。用 C++ 编写的高级库和游戏引擎比 Java 多得多,因此更容易找到适合您需求的库和游戏引擎。更不用说很多老游戏已经开源了,你可以免费下载和研究代码。你可以猜出他们使用的是什么语言;)
您还会发现更多使用 C/C++ 教授游戏编程的教程和书籍。
无论您最终选择什么,尽情享受编写游戏的乐趣吧 :)
【讨论】:
如果你使用 Java,我推荐Computer Graphics for Java Programmers, by Leen Ammeraal。
如果您正在开发商业游戏,您将使用库而不是自己实现这些算法,但是一旦您了解了基础知识就会更容易,您可以从像这本书这样的书中学习。
我曾经用 Java 为 DOOM 克隆写过一个软件渲染器,这本书作为参考很有帮助。
【讨论】:
C++ 是事实上的语言,不仅适用于游戏开发,而且适用于几乎所有其他方面,包括您使用的浏览器及其运行的操作系统。
因此,如果您正在考虑认真对待 C/C++ 编程,那么您应该排在首位。
C++ 的速度一般比 Java 快。 为什么一般?嗯,事实是 C++ 比 Java 快,实际上比几乎所有其他东西都快,但有时 C++ 代码可能写得不好,Java 可能会阻止初学者犯一些错误,从而导致许多声称 Java 与 C++ 一样快,甚至有人声称 Python/Psyco 与 C++ 一样快并且比 Java 更快。
请记住,为框架(Java、.NET、VB 等)编写的任何程序都不会比在 C/C++ 等较低级别(直接在操作系统甚至硬件上)运行的程序运行得更快、ASM、Pascal 等。
看看这个:
Poorly written C++ half the speed of Java, properly written is much faster
最后,您应该使用您觉得更舒服的语言,记住 python 是企业级的、商业化的、稳定的、非常适合初学者,在“Web 2.0”项目中使用非常棒,更不用说也很有趣。
【讨论】:
Java - 我建议坚持使用并精通它。这些想法保持不变,随着您对单一语言的深入了解,您将开始了解当今许多编程方法和语言中普遍存在的缺点和优点。
【讨论】:
即使您从未打算从事专业游戏开发,C++ 也有一大优势,那就是您拥有更多可用资源。有更多书籍、更多在线教程、更多开源示例可供查看,更多人将能够在 gamedev.net 等网站上回答您的问题。
【讨论】:
我用 C++ 和 Java 开发了几个小游戏,我每次都会选择 C++。它为您提供了 Java 无法获得的低级控制。但游戏开发是完全不同的野兽。因此,如果您想学习游戏开发,请从您喜欢的事物开始
【讨论】:
如果您认为自己有朝一日可能想在该行业工作,那么您应该学习 C++。 C++ 用于制作几乎所有在 PC/xbox/ps3 上运行的商业游戏。我认为 wii 是一样的,但我不知道 100%,我从来没有在 wii 上工作过。
我曾经工作的游戏工作室(在它关闭之前)使用 C++ 开发游戏(小部分使用 C 和汇编程序),并且开始使用 C# 作为工具。
如果它只是一种爱好,那么你使用什么语言并不重要。
【讨论】:
我建议尝试使用 C 语言 Haaf's Game Engine。它是非常简单的 2D 引擎,具有良好的文档、教程和示例,可在 Windows 98 及更高版本上运行,即使用于商业用途也完全免费!
如果您是游戏开发的新手,恕我直言,它适合您。
【讨论】:
只是一个爱好?如果您使用的是Java,那么Java。但首先,你在编程什么,2-D 或 3-D 游戏? Java 两者都做,它是我的游戏编程语言,但我只做二维程序。 C++ 是严肃游戏编程的事实标准,尤其是商业游戏。
Java 有一个很棒的 IDE,叫做 Eclipse,对我来说,它值得自己做 Java...Eclipse 太棒了!而且是免费的。
C# - 不。太依赖微软了。
顺便说一句,如果您计划得当,Java 将作为小程序和应用程序运行,该应用程序可在所有三个平台上运行...
所以,考虑一下。低投资、高质量工具、跨平台。如果你决定进入 C++,那也没关系。至少你会免费弄湿你的脚趾...... ;-)
【讨论】:
语言定义目标平台和公共。 Java 和 C++ 都有优点和缺点。您将在任何平台上使用相同的架构和算法。如果你知道如何用 C++ 编写游戏,那么用 java 编写游戏需要一点时间(我需要 2 周 http://madeinsoviets.net/)。 开始使用 C++ 和一些简单的游戏引擎(Ogre3D、irrlight)学习游戏编程 - 更多信息和教程。
【讨论】:
老话题,但由于人们仍在阅读这篇文章,我想添加我的 2c,因为它是独一无二的 到这篇文章。
坚持使用 java,如果您将它作为一种爱好,它是通过 c++ 制作游戏的好方法 出于这两个原因,您自己。
【讨论】:
如果您只是将其作为一种爱好,那可能没关系。只需使用您最舒服的任何东西,您就可以开始游戏编程。一旦你变得更好,你可能想弄清楚什么是“最好的”语言。
【讨论】:
如果您的意图是一般游戏编程,我肯定会推荐 C++。当然,如果您想为诺基亚和爱立信这样的移动平台进行开发,那么 Java 可能是一个好主意。
但如果是用于一般桌面游戏,那么绝对是 C++。如果您想通过网络部署游戏,那么 Flash 也可能是一个好主意。
【讨论】:
如果您打算进入这个行业(或者也许有一天开始自己销售您的游戏),那么您必须学习 C++。
Java 或 C# 是创建游戏的好选择,无需过多担心机器(内存和速度)。建议初学者使用,但我个人会直接从 C++ 开始。
【讨论】:
如果您正在研究游戏编程,那么 C++ 是您的最佳选择。 Java 确实适用于某些游戏,但 C++ 的速度要快得多。
我以前用 Java 编码,然后开始用 C++ 编码。我花在 C++ 编码上的时间让我理解了某些在 Java 中被大大简化的东西。
根据您的编程经验,我建议您先学习 Java 的基础知识,然后再学习 C++。
【讨论】:
如果你从 Java 开始,我推荐这本书Physics for Game Programmers
【讨论】:
在一般中,C++ 用于真正的游戏。
无论我使用什么平台或程序,Java 对我来说总是很慢。
C# 比 Java 好,但不如 C++。
是的,也有例外,但它们如此引人注目的事实证明,除非你真的知道自己在做什么,否则 C++ 才是正确的选择。
【讨论】: