像Valve这样的公司如何设法向所有三个主要游戏平台发布游戏?我对
Windows,X
Box360和PS3之间的
代码共享的最佳实践感兴趣,因为理想的
解决方案是尽可能多地重用
代码而不是为每个平台重写整个
代码.
与在其他环境中编写与平台无关的
代码没有任何不同.隐藏通用接口背后的特定于平台的详细信息(输入,窗口交互,主事件循环,线程等),并定期测试您打算
支持的所有平台.
请注意,Cell的线程模型非常不寻常,以至于“一般”执行线程需要注意.我不是Valve的员工,我不知道他们的秘密,但我的理解是,大多数想要以PS3为目标的游戏开发人员使用一个工作队列,个别单元处理器根据需要抓取任务.这不一定是使用Cell的最佳方式,但它很好地概括为更传统的线程模型(例如,frex,PC和360都使用的那种).