(资料图片)
引言:本文为 参赛文章,作者「花叔爱折腾」。他用ChatGPT + Cocos Creator做了款 AI 对话的小游戏,以下为开发实录。前言
在实现这个游戏前,我在思考,GPT 实现的是 AI 对话,我总在想如果结合游戏能用来做什么,游戏 NPC ?智能客服?好像都可以,但太常规,我还是想玩点不一样的。
既然是对话功能,那要不就实现综艺里的那种“你说我猜”玩法吧!于是花了两个晚上实现了:
“你说我猜”演示视频 : 开发逻辑首先,去 OpenAI 官网注册个账号(要科学上网),获取 API 用的 Key,该 API 也是实现本游戏的核心:
之后,用 Cocos Creator 做个游戏,我素材用的是官方商城的免费模型和 UI ,游戏创造过程比较常规,没太多的高级技巧,是一个单一场景游戏,这里就不细说太多了。
最后,配置一个远程 PhP 环境,然后用 curl 去请求 OpenAI 的 API:$api_url = "https://api.openai.com/v1/completions";$access_token = "openAI的API KEY"; // 设置请求的参数$data = [ //"prompt" => "写一段php调用chatGPT", // 要向chatGPT发送的问题 "prompt"=> $rq[ "prompt"], // 要向chatGPT发送的问题 "model"=> "text-davinci-003", // 使用的模型名称 "max_tokens"=> 150, // chatGPT返回的最大文本长度]; // 使用curl发送请求$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $api_url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_HTTPHEADER, [ "Content-Type: application/json", "Authorization: Bearer ". $access_token,]);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //不验证证书 // 处理响应结果$response = curl_exec($ch);$re = json_decode($response); if( isset($re->choices) && isset($re->choices[ 0])) { //获取回答文本 echo$re->choices[ 0]->text;} else if( isset($re->error) && $re->error->type == "insufficient_quota"){ //如果api key限额满了 //目前openAI免费注册的账号,有18美元的api请求限额(23年4月前可用)}整个研发过程还是很简单,关键代码就在上面,想自己搭一个的话,可以去看看商城的代码。 游戏细节演示与体验微信版小游戏上架过,但因为目前微信官方不大允许小程序和小游戏接入 GPT,于是游戏上架没多久就被封禁了。但没关系,我还做了个 H5 版本,大家感兴趣可以体验一下。 游戏规则很简单,简而言之就是:以不能出现关键字的提问方式诱导 GPT 给出正确答案。比如游戏里有一关是诱导 GPT 说出“水”,我提问“有一种东西,我们每天都得喝,那是什么?” 只要 GPT 的回答命中了“水”字关键字 那么本关就算通关,小美会跳舞。 问答是支持上下文的: 结语最近在弄的 DIYChat 工具也打算嵌入一款 Cocos 游戏,在想能不能在提供提升工作效率的功能同时,Cocos 为用户提供点结合 AI 的娱乐性功能,欢迎提建议。 DIY Chat工具 :https://aiquickhelp.com/ 官方商城的免费模型和UI :https://store.cocos.com/app/detail/3127 游戏代码商店地址:https://store.cocos.com/app/detail/4410 电脑体验游戏可直接访问:https://cdn.wxnodes.cn/chatGPT/(把窗口调成长方形更便于体验)。 点击文末【阅读原文】前往原文查看。 往期精彩
标签:
Copyright © 2015-2023 港澳空调网版权所有 备案号:京ICP备2023022245号-31 联系邮箱:435 226 40 @qq.com