有没有人知道如何从商业过渡到游戏编程?怎么会有人开始游戏编程?这似乎更令人兴奋和有益(更好的支付?).但看起来大部分失学的工作都是为了商业编程.有关如何操作或是否可以完成的任何建议或见解?
Joh*_*sch 32
这不是你问题的直接答案,"我怎样才能过渡?" 但相反,我建议你不要走这条路,或者至少对它是什么感觉要现实.为了支持这一点,我将引用2004年igda对游戏开发者生活质量调查的一些统计数据:
很多年前,我自己创建了几个游戏开发网站,然后是GameDev.net的创始人之一.我这样做的原因之一是建立联系并专业地进入游戏开发.这绝对有效,一些共同创始人的人已经继续在这个行业工作,我相信我也可以这样做,但我所学到的关于这个行业的一切都教会了我以下几点:
Cra*_*rks 15
这是一个过渡期!思维方式的最大区别在于,从业务领域对抽象的依赖转移到了一个领域,在这个领域,你更专注于你所针对的特定硬件,并在严格的时间和内存预算下运行.游戏编程更像是嵌入式编程而不是像Web编程一样 - 你必须考虑所有内容的确切内存占用,并且CPU时间非常宝贵.
这是一个MMO服务器程序员甚至是这样,因为a)服务器必须在80毫秒内回答每个客户端命令才能感觉到响应,并且b)服务器上游戏的占用空间越大,你拥有的硬件就越多买,这需要真正的钱.
首先,你应该学习C++,如果你还没有.现在几乎所有的游戏都是用C或C++编写的.游戏机具有严格限制的内存,如果你分配一个字节超过512mb它不会减速,它会崩溃; 同时,每次通过主app环路都要在33ms或更短的时间内完成,所以我们不能依赖垃圾收集和智能指针.游戏开发世界是那些特殊应用程序之一,您真正需要进行所有这些优化,这里的人们说你永远不需要再做了.
另外,算上你的数学.游戏是由线性代数和运动学构建的 - 不仅仅是图形,还有世界的状态以及每个角色和物体的行为.我喜欢Eric Lengyel的游戏数学书 ; 多年来它一直是我的圣经(虽然还有许多其他好的).
您可以尝试学习一些图形数学和编程,但现在这是一种亚专业,通常只有游戏团队中的几个人真正在DirectX调用级别工作.我怀疑你对游戏逻辑和服务器后端更感兴趣,后者不太专业.
制作游戏.有许多框架可以帮助您入门.XNA的优势在于它是真正的游戏随附的实际产品,与PyGame或SDL不同,PyGame或SDL可以快速启动和运行,但几乎没有商业支持.
mmc*_*ole 10
人们过渡到游戏行业的一个共同路线是作为游戏开发团队的工具开发人员开始.
这些工具通常用C#等高级语言编写,用于帮助开发游戏.例如,您可以帮助维护或修改团队内部地图级别编辑器,或帮助开发将一种媒体文件格式转换为其专有文件格式的工具.
在您花了一些时间作为工具开发人员之后,您可以开始学习侧面的领域知识并自然地转换为众多类型的游戏程序员之一:
现代游戏通常由角色方面的庞大且高度分裂的团队制作.所以,选择上述专业之一并开始学习,当你试图踏上门时,可能是值得的.毫无疑问,你应该精通C++和一个主要的图形库(OpenGL,DirectX等).不要强调学习两者,只需选择一个并学习它.一般来说,非常了解一个人的人可以在需要时过渡到另一个人.