现在,我觉得自己在Java和C#方面都很强。(从一个到另一个的跳跃并不多)。
虽然我并不期望游戏设计师/程序员会在我职业生涯的早期实现目标,但这是我在职业生涯后期将会实现的目标。
考虑到这一点,我感到无视C ++和与其相关的游戏设计工具最终会伤害我或使我达到目标的能力减慢。
是这样吗 还是我可以继续使用XNA和WPF磨练自己的C#技能来开展个人项目,从而使我从事这样的职业?
现在,我觉得自己在Java和C#方面都很强。(从一个到另一个的跳跃并不多)。
虽然我并不期望游戏设计师/程序员会在我职业生涯的早期实现目标,但这是我在职业生涯后期将会实现的目标。
考虑到这一点,我感到无视C ++和与其相关的游戏设计工具最终会伤害我或使我达到目标的能力减慢。
是这样吗 还是我可以继续使用XNA和WPF磨练自己的C#技能来开展个人项目,从而使我从事这样的职业?
Answers:
IMO,是的,您可能会伤害自己。首先,对与错在编程语言之间存在着一种可感知的层次结构-并且C ++通常比Java或C#具有更高的地位(例如,像您这样的问题相当普遍-实际上是闻所未闻的)。如果您在使用C#或Java的应用程序中了解C ++,那么他们就不太可能质疑您的编程能力。如果您在使用C ++的应用程序上了解C#和Java,那么很有可能,他们至少会在某种程度上质疑您的编程能力。这并不是说无法克服这种看法,但是您仍然使自己处于劣势。
其次,至少在我认识的独立游戏开发人员中(公认的,不是很多),由于C#来自微软,因此对C#有一些基本的厌恶。人们对Sun的看法更为积极,但是由于Oracle的收购,这种情况似乎已不再存在。大多数人认为“甲骨文”和“酷游戏”与人类可能的对立面差不多。
最后,从实际的角度来看,游戏是使用C ++最多的地方之一。如果您至少在一定程度上不了解C ++,那么它只会大大限制您的选择。
这实际上取决于您的目标。如果您想尽快进入设计领域并逐步成为一名主管,那么您对Java和C#的充分了解将是足够的技术背景。
如果您打算将自己的工作提升到高级/领导编程职位,然后从那里升任主管职位,则最好学习某种非托管语言。不一定是C ++-C,Objective C或其他类似D的东西都可以。但是,即使在C#中以更高的抽象级别工作,也很难成为一个优秀的程序员,如果不了解指针和内存管理,不能够读取程序集和内存转储,不能够理解甚至不真正实现低级优化。
我还应该补充一点-如果您现在不在行业内,那么规划20年的规划是愚蠢的。也许您会发现自己讨厌它;也许您会发现,由于涉及到所有与开发无关的问题,您不想担任董事,而您宁愿留在高级设计师或程序员的领导下工作,但在特定的工作中有很大的自由度您喜欢的域名。
使用您知道的语言,您可能会没事的;XNA的C#现在很流行,因为您可以开发到XBOX360,Zune和PC。由于Minecraft在Java上的独立成功,Java的流行又回来了。
我当时的处境与您相似,因此决定“重新开始”,以便与C ++对话。两周前,我购买了“通过游戏编程开始C ++”。它不是一本游戏编程书籍,而是一本C ++初学者书籍,它涵盖了使用其他API或库对游戏进行编程时需要用C ++掌握的所有知识,并用更多与游戏相关的项目代替了无聊的项目。这是一本很棒的书。
现在,我进入DirectX,并购买了卡尔·格兰伯格(Carl Granberg)撰写的名为“在DirectX中编程RTS游戏”的书。它有很棒的评论。我仍然不确定是否在OpenGL上使用DirectX做出了错误的决定,但我们会看到。
学习更多的语言只会对您有利。即使几乎所有专业引擎都使用(或应该使用)脚本和/或广泛的工具来简化设计者的易用性,但您的正确性在于,拥有专门从事的项目对您有很大帮助。即使您的面试官不关注您的项目(这已经不太可能了),即使是进行一个个人项目,也将是一次巨大的学习经历。
对于设计师和艺术家来说,产品组合可能更为重要,因为您不能参加编程测试或进行直接的技术面试。因此,我并不是说您应该精疲力尽,学习有关C ++的所有知识。
相反,无论是您自己开发还是使用Flash制作的游戏,都应该能够展示出一些具有良好设计潜力的游戏(请考虑小型,清晰的游戏概念,例如Limbo或Portal)。使用编码作为工具,而不是主要武器。通过游戏视频,屏幕截图和可用下载,确保可以在您的网站上轻松访问它们。
最重要的是,无论您有多小的项目或什么样的项目,都要完善您所做的一切。如果编程是关于健壮性和可用性,那么设计是关于乐趣(人们常常会忘记这一点),并表明您确实可以确定细节。