像 Valve 这样的公司如何设法向所有三个主要游戏平台发布游戏?我对有关 Windows、Xbox360 和 PS3 之间代码共享的最佳实践很感兴趣,因为理想的解决方案是尽可能多地重用代码,而不是为每个平台重写整个代码。
最佳答案
这与在其他上下文中编写独立于平台的代码没有任何不同。将特定于平台的细节(输入、窗口交互、主事件循环、线程等)隐藏在通用接口(interface)之后,并定期在您打算支持的所有平台上进行测试。
请注意,Cell 的线程模型非常不寻常,因此“一般”执行线程需要一些小心。我不是 Valve 的员工,我不知道他们的 secret ,但据我了解,大多数想要以 PS3 为目标的游戏开发者都使用一个作业队列,各个单元处理器会根据需要从中获取任务。这不一定是使用 Cell 的最佳方式,但它可以很好地推广到更传统的线程模型(如 frex,PC 和 360 都使用的模型)。
关于windows - 如何学习跨平台游戏开发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1009076/