当前位置:
文章详情

游戏简介与上手指南

2017-10-02 20:00:00 276点赞 1142收藏 98评论

追加修改(2018-01-26 16:59:52):
今天深圳IO开始推送官方中文语言更新, 连说明书都是全中文了....

追加修改(2017-10-03 23:56:02):
更正: 游戏里只有MC4000和MC6000, 没有MC5000.


前言

我最近发现了一款非常烧脑的编程游戏 SHENZHEN I/O (深圳IO), 是一家专门制作高质编程游戏的 Zachtronics 公司出品的. 几年前迷过好一阵他们出的 Spacechem, 深深的被这款玩起来像上班一样的游戏折服. 这次的深圳IO又一次刷新了我对游戏的理解. 游戏简介与上手指南

在傻傻看着游戏界面上百小时后, 一个邪恶的声音告诉我: 只坑自己有什么意思? 拉多点人入坑啊! 游戏简介与上手指南

SHENZHEN I/O on Steam深圳IO 购买连接store.steampowered.com去看看

游戏介绍:

深圳IO是个轻量级的编程游戏, 应该归到解迷类. 其前作TIS-100是个纯编程游戏, 比较复杂又毫无剧情.

游戏背景是说一名美国的微控(单片机?)开发工程师 (玩家), 渐渐发现美国不再需要低层开发了 (全外包给中国了游戏简介与上手指南 ), 感觉心爱的微控开发在国内没有发展前途了, 想通过猎头公司找一个好的工作. 于是美国的猎头公司回他邮件说这活在国内不好找了, 推荐他找找国外的猎头, 去国外试试. 然后中国一猎头给他找了个深圳公司 深圳龙腾科技有限公司.

一个"洋大人"到世界工厂打工的故事背景就这么了草的铺垫完了. 游戏简介与上手指南 虽然这款游戏还只针对英文玩家, 但是游戏中会出现很多中文. 游戏简介与上手指南


游戏主界面:

游戏简介与上手指南

游戏本体被虚拟成一个 概念OS 系统, 一个虚拟的微控集成开发系统. (可不是Windows哦)
主机界面中上方是个监控信息面板, 显示地区是 深圳华强北, 还有天气/温度/空气质量等 (纯**信息, 跟游戏内容无关).
下排是主菜单, 从左至右依次是 "conceptMAIL (概念邮件)" "conceptSPEC (概念规格)" "Datasheets (数据文档)" "Control Panel (控制面板)" "Solitaire (纸牌接龙)"

conceptMAIL (概念邮件): 游戏任务清单. 是概念OS里的"outlook", 游戏中的关卡以邮件聊天形式展工. 游戏简介与上手指南 这根本就是在上班时玩游戏, 又在游戏里上班嘛.

conceptSPEC (概念规格): 自定义关卡设计和Steam社区互动界面. 可以下载别人的坑图来玩, 也可以上传自己的设计去坑别人游戏简介与上手指南 : 完成13(14?)个关卡后才会出现.

Datasheets (数据文档): 游戏的说明书. 作者任性的直接做成了一个PDF文件连接, 连到一个PDF文档上去了. 并推荐你打印成册 (如下图). 原来这是一个要读文档才能玩的游戏?! 游戏简介与上手指南 . 你可别说, 这文档做得真的可以以假乱真. 不是做这方面开发的人根本看不出这是个游戏说明书. 游戏简介与上手指南 作者你牛X, 摆明是让玩家展开来上班打游戏嘛.游戏简介与上手指南

Control Panel (控制面板): 游戏选项. 好像在密码处输入0451会打开隐藏关卡哦.游戏简介与上手指南

Solitaire (纸牌接龙): 用中国麻将代替扑克牌做的空档接龙小游戏, 很多新玩家一度以为这才是游戏真正的本体. 游戏简介与上手指南 事实上因为这个内置小游戏人气特别高, 作者就把它单独拿出来做成一个单独游戏发行了游戏简介与上手指南 .

另外已经有民间汉化组制作了汉化包, 和汉化版的游戏说明书. 虽然质量并不是很高, 但是对英文苦手应该帮助不小吧.

中文版文档下载: 链接 密码: ujyn

游戏简介与上手指南

游戏里的NPC们

虽然这个游戏根本不需要NPC, 但是这些NPC却是游戏中的一大亮点. 这些NPC只会出现在你的邮件中, 虽然对话内容不是非常多, 但是每个NPC都个性鲜明, 内容也是非常有趣的.

游戏简介与上手指南

王总: 好像只发过一封欢迎邮件, 没什么客套话, 直接把公司信条贴了一遍. (中国老总高高在上的感觉)
丽姐: 海归高才生, 说话一向严肃正经, 感觉像个管家婆 游戏简介与上手指南
老周: 神经大条的家伙, 给人感觉傻乎乎的却总能拉来生意. (酒桌才是他的主战场游戏简介与上手指南 )
张工: 40年经验的老司机. 技术大牛, 工作认真但不像丽姐那么严厉. 张工的女儿还是个天才 游戏简介与上手指南
戴维: 美国佬+中国迷, 不但在公司用中文名字, 连邮箱账号都用的拼音. 游戏简介与上手指南 喜欢打游戏, 还找了个中国女朋友.
卡尔: 英国佬(应该是爱尔兰人), 爱吐槽, 有点腹黑. 每次想透露给你点什么信息, 又只说一半游戏简介与上手指南

这几位就是你的同事了. 与NPC的邮件对话真的很有趣. 比如
有个纯AI化的公司, 整个公司让AI和机器人组成, 没有活人员工, 会有AI程序发邮件给你派任务 游戏简介与上手指南 .
卡尔有天从供应商聊天时得知了一个很牛X的指令, 然后张工说这指令说明书上有的, 只是没有翻译而已 (老外用的英文说明书里没有, 包括玩家这本 游戏简介与上手指南 )
某天玩家(也许是卡尔)在华强北溜, 突然有人往他口袋里塞了一块芯片, 还附了中文说明书, 说是新产品推广. 这芯片非常复杂难用, 而且说明书真的是中文, 英文游戏里放了一段纯中文说明 游戏简介与上手指南 (好多老外玩家都问到底什么意思)游戏简介与上手指南其它有趣的后面会继续提到.



上手指北 (这一节你可能会要反复查看, 怕你找不着北)

这款游戏的主要内容是设计PCB板(简化到不行的电路板). 需要玩家将不同元件组合起来完成设计任务. 有以下几个步骤:
1. 拖拽元件到PCB上.
2. 连接元件引脚.
3. 编写代码. (据说有牛X玩家某一关不写代码就完成了! 游戏简介与上手指南 )
4. 测试执行.

既然这个是编程游戏, 那就肯定得写代码. 游戏简介与上手指南 别怕, 代码只有极度简化的几条类汇编命令而已. 先贴个速记卡.

游戏简介与上手指南

寄存器: (鬼名字, 就是个暂时存数值的东西)

1. p0/p1: 连续信号(模拟信号?) 引脚寄存器, 在元件上以白色条状表示. 值范围是 0~100, 超过了会强制变成0或100.
2. x0/x1/x2/x3: 离散信号(数字信号?) 引脚寄存器, 在元件上以白色+黄点表示. 值范围是 -999~999, 超过了会强制变成-999或999
3. acc: 累加寄存器, 可暂存一个数值, 还可以对值进行 加/减/乘等 运算.
4. dat: 数值寄存器, 可暂存一个值, 然后就没有然后了. 游戏简介与上手指南

基础指令:

1. nop: 就是什么都不干, 浪费一行指令行. 这个并不是作者无聊的设定, 有时候真的能用上.
2. mov: 游戏中用得最多的指令, 用于读写数据. 有2种用法. 一是将 寄存器 的值 复制到 另一寄存器; 二是将 值赋给 寄存器. 例如:
mov p0 x1 # 读p0的值并写到x1去
mov p1 acc # 读p1的值并存到acc里
mov 100 acc # 将100存到acc里
3. jmp: 跳转到指定的指令行. jmp后面需要加上指令行标签. 例如下面代码的 mov 100 acc 会被跳过不会被执行. (E: 就是标签, 可以自己随便定, 数字也可以, 后面要跟个冒号).
jmp E
mov 100 acc
E: mov 0 acc
3. slp: 等待指令, 让当前元件"眠"几个时间周期(游戏中1个时间周期对应1格, 是游戏中的最小时间单位. 后面我就用""来代替吧). 负数效果和0一样. 相当于一个nop指令.
slp 1 # 等1秒
slp acc # acc里是几就等几秒
4. slx: 特殊等待指令, 一直等到指定的x0/x1/x2/x3有值时才继续, 否则会一直等下去.

测试指令: (逻辑判断指令, 就是比较大小啦!)

1. teq: 比较两者是否相等, 是会执行后面带 + 的指令, 不是就执行带 - 的指令. 例如:
teq acc 100 # acc 是否等于 100
+ mov 50 p1 # 是的话执行这行
- mov 25 p1 # 不是的话执行这行
2. tgt: 比较前者是否大于后者, 大于就执行+, 等于或小于执行-.
3. tlt: 和tgt相反, 比较前者是否小于后者.
4. tcp: 不等比较. 这个有点特殊. 前者小于后者会执行 -, 大于后者会执行 +. 这个执行有时会很强大. 例如:
tcp dat 0
mov 50 p1
- mov 0 p1
+ mov 100 p1
dat 的值等于0就像50到p1, 小于0就传0到p1, 大于0就传100到p1. 同样效果不用tcp的话, 就得写成:
teq dat 0
+ mov 50 p1
tlt dat 0
+ mov 0 p1
tgt dat 0
+ mov 100 p1

运算指令: (对acc里的值进行运算, 结果也会覆盖acc的当前值)

1. add: 加法运算.
add 5 # 给acc+5
add -5 # 给acc-5
2. sub: 减法运算. 用法和add一样. 什么? 用add加负数不就行了吗? 还要个sub干嘛? 那是因为:
add -x1 # 语法错误不给执行 游戏简介与上手指南
3. mul: 乘法运算. 负数也是支持的.
4. not: 求反运算. 也许这么翻译不准确 游戏简介与上手指南 . 当acc为0时, 把acc变100. 否则把acc变0. (目前我还没用到过)
5. dgt: 读位运算: 将acc值的某一位存到acc中. acc数值的位数从右到左是 0, 1, 2.
mov 369 acc
dgt 0 # acc 变成 9 了
6. dst: 写位运算: 将acc值的某一位改成指定数 (指定数只取个位).
# 假设acc为369
dgt 1 5 # acc变为359
dgt 1 24 # acc变为349, 24的只取4
dgt 1 -5 # acc变为-359, 神奇吗? 还能负负得正哦.
# 假设acc为9
dgt 2 -2 # acc变为-209, acc原来的9等同于 009.
dgt 3 1 # acc值不变, 位数不是0/1/2时指令无效, 相当于 nop.

游戏的代码方面上手内容就介绍完了. 是不是跟上课一样? 看得懵逼了又还没关浏览器的值友建议先点个收藏点个赞放松一下吧.游戏简介与上手指南 接下来给大家介绍一下游戏中的元件吧. 游戏中共有超过30种的元件......等等...别走啊亲.....


那就先不介绍元件了, 边走边看吧.....游戏简介与上手指南 直接进入关卡介绍环节!


第一关: 仿真监控器

作为一个电脑游戏的首关, 给到玩家的提示真的少得可怜, 这也不是超级玛丽那样看看就会的游戏。所以我必须先给大家讲讲怎么样才能交差……不对,是过关。

恭喜你瞎点点进了第一关!没点进来的同学继续加油。游戏简介与上手指南上图是深圳IO里最主要的游戏界面, 你可能会数小时的盯死着这个界面思考方案却一行代码也没写出来. 游戏简介与上手指南
界面左下是测试控制键, 用来测试你的设计方案是否能跑通测试数据, 从上到下分别是 重置, 暂定, 步进(按代码行), 秒进(一次进一秒), 自动前进 (可调速).
界面右侧是元件库, 可以将元件从里面拖到PCB板上.
界面上方大片区别是设计区, 相当于PCB板, 鼠标左键拉动连接线路, 右键用来清除, 中键ALT+左键可拖动PCB板.
界面下方分2块, 上方INFORMATION是设计要求和提示 (可能会叫你去翻说明书 游戏简介与上手指南 ), 下方VERIFICATION是测试验证数据, 测试数据分3组, 3组全部测试通过才算完成.

第一关 邮件 (本文的翻译全部是我随手翻的, 希望你能看懂 游戏简介与上手指南 )

卡尔: 不管你觉得自己多牛, 还是一定一定一定一定一定要先看说明书. 你的前任就不看说明书, 我都不想提他的名字.
张工: 你的任务是设计一个仿真监控器两个闪灯的控制模块, 按固定的顺序输出信号就行了, 一个离职的工程师已经做了一部分了.
卡尔: 我肯定你会比那货做得更好!

第一关 任务提示

PCB板上的active和network代表监控上的2个led灯, active闪表示监控开启, network闪表示有网络通信 (都是用来唬人的游戏简介与上手指南). 根据测试验证数据来控制就是了. 和平时用的电脑网卡灯一样.

游戏简介与上手指南

从验证数据里可以看出: active闪灯的规则是 前6秒输出0, 后6秒输出100, 再重复这个规则 (0表示灭, 100表示亮); network闪灯的规则是 4秒0, 2秒100, 1秒0 ,1秒100.

第一次进这关可用的元件只有MC4000这一个. MCxxxx系列是诚尚公司生产的可编程芯片. 当然全是游戏里虚拟的, 还挺像真的, 下图是个8引脚的芯片, 就当是MC8000 (游戏里只有4000和5000)的真实外观吧) 游戏简介与上手指南MC4000有 2个p脚/2个x脚/acc/9个代码行. 卖3块钱RMB. (其实这种低格的芯片在华强北/阿里巴巴只能卖1毛钱 游戏简介与上手指南. 题外话: 路由器上1片128M的闪存零售价才1块多钱, 想想那些闪存只有8-16M的路由的厂商卖几百块是什么心态 游戏简介与上手指南 )
这关只有2个输出端, 没有输入端. 上半PCB已经的active控制电路已经完成了, 是给玩家参考的样板, 代码里还写了一行注释 "怎么这么难啊? :(", 是卡尔说的前面那个不看说明书的离职人员留下的 游戏简介与上手指南

第一关 谜题分析 (不写成业务/需求分析, 因为这是游戏啊 游戏简介与上手指南 )

MC40004个脚都是可输入可输出的, 这关只需要输出. 上半active(红)设计已经完成了. 代码如下:

mov 0 p0 # 向p0写入0
slp 6 # 睡6秒 - 这样p0就会连续6秒保持输出0
mov 100 p0 # 向p0写入100
slp 6 # 睡6秒 - 这样p0就会连续6秒保持输出100

这4行代码执行完后又会马上从头开始循环执行. 让active(红)灭6秒亮6秒下去.
我们就招葫芦玩葫芦娃, 拖一个MC4000放到下半PCB, 拖一条线路连接networkp0脚. 代码如下:

mov 0 p0
slp 4 # 连续4秒输出0
mov 100 p0
slp 2 # 连续2秒输出100
mov 0 p0
slp 1 # 1秒输出0
mov 100 p0
slp 1 # 1秒输出100

过程见下动图: (谁的流量在飞? 游戏简介与上手指南 )

游戏简介与上手指南

验证全部通过后, 游戏会联网评估你的成绩. 成绩分为 production cost 生产成本/power usage 用电功耗/lines of code代码行数 三列, 以柱图显示. 图中较粗的竖线是玩家的成绩, 其实柱形是其它玩家的成绩, 越靠左边成绩越好, 越靠上边统计人数越多(表示这个成绩的玩家比较多).
在代码行数处可以看到, 有极少人只用了3行左右的代码就完成了. 怎么可能??!!游戏简介与上手指南 他们是不是有金手指?


游戏简介与上手指南

这种仿真监控是真实有卖的, 比如下面这种. (只有一个闪灯, 还不如游戏里设计的逼真呢 游戏简介与上手指南 )

沃仕达(woshida) wfz-02 大半球仿真摄像头仿真监控器假摄像头假摄像机17元实际生活中的仿真监控器京东去购买

小结:

体验过第一关感觉如何? 有点上手了么? 还是一头雾水吗? 完全没入门吗? 游戏简介与上手指南 有点编程基础的值友应该不存在入门问题吧?

是不是觉得自己老了? 脑子不够用了? 也许把这个游戏交给你家小孩, 他/她会轻松上手哦. 游戏简介与上手指南 绝对比花几千块买什么乐高机器人更锻炼逻辑能力, 还不知不觉入门了微机原理呢~游戏简介与上手指南

由于篇幅太长, 后面的内容就放到后续贴子里吧~ 一是让大家回回神, 二是心疼大家的流量. 游戏简介与上手指南 有写错的部请指出, 错别字能自己脑补就脑补吧 游戏简介与上手指南


祝大家国庆烧脑愉快!


展开 收起
98评论

  • 精彩
  • 最新
  • 上班写程序,下班了玩个游戏还写程序,这该是有多热爱这个职业。
    我第一次看到这个游戏的时候,就直接把它打入冷宫了。

    校验提示文案

    提交
    其实我觉得这游戏最适合学生玩 [得逞]

    校验提示文案

    提交
    上班开大卡,下班了玩个游戏还开大卡,这该是有多热爱这个职业。
    我第一次看到欧洲卡车模拟的时候,也把它打入冷宫了。
    而现在…… [无奈] 不说了,我还要拉一车奶酪到芬兰呢。

    校验提示文案

    提交
    收起所有回复
  • 果断删了熊孩子的王者荣耀,小盆友推荐你玩个新游戏 [棒棒哒]

    校验提示文案

    提交
    [皱眉] 要的就是这个精神。

    校验提示文案

    提交
    收起所有回复
  • 游戏最重要的是游戏性,你搞的这么专业那还不如直接去学编程,还能赚赚钱不是?

    校验提示文案

    提交
    你确实你明白什么叫游戏性吗? 这个游戏并没有"专业"内容.

    校验提示文案

    提交
    你说没有就没有吧,还有别随便给人扣帽子

    校验提示文案

    提交
    收起所有回复
  • 我擦。。这不就是我们电子工程师天天要干的事么,你妹的还让我玩。。。

    校验提示文案

    提交
    [亲亲] 那你是高手罗?

    校验提示文案

    提交
    游戏里面用的汇编,其实现在用汇编的比较少了,都在用C。C比较精炼,C一句话,汇编可能要写好几句,不好比较,但是编程的思想是一样的

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 说明书是在S姐家拍的吧 [尴尬]

    校验提示文案

    提交
    [傻笑] 不要乱讲,我怕被追打 [装大款]

    校验提示文案

    提交
    收起所有回复
  • 0451是我大哈尔滨区号,开发者肯定是个东北银。

    校验提示文案

    提交
    是老美......不过好像有华人员工支持. 不然做出来的游戏全有一阵大清味道 [小眼睛]

    校验提示文案

    提交
    收起所有回复
  • 第一关可以只用三个gen实现,不过你得多掏两块钱用两个非门 [装大款]

    校验提示文案

    提交
    第一次玩根本不知道gen [傻笑]

    校验提示文案

    提交
    收起所有回复
  • 顺着评论来找文章,发现了大神,拜见 [棒棒哒]

    校验提示文案

    提交
    哪里的评论? [皱眉]

    校验提示文案

    提交
    在我那个玩具的文章

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 白天编程赚钱,晚上花钱编程

    校验提示文案

    提交
  • 看得头昏,60银子全给你

    校验提示文案

    提交
  • 想骗老子下了班放了假还继续工作?没门儿! [吐舌]

    校验提示文案

    提交
  • 卧槽,还有这种操作,这游戏公司是把开发工作通过游戏分发了吧?哈哈哈,所以你们玩这个游戏是为这个公司干活吧 [尴尬] [装大款] [龇牙]

    校验提示文案

    提交
    而且还要花钱买这个游戏!

    校验提示文案

    提交
    收起所有回复
  • 受众不多吧 [哭泣] ,程序猿又何苦为难程序猿

    校验提示文案

    提交
  • 这个游戏有两个版本,你这个是屌丝版,还有一个是boss版,专门看哪些屌丝在玩,显然工作太空时间太多!

    校验提示文案

    提交
  • 自从玩了这个游戏,看反汇编再也没求助过谁了 [捂嘴] [捂嘴] [捂嘴] [捂嘴]

    校验提示文案

    提交
  • 这个不能叫游戏,这是幼儿编程入门 [棒棒哒]

    校验提示文案

    提交
  • 挺好的,正好在教汇编和组成原理,推荐给学生

    校验提示文案

    提交
  • 我要会这个,我还玩这个游戏?

    校验提示文案

    提交
  • 这货不只是汇编啊,竟然还有数字电路

    校验提示文案

    提交
  • 和单片机原理一毛一样

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
1.1K
扫一下,分享更方便,购买更轻松