我受过良好的C++编程语言方面的语法,STL等方面的教育。除了一些大学课程之外,我还没有做过任何真正的项目。我的目标是开始编写进度,但尝试让它与业界的最佳实践保持一致。我的主要目标之一是在游戏行业工作。一扇门开了,我问了这些问题。
提前感谢!
发布于 2010-07-16 16:05:40
请记住,“游戏开发”涵盖了从手机到网站、PSP和DS到Wii、Xbox、PS3和PC/Mac等各个方面,因此您得到的答案可能因产品/开发人员/平台的不同而有所不同。
1)是。游戏开发可能意味着您必须为目标平台使用特定的编译器,这可能不支持C++的一些“更新”功能。您可能会受到开发工作室允许您使用的库的限制。此外,某些平台上的硬件限制可能会影响您的编码方式(例如,在某些系统上,虚拟功能的成本可能比PC过高,因此出于性能原因,您的设计可以限制在纯OO上。有些系统资源有限(内存、磁盘等),这将对您的设计产生很大影响。在Playstation3上,您可能需要编写向量处理SPU任务,而不是传统的单线程/多线程代码。等)。
2)是。(这是常用的,因为通常没有必要浪费你自己的时间
( 3)混合。在游戏中,关键的目标通常是(按大致顺序排列):按时交付不可能的东西(为什么你现在回家,现在才10点?),提供高性能,尽量不要崩溃。
4,6)通常保持代码的简单和灵活,以便您可以快速开发和更改以适应生产者的最新愿景。你通常有很紧的期限,所以很多设计和仔细的编码往往很难实现。不幸的是,这个行业倾向于“快速编写代码,这样我们就可以扔掉它,开始下一个产品”,尽管它正在慢慢地转向可重用库的想法(以及更有条理的专业实践,如单元测试等)。
一个典型的场景是,要求你为老板编写一个快速而肮脏的演示,然后当你认为你能把它扔掉并写好的时候,老板说:“我们没有时间重写已经起作用的东西,从下一个层次开始。”因此,如果你被要求迅速“不”脏,尽量不要烧太多的桥,否则你会后悔的。
5)您可以使用C,但它取决于平台和开发环境。这些天来,大多数开发将是C++,即使在语法和特性方面,代码的部分实际上“略高于C”。
发布于 2010-07-16 15:49:22
这些问题并不是游戏发展所独有的。你会发现,他们在不同的领域和公司的变化一样多。我可以想到两家游戏设计公司,他们在我的头顶上使用STL,也有少数公司不使用STL。
1)定义“所有C++特性”。他们通常不使用后藤,如果这是你的意思。
2)是的,使用STL。你不应该回避它,也不应该避免它--每次你有需要完成的工作时,都要使用你需要完成任务的工具。让您使用的内容与其他方法保持一致,解决类似的问题,-within (项目或上下文)非常重要。
3)取决于你在哪里,无论是在游戏中还是在游戏之外。有些人是毕业的C人,他们想要的东西更像C。其他人是C#/Java,他们更喜欢OO (对象痴迷)。
4)后藤
5)是的,也是的。懂得一门以上的语言总是一件好事。即使只是C到C++。
再次,使用可用的工具来解决您的问题。保持简单是好的,当你可以,当然。
发布于 2010-07-16 15:50:14
1)没有任何限制,只是您应该遵循编程指南,以便正确地使用它们(即在使用goto时避免使用恐龙 )。
2)是的,它是用的,助推也是(这是下一个STL的预览版)。
3)混合,总是混合。说C++只面向对象就是误解了语言。“一切都是对象”实际上是一个Java (或类似于它的东西);查看C++的POD概念,作为一个例子,说明不是所有的东西都是对象。
4)与1相同)
5)它被使用了,但据我所见,在C中没有创建新的项目。
6)不.他说的和我刚才说的正好相反。
https://stackoverflow.com/questions/3266564
复制相似问题