物理模拟单机游戏基于物理引擎计算。物理引擎处理重力、碰撞、力、动量、摩擦、弹性等参数。物理引擎输出物体的位置、速度、旋转角度、形变数据。游戏根据这些数据渲染画面。玩家操作修改输入参数。玩家点击、拖拽、滑动屏幕。游戏读取玩家输入。游戏将输入转化为力或位移施加给物体。物体在虚拟空间中运动。
1990年代出现物理模拟游戏代表性作品。暴雪娱乐发行《百战天虫》。游戏使用二维物理引擎。玩家操纵虫子编队。玩家输入角度和力度参数。玩家发射导弹。导弹飞行轨迹遵循抛物线运动。导弹击中地形。地形方块被爆炸力移除。2008年,《愤怒的小鸟》发布。游戏运行在iOS平台。玩家用弹弓发射小鸟。小鸟撞击木块结构。木块结构受力倒塌。游戏计算每一块木块的受力和碰撞反应。物理引擎计算木块之间的摩擦力。木块坍塌速度与结构强度相关。玩家调整发射角度和力度。玩家观察木块倒塌过程。
物理模拟游戏包含简单物理游戏。简单物理游戏指操作门槛低、物理规则直观的游戏。2009年,《割绳子》发布。游戏场景包含绑在绳子上的糖果。玩家用手指切割绳子。绳子在切割点断开。重力拖拽糖果。糖果落入小怪兽口中。游戏计算重力加速度参数。糖果滚动路径受容器壁形状影响。玩家切割绳子时机影响糖果落点。2012年,《桥梁工程师》发布。玩家用有限材料搭建桥梁结构。玩家选择木板、绳索、钢梁材料。玩家连接节点。桥梁承受卡车通过。游戏计算桥梁各节点受力。卡车重量超过桥梁承载极限时桥梁断裂。玩家调整材料数量和节点位置。2013年,《机械迷城》发布。游戏包含齿轮、杠杆、活塞机械装置。玩家旋转齿轮。齿轮啮合传递扭矩。杠杆绕支点转动。活塞在气缸内往复运动。游戏计算机械装置的传动比和运动顺序。
物理引擎技术分为二维和三维两类。二维物理引擎代表有Box2D。Box2D使用AABB碰撞检测算法。Box2D计算刚体旋转惯量。三维物理引擎代表有PhysX和Havok。PhysX支持刚体、软体、布料模拟。Havok用于3A游戏角色物理交互。物理引擎每一帧执行碰撞检测。碰撞检测判断两个物体边界是否相交。相交物体触发碰撞响应。碰撞响应计算反作用力方向和大小。物理引擎调用约束求解器。约束求解器处理关节、弹簧、绳索连接。物理引擎输出物体位置更新数据。
物理模拟游戏常见物理机制包含重力场、弹力、摩擦力、阻尼、空气阻力。重力场设置方向向量和大小。弹力定义物体碰撞后恢复系数。恢复系数0表示完全非弹性碰撞。恢复系数1表示完全弹性碰撞。摩擦力影响物体滑动速度。阻尼参数控制物体摆动衰减速度。空气阻力参数影响物体飞行距离。玩家调节这些参数改变游戏难度。游戏提供预设关卡。关卡包含初始物体排列、障碍物形状、目标位置。玩家通过物理操作完成任务。任务达成条件为物体到达指定区域或物体数量达到阈值。
物理模拟游戏记录玩家操作数据。玩家每次操作产生输入数据。输入数据包括角度、力度、时间戳、点击坐标。游戏记录物体运动轨迹。轨迹数据包含位置序列和速度序列。游戏统计玩家操作次数。完成关卡操作次数平均值在10-30次之间。玩家重复同一关卡尝试不同参数。游戏记录玩家最佳成绩。最佳成绩为最少操作次数或最短通关时间。游戏提供关卡编辑器。玩家新建物体。玩家设置物体质量、形状、材质。玩家排列物体形成关卡。玩家分享关卡给其他玩家。







