引言:本文为 Cocos 第 6 期社区征稿活动 参赛文章,作者「花叔爱折腾」。他用ChatGPT + Cocos Creator 做了款 AI 对话的小游戏,以下为开发实录。
在实现这个游戏前,我在思考,GPT 实现的是 AI 对话,我总在想如果结合游戏能用来做什么,游戏 NPC ?智能客服?好像都可以,但太常规,我还是想玩点不一样的。
既然是对话功能,那要不就实现综艺里的那种“你说我猜”玩法吧!于是花了两个晚上实现了:
首先,去 OpenAI 官网注册个账号(要科学上网),获取 API 用的 Key,该 API 也是实现本游戏的核心:

之后,用 Cocos Creator 做个游戏,我素材用的是官方商城的免费模型和 UI ,游戏创造过程比较常规,没太多的高级技巧,是一个单一场景游戏,这里就不细说太多了。

$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月前可用)
}





-
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/ (把窗口调成长方形更便于体验)。




本文分享自微信公众号 - COCOS(CocosEngine)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。