所以说,写游戏,其实是最早接触“全栈”与“架构设计”的途径。
?
四、多线程与实体自治:让你理解“并发编程”的本质
你特别提到游戏中的每个实体“独立运行”、“不受系统总控”,这其实是多线程并发编程的典型思维。
以普通业务程序为例,常见流程是:
登录
->
查询
->
修改
->
保存
一条业务线,单线程完成,易于调试。但游戏中你必须考虑:
?
玩家控制角色同时移动
?
敌人ai实时巡逻并感知周围环境
?
场景在每一帧刷新渲染
?
背景音乐同时播放
?
网络消息实时接收与处理
这就是线程或协程的价值。而每个“游戏对象”的行为,就像现实中“每个人”的行为——既受环境影响,也有自我决策能力:
这样的设计会逼你从根本上理解:
?
事件驱动模型
?
状态管理机制
?
cpu时间片调度的意义
?
资源竞争与同步锁的应用
?
五、编程最终是思维训练,而游戏最能激发创造力
写业务程序固然可以“工作”,但写游戏程序更能“创造世界”。