师雪坤和刘阳

风靡一时的虐心小游戏《Flappy Bird》,以玩法简单、难度超高著称,不过,最近这款让全世界玩家几欲怒摔手机的游戏,被两位中国技术宅设计的“玩鸟机器人”搞定,疯狂突破百分。记者 联系上两位80后小伙伴师雪坤和刘阳了解到,就是因为游戏玩不下去才“小试牛刀”玩破解,而研发机器人是两人的兴趣点和事业未来。

机器人让游戏高手望尘莫及

flappy bird是不少玩家热衷的休闲游戏,超级玛丽游戏中的绿色通道、眼神有点呆滞的小鸟和几朵白云便构成了游戏的一切。你需要不断控制点击屏幕的频率来调节小 鸟的飞行高度和降落速度,让小鸟顺利地通过画面右端的通道,如果你不小心擦碰到了通道的话,游戏便宣告结束。所以,玩到手抽筋甚至想砸手机,只能过个位数 管道的玩家大有人在。最近,来自西安的技术宅小伙伴们给大家送上福利,他们发明的“玩鸟机器人”,轻轻松松搞定一百多关突破百分,让高手也望尘莫及。

有图有真相,从网上流传的视频来看,当熟悉的音乐响起,由识别系统+摄像头确定水管位置,控制系统+机械臂构成的机器人,能够准确点击小鸟起 跳,逐步加速也游刃有余,越玩越high,实在是技术宅拯救世界。该款机器人面世令网友兴奋不已,“知识改变命运,小鸟再也不用吃土了!”所以大家可以删 游戏了!“我到现在也只能过15根管子”,“人类已经无法阻挡技术宅了!”“太凶残了,机器人不会手抖”,“这让我们这种停留在60的玩家情何以堪?”还 有各种感觉不明觉厉,求“做朋友”的,“这是来自星星的吗?我也想要个来自星星的男友!”

“操盘手”是西安两位技术宅

到底“玩鸟机器人”是怎么工作的,两位牛人也引发揭秘风潮。其实“愤怒的玩家”出人才,“我同事说,这种做法跟他当年玩魔兽,让两个疯狂的电脑 互相PK,他当裁判的动机差不多。”所以,也有网友担心,这明明是一个闲得慌的游戏衍生出一个闲得慌的破解法,这明明是一种丧心病狂的作弊行为!“让机器 去搞定机器,这两人是不是太无聊?”也可以干一些更有实际价值的工作,比如“能不能设计一个代打排位的?”也有好多网友一眼看出,“玩鸟机器人”类似各企 业流水线上的分拣机器臂,机器臂貌似是从硬盘上拆下来的,“技术含量并不高,我家那位动手也可以破吧”。

相当欢乐的是,两位小伙伴现身视频秀英文也引发了网友研究的兴趣,“他们都有女朋友了么?”“英文发音相当接地气啊!”

扬子晚报记者联系上两位西安技术宅中的师雪坤,他告诉记者,自己和另一位“操盘手”刘阳是中学同学,一个来自北航计算机专业,一个在浙大学数 学,毕业后踏入互联网行列,成了一对很好的拍档,默契度很高。用一周的时间破解Flappy Bird,只是一次“小试牛刀”。“最早我就只能玩两下,就是因为玩不下去,才萌生了破解的想法,主要也想了解一下通关以后是不是像传说中的那样,哈哈, 但对我们来说也是一个学习和尝试的过程。”师雪坤说,其实原理并不复杂,破解工具也颇为山寨,对普通网友来说,复制也并不难。有意思的是,跟硬盘拆下来的 机器臂相连的“手”则是自制电容笔。“‘手’不能太粗大,不然点不准,于是我们就自己用棉签做了一个。”

机器人还不能所向披靡

这款玩鸟机器人分为识别系统、控制系统和机械三个部分,用摄像头捕捉位置,控制系统发出指令再使用机械臂点击屏幕,最终利用机械打败游戏。识别系统有一 个摄像头,主要用来识别游戏中水管的位置用来采集数据。本来他们想通过摄像头采集小鸟的位置,不过由于摄像头有些延时,对游戏来说就没了意义,于是方案改 为识别水管。控制系统则由电脑外加Arduino构成,利用Python编写的分析程序计算出小鸟的位置,进而发出“点击”的指令,操控那个从硬盘上拆下 来的摇臂作为机械臂触发屏幕,最终完成玩游戏的整个过程。

简单来讲,“关键就是要把小鸟起跳的时间与通过管道的时间算好匹配上,才能确保小鸟一直能畅通无阻。”但由于系统的响应速度不够理想,不断积累 的误差会逐步影响敲击的精确性,这款机器人也并不能做到所向披靡,最近他们试过玩到几百分就挂了。所以,师雪坤强调,不断计算和调试的过程会相对繁琐一 些。

视频发到网上后,引起了系列连锁反应,“有好多朋友给我们打电话,除了玩家,其中也不乏闻风而动前来谈合作的业内人士。”师雪坤表示,未来两人想在深圳往智能机器人方向发展。

技术宅之flappy bird 二逼鸟的更多相关文章

  1. 飞翔的圆(Flappy Bird)游戏源码

    这个源码是一个不错的休闲类的游戏源码,飞翔的圆(Flappy Bird)游戏源码V1.0,本项目是一个仿Flappy Bird的小游戏,只不过是把Flappy Bird里面的鸟替换成了简单的圆.感兴趣 ...

  2. 用Phaser来制作一个html5游戏——flappy bird (二)

    在上一篇教程中我们完成了boot.preload.menu这三个state的制作,下面我们就要进入本游戏最核心的一个state的制作了.play这个state的代码比较多,我不会一一进行说明,只会把一 ...

  3. 通通制作Html5小游戏——第二弹(仿flappy bird像素鸟)

    亲爱的博友们,我又回来啦~因为我们技术宅的思想只有技术宅懂得,好不容易写了点好玩的东西发QQ空间,结果只有11的UV,0回复....10分钟ps一个女神的素描效果发QQ空间朋友圈,一大堆回复加赞,作为 ...

  4. canvas 制作flappy bird(像素小鸟)全流程

    flappy bird制作全流程: 一.前言 像素小鸟这个简单的游戏于2014年在网络上爆红,游戏上线一段时间内appleStore上的下载量一度达到5000万次,风靡一时, 近年来移动web的普及为 ...

  5. 自己动手写游戏:Flappy Bird

    START:最近闲来无事,看了看一下<C#开发Flappy Bird游戏>的教程,自己也试着做了一下,实现了一个超级简单版(十分简陋)的Flappy Bird,使用的语言是C#,技术采用了 ...

  6. 用Phaser来制作一个html5游戏——flappy bird (一)

    Phaser是一个简单易用且功能强大的html5游戏框架,利用它可以很轻松的开发出一个html5游戏.在这篇文章中我就教大家如何用Phaser来制作一个前段时间很火爆的游戏:Flappy Bird,希 ...

  7. 也来山寨一版Flappy Bird (js版)

    随着Flappy Bird的火爆,各种实现的版也不断出现,于是也手痒简单实现了一版. 其实本来只是想实现一下这只笨鸟的飞翔运动的,后来没忍住,就直接实现一个完整游戏了…… 因为这个游戏本身实现起来就没 ...

  8. [MFC] 高仿Flappy bird 桌面版

    这是今年年初做的东西,一直没有时间整理,现在拿出来分享下~ 目录 开发背景 开发语言及运行环境 效果展示 游戏框架说明 游戏状态及逻辑说明 经典算法说明 重量级问题解决 开发感想 一.开发背景: fl ...

  9. 程序员带你一步步分析AI如何玩Flappy Bird

    以下内容来源于一次部门内部的分享,主要针对AI初学者,介绍包括CNN.Deep Q Network以及TensorFlow平台等内容.由于笔者并非深度学习算法研究者,因此以下更多从应用的角度对整个系统 ...

随机推荐

  1. IIS目录禁止执行权限

    IIS6: IIS7:

  2. 路由搭建ovpn

    教程一(外网搭建): 1. 注册花生壳帐号,同时系统会赠送一个免费的域名 2.登录华硕路由,找到花生壳代码设置花生壳登录名和密码.域名,删掉前面的"#"后,点击应用本页面设置,软重 ...

  3. You-Get 视频下载工具 Python命令行下载工具

    You-Get 是一个命令行工具, 用来下载各大视频网站的视频, 是我目前知道的命令行下载工具中最好的一个, 之前使用过 youtube-dl, 但是 youtube-dl 吧, 下载好的视频是分段的 ...

  4. PHP的数据类型转换

    PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: •(int).(integer):转换成整形 •(float).(double).(real):转换成浮点型 •(string):转换成 ...

  5. Parallelism , Partitioner

    转:spark通过合理设置spark.default.parallelism参数提高执行效率 spark中有partition的概念(和slice是同一个概念,在spark1.2中官网已经做出了说明) ...

  6. 如何找到文件的家-打开文件对话框openFileDialog

    private void button1_Click(object sender, EventArgs e) { openFileDialog1.Filter = "*.txt|*.txt& ...

  7. 74HC164dD驱动LED

    驱动要点: 1.上升沿写入串行数据: CLK=0; DAT=num&0x01; CLK=1; 2.写入数据的数码管编码(指代码中的 tab[]) 串行数据是FIFO先进先出,也就是先写高位,移 ...

  8. 示例 - 如何在多线程中应用SpiderStudio生成的DLL?

    >> 接上文 "示例 - 如何在Console应用程序中应用SpiderStudio生成的DLL?", 将其改成多线程: 代码: using System; using ...

  9. C++ 匿名对象的生命周期

    //匿名对象的生命周期 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; class Poin ...

  10. 001servlet的基本知识

    servlet的知识: l  1. servlet概念及相关接口简介 l  2. servet 执行过程 l  3. servlet路径映射 l  4. 缺省servlet          --应用 ...