本文来自AI新媒体量子位(QbitAI)

刚刚,Google开源了一套问答游戏App系统。

通过一套模板工具可以,你只要给出问题和答案,就能搞出一套功能齐备的AI问答游戏。这套问答系统基于Google Assistant虚拟助手,所以(理论上)适用于Google Home智能音箱、Android手机和iPhone手机等平台。

这次开源之后,可以进一步的看到这套系统的设计和逻辑。

资源包

这个开源的问答游戏系统,包括了开发者所需的全部功能,而且可以自定义相关特性:

  • API.AI,借助这个智能体(agent),开发者可以导入自己的账户,来处理游戏的自然语言理解
  • 完整的游戏过程实现逻辑

  • 三个游戏角色:老师、女王、机器人。Google的VUI团队设计了750种台词,以便让三个角色更有趣也更有个性。
  • 这些台词分为44个类别,包括欢迎、答对响应、帮助提示等。
  • 每个角色的音轨:开场音乐、回答正确或不正确的音效、计算音效、最终回合音效等。音效师总共设计了43种不同的音效,以OGG和WAV格式存储。

基本原理

问答游戏的实现逻辑,使用了Cloud Functions for Firebase(https://firebase.google.com/docs/functions/),这是部署游戏逻辑最简单的方法。(Google官方说法)

Cloud Functions for Firebase提供了免费套餐,开发者可以快速和简单的创建自己的问答游戏。

当用户开始使用问答系统时,Google Assistant会加载程序,然后使用API.AI来处理用户的intents,接着进一步激活部署在Cloud Functions for Firebase上的实现逻辑。

上面的“game.choice.answer”intent,用于处理相关的答案。intent使用一个“answer”实体来处理所有可能的答案。

游戏的问题和答案,存储在Firebase Realtime Database中。这个数据库可以简单的使用JSON数据,特别是实现逻辑在Node.js中实现, Actions on Google客户端库也支持Node.js。

实现逻辑为所有API.AI智能体定义的intents提供处理。

这个应用程序使用 Firebase Hosting托管音频资源。

创建个性化游戏

使用Node.js脚本可以把问题和答案加载到数据库中。只需要为你的游戏编辑questions.json文件,然后运行脚本把数据上传到Firebase数据库中。开发者也可以只是上传默认的问题,然后直接使用Firebase的网页GUI直接编辑数据库。

然后,选择一个角色。我们以女王为例吧。

在实现代码中配置选定的角色后,相应的角色台词也就确定下来。女王会说:“看啊!一位胜利者”或者“一次勇敢的尝试,但没有什么用”。

在Actions Console(https://console.actions.google.com/)中创建一个项目,然后将其与API.AI关联。现在可以导入TriviaGame.zip文件,这样就能获得游戏进程的所有intents。

开发者可以使用Firebase CLI工具部署实现逻辑,然后可以得到功能托管的URL地址。

把API.AI智能体实现URL指向Cloud Function for Firebase。使用API.AI中集成的Actions on Google在Web模拟器中进行测试。

当开发者觉得OK了之后,就能通过Actions Console提交审核。

开始游戏吧

总而言之,现在为Google Assistant创建一个问答游戏已经变得超级简单。官方还提供了一些已经发布的实例游戏,例如:《一个和美国总统对谈的测试》、《猜猜创始人》、《Chatting with Seven of Nine Trivia》等。

即便你不想开发一个问答游戏,也可以从这套开源系统中借鉴设计和资源。

相关地址

GitHub上的开源地址:

https://github.com/actions-on-google/apiai-trivia-game-nodejs

问答游戏模板在此:

https://triviatemplate.com/

【完】

本文作者:若朴 
原文发布时间:2017-07-15

想搞一套AI问答游戏系统?简单,Google又开源了相关推荐

  1. 教ai玩游戏_简单解释:DeepMind如何教AI玩视频游戏

    教ai玩游戏 by Aman Agarwal 通过阿曼·阿加瓦尔(Aman Agarwal) 简单解释:DeepMind如何教AI玩视频游戏 (Explained Simply: How DeepMi ...

  2. 百度DuerOS联手蓝港发布“小青智趣”,布局AI语音问答游戏

    李根 发自 凹非寺  量子位 报道 | 公众号 QbitAI AI语音问答游戏也有来了,这次是百度度秘与蓝港科技走到了一起. 百度度秘与蓝港科技共同宣布"小青智趣计划",联手布局语 ...

  3. DeepMind 打造 AI 游戏系统,可以玩扑克、国际象棋、围棋等,战斗力爆表

    编译 | 禾木木 出品 | AI科技大本营(ID:rgznai100) 谷歌母公司 Alphabet 的人工智能实验室 DeepMind 长期以来一直投资于游戏人工智能系统.实验室的理念是,游戏虽然缺 ...

  4. 发布一套类似于网易ITOWN,基于脚本开发的休闲游戏系统

    发布一套类似于网易ITOWN,基于脚本开发的休闲游戏系统,整套系统客户端基于DX开发,服务器基于IOCP开发而成,现提供功能演示: 演示下载地址  演示下载地址

  5. 安装batocera-linux教程_batocera游戏系统,一个U盘搞定所有模拟器

    本帖最后由 仙鬼同拥 于 2020-5-10 09:57 编辑 去年有人发过一个求助帖找这个模拟器系统,今天有人私信说链接打不开了,就自己开一贴说一下下载安装过程吧 原求助帖地址https://www ...

  6. batocera 完整包_batocera游戏系统,一个U盘搞定所有模拟器

    本帖最后由 仙鬼同拥 于 2020-5-10 09:57 编辑 去年有人发过一个求助帖找这个模拟器系统,今天有人私信说链接打不开了,就自己开一贴说一下下载安装过程吧 原求助帖地址https://www ...

  7. 这套ai的思维让我感到了一个细思极恐的开源项目

    这套ai的思维让我感到了一个细思极恐的开源项目 去年,一款角色扮演游戏在国内市场悄然崛起,并在年轻人群体中得到了广泛传播,它有着一个响当当的的名字,叫「剧本杀」. 剧本杀玩法非常简单. 在游戏开始前, ...

  8. 从零开始搭建智能Ai外呼系统?

    前言:本文作者是咱们"AI产品经理大本营"团员@何静 ,她用非常接地气的文字介绍了智能外呼系统的必备入门信息,对于不是这个细分领域的AI从业者来说,非常值得一看. 1--序言 随着 ...

  9. 游戏系统开发笔记(三)——通用代码库

    墨水比较有限,工作时基本也都是着眼小处,除了工作内容涉及过的几个模块,其余的暂时并未多作关注,所以基本上还只是停留在感性认识上.不过我倒觉得这是难免,毕竟游戏产品放到整个软件行业来说也是个较复杂的东西 ...

最新文章

  1. postbody传参_post传参params与body的区别(@RequestParam和@RequestBody的区别)
  2. 动态语言的灵活性是把双刃剑 -- 以Python语言为例
  3. php Reportico 开源报表
  4. easyUi创建临时Dialog
  5. 记一个mysql分页查询优化试验
  6. c语言是静态语言python语言是脚本语言对吗_初中生想学编程,请问先学C语言好还是先学Python?...
  7. 公共的数据库访问访问类 SqlHelper.cs
  8. error: passing ‘const AppJniCommand’ as ‘this’ argument discards qualifiers [-fpermissive]
  9. cpu真假有没有装机测试软件,有了她装机被骗很难 实用电脑检测软件推荐
  10. usb万能驱动win7_Win10改装win7原来这么简单
  11. WPF参考书籍及资料推荐(转)
  12. 阿尔伯塔大学知名计算机工程学教授,阿尔伯塔大学计算机工程硕士解析
  13. Android 65536错误:Cannot fit requested classes in a single dex file
  14. 【echarts应用】---pie饼图篇
  15. 打字游戏(极简单)——C/C++
  16. 黑帽SEO人员是如何对网站优化的【认准SEO黑帽大牛】
  17. 计算机毕业设计系列基于SSM的网上书城系统
  18. 微信小程序:超强大微信小程序源码下载内含几十款功能王者战力查询,游戏扫码登录,王者巅峰信息查询等等支持流量主收益和CPS收益
  19. 亚马逊云科技携手埃森哲共助行业云转型
  20. echarts饼状图隐藏标示线和标示文字

热门文章

  1. L3-005. 垃圾箱分布-PAT团体程序设计天梯赛GPLT(Dijkstra)
  2. map is not in the sudoers file.This incident will be reported.的解决方法
  3. perl中的sleep函数
  4. 不想让别人的闪盘或者移动硬盘在自己的电脑上识别
  5. 这里面有一些关于依图工作的内容
  6. 在ubuntu上安装Avant Window Navigator (AWN)
  7. CentOS 报no acceptable C compiler found in $PATH的解决办法
  8. jquery 处理json字符串
  9. 定时任务@Scheduled(cron = “* * * * * *?“) 表达式详解
  10. oracle性能优化总结1