我是否由于不了解C ++进行游戏设计而伤害自己?[关闭]


14

现在,我觉得自己在Java和C#方面都很强。(从一个到另一个的跳跃并不多)。

虽然我并不期望游戏设计师/程序员会在我职业生涯的早期实现目标,但这是我在职业生涯后期将会实现的目标。

考虑到这一点,我感到无视C ++和与其相关的游戏设计工具最终会伤害我或使我达到目标的能力减慢。

是这样吗 还是我可以继续使用XNA和WPF磨练自己的C#技能来开展个人项目,从而使我从事这样的职业?


1
去看看游戏公司的职位,告诉我你所看到的。您可能会发现,您的网络/ facebook游戏人群主要是在寻找actionscript / php开发人员,在台式机人群是在寻找c ++ / lua,而i-gadget人群则在使用Objective-c。这取决于您是否真正要伤害自己。(这来自专注于C#和python而忽略c ++的人)
Ken Ken

Answers:


21

IMO,是的,您可能会伤害自己。首先,对与错在编程语言之间存在一种可感知的层次结构-并且C ++通常比Java或C#具有更高的地位(例如,像您这样的问题相当普遍-实际上是闻所未闻的)。如果您在使用C#或Java的应用程序中了解C ++,那么他们就不太可能质疑您的编程能力。如果您在使用C ++的应用程序上了解C#和Java,那么很有可能,他们至少会在某种程度上质疑您的编程能力。这并不是说无法克服这种看法,但是您仍然使自己处于劣势。

其次,至少在我认识的独立游戏开发人员中(公认的,不是很多),由于C#来自微软,因此对C#有一些基本的厌恶。人们对Sun的看法更为积极,但是由于Oracle的收购,这种情况似乎已不再存在。大多数人认为“甲骨文”和“酷游戏”与人类可能的对立面差不多。

最后,从实际的角度来看,游戏是使用C ++最多的地方之一。如果您至少在一定程度上不了解C ++,那么它只会大大限制您的选择。


5

尚不完全清楚,但是您的目标是什么?成为游戏设计师?您认为该职位是/在做什么?

在基本情况下,只要您不编写实际代码,不专门了解C ++都不会伤害您。当然,其本身编程(面向对象的设计,并能够认为条件句而言,等)的基本认识会帮助你。与帮助设计易于用代码描述的游戏规则相比,C ++本身与C#或Java所做的事情可能无关紧要。


3

这实际上取决于您的目标。如果您想尽快进入设计领域并逐步成为一名主管,那么您对Java和C#的充分了解将是足够的技术背景。

如果您打算将自己的工作提升到高级/领导编程职位,然后从那里升任主管职位,则最好学习某种非托管语言。不一定是C ++-C,Objective C或其他类似D的东西都可以。但是,即使在C#中以更高的抽象级别工作,也很难成为一个优秀的程序员,如果不了解指针和内存管理,不能够读取程序集和内存转储,不能够理解甚至不真正实现低级优化。

我还应该补充一点-如果您现在不在行业内,那么规划20年的规划是愚蠢的。也许您会发现自己讨厌它;也许您会发现,由于涉及到所有与开发无关的问题,您不想担任董事,而您宁愿留在高级设计师或程序员的领导下工作,但在特定的工作中有很大的自由度您喜欢的域名。


2

使用您知道的语言,您可能会没事的;XNA的C#现在很流行,因为您可以开发到XBOX360,Zune和PC。由于Minecraft在Java上的独立成功,Java的流行又回来了。

我当时的处境与您相似,因此决定“重新开始”,以便与C ++对话。两周前,我购买了“通过游戏编程开始C ++”。它不是一本游戏编程书籍,而是一本C ++初学者书籍,它涵盖了使用其他API或库对游戏进行编程时需要用C ++掌握的所有知识,并用更多与游戏相关的项目代替了无聊的项目。这是一本很棒的书。

现在,我进入DirectX,并购买了卡尔·格兰伯格(Carl Granberg)撰写的名为“在DirectX中编程RTS游戏”的书。它有很棒的评论。我仍然不确定是否在OpenGL上使用DirectX做出了错误的决定,但我们会看到。


2

学习更多的语言只会对您有利。即使几乎所有专业引擎都使用(或应该使用)脚本和/或广泛的工具来简化设计者的易用性,但您的正确性在于,拥有专门从事的项目对您有很大帮助。即使您的面试官不关注您的项目(这已经不太可能了),即使是进行一个个人项目,也将是一次巨大的学习经历。

对于设计师和艺术家来说,产品组合可能更为重要,因为您不能参加编程测试或进行直接的技术面试。因此,我并不是说您应该精疲力尽,学习有关C ++的所有知识。

相反,无论是您自己开发还是使用Flash制作的游戏,都应该能够展示出一些具有良好设计潜力的游戏(请考虑小型,清晰的游戏概念,例如Limbo或Portal)。使用编码作为工具,而不是主要武器。通过游戏视频,屏幕截图和可用下载,确保可以在您的网站上轻松访问它们。

最重要的是,无论您有多小的项目或什么样的项目,都要完善您所做的一切。如果编程是关于健壮性和可用性,那么设计是关于乐趣(人们常常会忘记这一点),并表明您确实可以确定细节。


0

C ++是包括Java在内的一些最广泛使用的语言的创建者和创建者。通过学习C ++(无论是游戏开发人员还是其他人),您都可以轻松快捷地学习几乎所有语言。这就是这种语言的魔力。与Java相比,C ++使您可以更好地控制代码。因此,如果您想真正成为代码的真正主人,那么学习C ++会处于更好的位置

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.