子豪 发自 凹非寺
量子位 报道 | 公众号 QbitAI

先来一波回忆杀~

《超级马里奥兄弟》的重度玩家们,可能已经发现了,这并不是原本32关里面的。

不过,如果你以为这是《马里奥制造》的杰作,那你就猜错了~这是AI利用GAN搞出来的!

利用GAN生成红白机游戏画面,并不是新鲜事,不过,这一次是可以无限延长的那种~

花样还不少:

只需用4个颜色通道表示对象

在游戏中,关卡数据以压缩格式存储,通常,每个对象用两个字节来描述位置和类型。

一个字节指定16x16网格中的xy坐标;第二个字节指定对象的类型。比如在第一关的场景中,仅用了12个字节来描述:

07 81 | 47 24 | 57 00 | 63 01 | 77 01 | C9 71

作者为了将关卡编码为16x16的图像,分别设置了4个独立颜色通道

比如,第一关的截图,就可以表示成这样:

这样的编码方式,既能够涵盖足够多的对象,又不至于太过复杂。

并且,根据关卡中对象的排列方式进行分组,有利于模型进行学习并重现。比如,实心砖用于布置楼梯、砖块则通常水平放置。

此外,将所有对象组织成一个合理的方案,减少生成网络失误对输出结果的负面影响

比如用硬币代替砖块,影响非常小;而如果用管道或库巴来代替,就会出现问题。

开发者还找出了游戏的一些特点

管道可以连接地面或一排浮动块;

方块通常用来构建各种尺寸的楼梯;

砖块和问题块,大多排在第3位和第7位;

其他角色一般会分成两三组。

接下来,作者使用TensorFlow作为后端,利用Keras来构建模型,并进行训练。

生成器通过输入的一组特征向量,来生成新的样本图像;鉴别器则区分是训练集中的真实图像,还是生成器伪造的。

随着遍历训练集的次数增加,生成效果也逐渐改善

最终输出的结果,是这样的:

嗯,效果真的很不错~

想永不通关?用cGAN

现在,只需把一张张“截图”连接起来,你就会得到:

半个库巴、半个管道,以及半个马里奥……

怎么才能无缝拼接,得到连贯的关卡呢?

这就需要利用「有条件的GAN」,把前一个场景作为后一个场景的边界条件

就像这样:

可以看出,场景的左侧部分,是以第一行图像作为边界条件生成的。

具体来说,首先要在之前的基础上,向生成器输入一组16×4的图像,作为上一个场景的边界部分。

网络架构是这样的:

生成器在输入条件的限制下,生成16x16的图像,然后,把它们与16×4的输入图像进行拼接,再用拼接后的图像来训练鉴别器。

利用16×4图像的不断迭代,最终就能拼接成连续的场景,比如,经过40次迭代的结果:

“不想通关综合症”可能有救了!

开发者表示,虽然效果不是特别完美,但是已经具备了趣味性和可玩性~

是不是和那个“能玩一辈子的游戏”——《马里奥制造》有点像?它同样主打关卡制造,不过是玩家来手动设计。

马里奥制造2 (图源:游戏官网)

在发布关卡之前,作者必须通关一次,于是有些人就加入隐蔽的“作者通道”,偷个懒直达终点。

不少高手都曾被“马造毒图”难倒,当然如果玩家发现隐蔽通道,就能“偷鸡”通关~

这样“有趣又有毒”的关卡,不知道AI能否构建出来呢?

原文链接:
https://medium.com/@eway/using-a-generative-adversarial-network-to-author-playable-super-mario-bros-levels-223736bd4ce

爷青回!GAN生成的超级马里奥关卡,可以永不通关的那种相关推荐

  1. 本周AI热点回顾:GAN生成的超级马里奥关卡,可以永不通关的那种;MLP回归,纯多层感知机视觉架构媲美CNN、ViT...

    ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍点击左上方蓝字关注我们 01 MLP回归,无需卷积.自注意力,纯多层感知机视觉架构媲美CNN.ViT 当前,卷积神经网络(CNN)和基于自注意力的网络(如近来大火的 ...

  2. 爷青回!GAN生成的超级马里奥关卡,可以永不通关的那种!

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 子豪 发自 凹非寺 本文转载自:量子位(QbitAI) 先来一波回忆 ...

  3. GAN生成的超级马里奥关卡,可以永不通关的那种

    子豪 发自 凹非寺 来源 量子位 先来一波回忆杀~ <超级马里奥兄弟>的重度玩家们,可能已经发现了,这并不是原本32关里面的. 不过,如果你以为这是<马里奥制造>的杰作,那你就 ...

  4. 爷青回!AI把《灌篮高手》角色真人化,最帅的居然不是流川枫?

    金磊 假装发自 神奈川 量子位 报道 | 公众号 QbitAI "湘北!加油!" 就这一句话,得勾起多少人难忘的青葱岁月啊. 最近,一位外国博主 AIみかん搞了个事情,更是让网友们 ...

  5. 【游戏开发创新】手把手教你使用Unity制作一个高仿酷狗音乐播放器,滨崎步,旋律起,爷青回(声音可视化 | 频谱 | Audio)

    文章目录 一.前言 二.获取UI素材 三.使用UGUI制作界面 1.界面布局 2.账号圆形头像 3.搜索框 4.调节UI层 5.黑色按钮悬浮高亮效果 6.纯文字按钮 7.滚动列表自适应 8.歌名与视频 ...

  6. 在google play开放平台上closed texting如何删除_“爷青回”!如何抢先体验《英雄联盟》手游?这份攻略送给你...

    如果你要问我最近什么手游最火?那我的回答肯定就是<英雄联盟>手游了!自从拳头公司在前几天爆出部分地区公测的消息之后,很多国内玩家就已经按耐不住自己激动的心了.由于国服没有公测,所以许多国内 ...

  7. 爷青结是什么意思,爷青回是什么意思,爷青结和爷青回是什么梗

    经常上网看视频评论或者留言的朋友,就会看到很多网友刷"爷青结"或者"爷青回"那么这两个词都是什么意思那,今天我们就具体来了解一下. 首先大家要明白爷青结是词缩写 ...

  8. 爷青回!最近很火的朋友圈怀旧小电视源码来啦!看到最后一个视频我大呼好家伙!

    原文首发于公众号:[golang小白成长记] 爷青回!最近很火的朋友圈怀旧小电视源码来啦!看到最后一个视频我大呼好家伙! 体验一把怀旧小电视 最近朋友圈被怀旧小电视刷爆啦! 点开来,是一台老式电视机! ...

  9. 爷青回!用原生 Audio API 实现一个千千静听

    前言 最近看了一下钟文泽的 Macbook Pro 测评视频(唉,最近又想买电子产品了),他在测评音响的时候,点播了一首蔡琴的<渡口>. 当听到这首歌的时候,我真的是情不自禁地感叹:&qu ...

最新文章

  1. Windows下批处理文件(.bat)的使用
  2. IOS打包封装Framework-在工程中直接制作framework(三)
  3. python爬虫爬图片教程_python爬去妹子网整个图片资源教程(最详细版)
  4. 计算机通信与专业英语翻译,电子信息与通信工程专业英语王立琦版课文翻译
  5. 【数字信号调制】基于matlab二进制数字频率调制(2FSK)【含Matlab源码 998期】
  6. Senparc.Weixin.MP SDK 微信公众平台开发教程(四):Hello World
  7. 用PHPnow运行PHP项目以及PHPnow相关问题的解决
  8. 计算机专业哪些竞赛含金量高,盘点国内五大高含金量的编程赛事
  9. 十年,一个黑客的轮回经历
  10. 微信连wifi 电脑怎么连接到服务器,微信连wifi怎么用 微信连Wi-Fi开通使用教程-电脑教程...
  11. 【RTD】铂电阻测温原理与具体方法
  12. 海森堡模型自洽平均场解
  13. 如何实现小程序的无限推送
  14. 后端传给xml格式文件前端要求导出xslx,表格文件
  15. 30分钟扫描一亿行代码库,bug漏洞都能找,这款Facebook神器黑粉都赞叹不已
  16. 4k视频写入速度要求_录制4K视频的存储卡最低速度应是多少?
  17. 2023中国眼博会/护眼健康展/济南护眼贴展/山东护眼仪展①
  18. userAgent收集
  19. 老嘤学习笔记——python函数
  20. 计算机视觉论文-2021-03-03

热门文章

  1. 如何检查jQuery中是否已选中复选框?
  2. Python是否具有三元条件运算符?
  3. Swift进阶_第一部分
  4. request.servervariables参数
  5. LintCode: Triangle
  6. 后端码农谈前端(CSS篇)第三课:选择器
  7. 手机摇一摇效果-html5
  8. MyEclipse2014安装svn插件
  9. 初学 Delphi 嵌入汇编[9] - asm 可以代替 begin
  10. Appium自动化测试-配置待测Android应用