我是新来stackover,这是我第一次的帖子,所以请温柔:-)C++游戏设计原则
我在发展多层次的射击游戏中我和我为我的目的质疑最好的面向对象设计,明确地管理子弹。
一般来说,游戏有多个玩家和多个敌人,每个敌人都有一把枪,可以发射子弹。有很多子弹类可以很好地管理多颗子弹,它们的位置,动画,渲染等等,并且这些子弹很好地工作。
我的问题是,我是否最好为每个敌人实例化这些子弹类的实例,还是我最好为管理所有子弹的级别实例化一个实例(不管是谁发射的)?
单个实例的好处是子弹管理和渲染可以一次对它们进行优化,但是它们需要额外的状态信息,因此我们记得哪些子弹属于谁,每个敌人可以存在多少子弹等等,而且不是松散耦合的。每个敌人单独实例的好处是它需要整洁,每个子弹都需要存储更少的状态信息,但是它们将在每个敌人或玩家的独立呼叫上进行管理和呈现。子弹之间的碰撞也会变得更加困难,但幸运的是,这不是这个特定游戏的要求。
有没有其他人写过类似的东西,你是如何构造它的?在决定之前我应该考虑哪些因素,并且是否有任何游戏设计原则?
问候 尼克
删除了C++标记,因为如果使用任何其他OO语言,答案将不会有根本的不同。 –