游戏康威生命游戏是如何搭建计算机的?( 七 )
转换方法非常简单:多规则生命游戏中 , 组成计算机的每个细胞 , 都自动被转译成康威生命游戏中的一个OTCA metapixel单元细胞 。 转译时 , 多规则生命游戏每个细胞的不同颜色 , 正好用于配置相应的OTCA metapixel规则 。 蓝/青配置为 B1/S , 绿/黄配置为B2/S , 红/橙配置为B12/S1 。 稍显遗憾的是 , 多规则生命游戏用不同颜色区分细胞的不同规则 , 转译成OTCA metapixel语言后 , 就只能在单色场景中 , 依靠每个OTCA metapixel单元细胞的控制面板来区分细胞规则了 。
因为是一一对应的转译 , 在多规则生命游戏中实现的计算机 , 在康威生命游戏中运行时将拥有完全一致的宏观结构和功能 。 只不过 , 原本只有120万左右的初始细胞数量 , 经过转译OTCA metapixel后数量倍增 , 微观层面的初始细胞数量达到了惊人的292亿!
在“俄罗斯方块处理器”的项目网页上 , 大家可以下载到两种不同的实现源码 。 一种是基于多规则生命游戏的高层级实现 , 一种是转译到康威生命游戏之后的实现 。 两种源码都可以用Golly工具来运行(第一种需要安装规则文件) 。 项目网页:
https://codegolf.stackexchange.com/questions/11880/build-a-working-game-of-tetris-in-conways-game-of-life
更多思考
先写到这儿吧 。 要介绍康威生命游戏搭建计算机的所有细节 , 这篇文章的篇幅至少得扩大10倍 。 不过 , 搞清楚技术细节是一回事 , 从这个搭建计算机的故事里体会出点儿什么是另一回事 。
喜欢玩康威生命游戏的人有好多种 。 理论家擅长从形而上的视角出发 , 一眼看破生命游戏中内藏的数学抽象 , 悟出其中的哲学道理 。 实践家则不然 , 哲学概念和高层级的数学抽象是否存在并非特别重要 , 他们看重的是创建具体应用时的工程逻辑和技术细节 。
现实中 , 有很多事情看上去并不存在理论困难 , 但实施起来超级复杂 。 在理论家眼里 , 这类事情属于脏活儿累活儿 , 最好不要沾身 。 在实践家眼里 , 再复杂的工程问题都可以通过建立抽象层次、分而治之、循环迭代、过程优化、使用自动工具等方法来解决 。
创造“俄罗斯方块处理器”的这群极客就是典型的实践家 。 他们的社区讨论中有一个细节:有人问他们为什么选择用OTCA metapixel模拟电流、电路的路线 , 而不考虑其他类型的图灵机 。 他们的回答也很简单 , 当时不知道有其他选项 。 对工程师来说 , 只要找到一条合理可行、代价可承受的路径 , 就撸起袖子加油干——这才是实践家最可爱的一点 。
这个世界既需要理论家 , 也需要实践家 。 就拿操作系统、数据库、编译器等基础软件来说 , 我们奋勇攻关几十年 , 各类资助、补贴、奖励投进去无数 , 但结果仍不如人意 。 老实讲 , 这些软件的基础理论都写在教科书上 , 理论家肯定不会承认这件事里有什么不能逾越的障碍 。 但到了实践层面 , 无论懂多少理论 , 你还是得静下心来 , 扎扎实实写代码 , 勤勤恳恳做测试 。 这还不算 , 你还得一个挨一个解决团队管理、产品设计、代码质量保障、系统性能优化、升级迭代、向前向后兼容等一大批实际工程问题 。 更要命的是 , 在技术之外 , 摆在面前的还会有市场开拓、用户留存、商业模式创建等更难搞定的挑战 。 能把这些脏活儿累活儿干好 , 才有资格谈突破和创新 。
在生命游戏里用几百亿个细胞攒电脑 , 干这事儿的极客工程师值得尊重 。 不消说 , 他们代表的工程师思维和实践家风范 , 也有值得借鉴的地方 。
【游戏康威生命游戏是如何搭建计算机的?】
本文首发于微信公众号:量子位 。 文章内容属作者个人观点 , 不代表和讯网立场 。 投资者据此操作 , 风险请自担 。
(责任编辑:王治强 HF013)
推荐阅读
- 小墨看科技|手机游戏蓝牙耳机哪款好?618游戏蓝牙耳机购买清单
- |以生命力,舒缓焦躁:Find X2 Pro 竹青开售
- |120Hz丝滑流畅体验!索尼发布真游戏电视X9100H系列
- 游戏本|十代i7+RTX 2070+4K OLED,有了这台轻薄游戏本才能在游戏中所向披靡
- PS索尼宣布PS5游戏网络发布会延期 新日期尚未确定
- 外设天下TB|微星Interceptor DS102 RGB游戏鼠标评测
- 碧波贝贝|多专多能多模式掌控,单双柄自由切换,游戏我是专业的
- 懒猫说数码|各型号显卡对应游戏分辨率:NVIDIA 篇
- 未来科技圈|618不知道怎么选购笔记本电脑 主流轻薄高性能游戏本推荐
- 韩博士装机大师|玩游戏卡顿?只要简单2步,开启电脑最大性能,速度提升10倍!
