至简至美的一款单片机游戏
在电子森林 推文 700个字节的代码在ATtiny10里跑一个游戏[1] 介绍了一个 开源小游戏RunTiny[2] .
用了:
一个AVR单片机ATtiny10微控制器(只有6个脚,Digikey上0.3美元一颗)一个128*32的OLED显示屏一个按键一个电池 - 3.3V~4.5V都可以,可以用1S 150mAh的Lipo,乃至一颗CR2032的纽扣电池小小的单片机ATtiny10只有6个脚:
1个电源1个地1个Reset3个可用的I/O: PB0: 用于连接OLED的I2C的SDAPB1: 用于连接OLED的I2C的SCLPB2: 按键(INT0)原理图长这样(在面包板上就可以实现,5块钱打块板也可以啊):
▲ 极简的电路图
▲ 面包板上搭建的电路
代码也超级简单,为了能够塞到1KB的Flash存储器里面,作者做了优化,用汇编语言写成,最终的代码只有778个字节,不仅实现了游戏的功能,还能处理微控制器的I/O以及显示的通信
是不是很酷?
在Github上有开源的资源。 [2]
参考资料
[1]
700个字节的代码在ATtiny10里跑一个游戏 : https://mp.weixin.qq.com/s/gcqykDVyC8Vx_yztekMNSQ
[2]
开源小游戏RunTiny : https://github.com/ridoluc/RunTiny
《SHENZHEN IO》:你可以称这个游戏为《单片机与数字模拟电路入门》
《SHENZHEN I/O》,这个名字确实是汉语拼音,也确实就是你想到的那个深圳,而后面的I/O,不是不久前流行起来的.io游戏,而是“计算机输入/输出接口”的缩写。
这是一个扮演一名深圳电子科技有限公司普通技术员的游戏,不过不是养成类游戏或者模拟经营游戏,而是一个基于汇编语言与电路设计的解谜益智游戏。游戏的目标用户精准的定位到了一个一般来说不会有游戏专门照顾,但是又确实数量庞大的群体——程序员。目前这个游戏正在Steam上发售。
广受程序员、准程序员、精神程序员好评
《SHENZHEN I/O》游戏画面
游戏的目的就是作为一名技术员,按客户要求用汇编语言与电路设计知识解决问题,做出产品。这些产品有些时候是路口使用的智能交通摄像头,有的时候是智能烤面包机。游戏中使用的汇编语言就是现实中的汇编语言,也就是说,这个游戏在某种意义上也可以称为有一定剧情的单片机开发模拟软件。
《SHENZHEN I/O》游戏画面
这款游戏由Zachtronics制作,在制作《SHENZHEN I/O》前,他们还制作过不太需要编程语言基础也能玩的汇编语言游戏《TIS-100》,以及包含工业自动化初步知识的解迷游戏《SpaceChem》等。这些游戏都很工科范,很有科技感,相对的,也都很挑玩家。
Zachtronics其实是一个纯粹的外国制作组,这部《SHENZHEN I/O》之所以选择了一家虚构的深圳科技公司一方面是因为深圳其实已经成了全球的电子产品制作中心,不只是中国人提到电子产品就绕不开深圳,即使是外国人也如此。另一方面,是制作者对现代中国普通人的生活状况也有些兴趣。
在制作《SHENZHEN I/O》中,Zachtronics中的制作人伯恩斯和巴特试图去塑造一种有别于西方发达国家其他游戏中的中国形象,一种更贴近现代中国普通人的日常生活。这些被Zachtronics包装在游戏中的工作手册中——游戏中有一本30多页的员工操作手册,中英双语,既作游戏说明书,又用来展现制作组的情怀。
“员工手册”是《SHENZHEN I/O》的一大卖点
谈及在游戏制作过程中的感受,伯恩斯表示:“过去我们的游戏总是使用那些似是而非的中国元素,比如功夫,龙,中国黑帮之类的东西。但是除了那些以外,普通的中国人是怎么生活的?他们是怎样工作的?我们从没关注过。”
“在深圳,确实有不少与美国不同的地方。西方媒体总是用一种极端的方式控诉中国社会中的种种情况,让人们认为那是一个充满压迫,没有自由的地方。但是事实上那里的人们也和我们一样正常的工作,娱乐,生活,他们也要天天处理麻烦的电子邮件,也为了做出更好的产品每天努力着。”
相关问答
看到有人用吴鉴鹰 单片机开发 板做贪吃蛇 游戏 ,觉得很好玩,这个思路是啥啊?大神指导一下?很简单的东西,基础知识的组合而已。首先,你要会用lcd屏幕,能在上面显示东西。然后做一个定时器,做一个随机数。然后用4个按键控制方向。没难度。很简单的东...
学习 单片机 要考些什么证书啊?学习单片机不需要考证书,只要会C语言、汇编等基本知识,最好还知道单片机是怎么工作的就可以了。学习单片机1、首先要学习C语言基础,就相当于80%会单片机了,因...