当前位置: 首页 > article >正文

【AI游戏】基于OpenAI打造自动生成剧情的 Python 游戏

引言

你是否曾经梦想过成为一名游戏设计师,创造出引人入胜的冒险故事?今天,我将带你使用 OpenAI 的 GPT 模型和 Python 编写一个简单的自动生成剧情游戏。通过这个项目,你可以体验到人工智能在创意写作中的强大能力,并学习如何将 AI 技术应用到游戏开发中。

配套资源:https://download.csdn.net/download/weixin_74773078/90264914


项目概述

我们将创建一个基于文本的冒险游戏,玩家可以通过选择不同的路径来影响剧情的发展。游戏的核心是利用 OpenAI 的 GPT 模型动态生成剧情内容。每次玩家做出选择后,GPT 会根据选择生成一段独特的故事情节。


技术栈
  • Python:用于编写游戏逻辑。

  • OpenAI GPT:用于生成剧情内容。

  • OpenAI API:通过 API 调用 GPT 模型。


实现步骤
1. 安装依赖

首先,确保你已经安装了 OpenAI 的 Python 库。如果没有安装,可以通过以下命令安装:

pip install openai

 

2. 设置 OpenAI API 密钥

在代码中,你需要设置 OpenAI 的 API 密钥。你可以从 OpenAI 官网 获取你的 API 密钥,并将其替换到代码中:

client = OpenAI(api_key="your_openai_api_key_here")
3. 编写剧情生成函数

我们使用 OpenAI 的 chat.completions.create 方法来生成剧情。以下是核心代码:

def generate_story_with_gpt(prompt):
    try:
        response = client.chat.completions.create(
            model="gpt-3.5-turbo",
            messages=[
                {"role": "system", "content": "你是一个剧情生成器,负责生成有趣的冒险故事。"},
                {"role": "user", "content": prompt}
            ],
            max_tokens=200,
            temperature=0.7
        )
        return response.choices[0].message.content.strip()
    except Exception as e:
        print(f"生成剧情时出错: {e}")
        return "剧情生成失败,请稍后再试。"

 

4. 玩家选择机制

玩家可以在游戏中做出选择,例如进入森林、沙漠或城堡。选择会影响生成的剧情:

def player_choice():
    print("\n你遇到了一个分叉路口,你会选择:")
    print("1. 向左走,进入幽暗的森林")
    print("2. 向右走,前往荒凉的沙漠")
    print("3. 直行,前往古老的城堡")
    choice = input("请输入你的选择(1、2 或 3):")
    if choice == "1":
        return "你决定进入幽暗的森林。"
    elif choice == "2":
        return "你决定前往荒凉的沙漠。"
    elif choice == "3":
        return "你决定前往古老的城堡。"
    else:
        print("无效的选择,默认进入幽暗的森林。")
        return "你决定进入幽暗的森林。"
5. 主游戏逻辑

游戏的主循环会不断生成新的剧情,直到玩家选择退出:

def main():
    print("欢迎来到自动生成剧情游戏!")
    print("在这个游戏中,你的选择将影响剧情的发展。")
    print("让我们一起开始冒险吧!\n")

    while True:
        input("按下回车键继续...")
        choice_prompt = player_choice()
        print("\n生成剧情中,请稍候...\n")

        # 生成初始剧情
        initial_prompt = "在一个遥远的国度,一位勇敢的冒险者踏上了旅程。" + choice_prompt
        story = generate_story_with_gpt(initial_prompt)

        # 打印生成的剧情
        print("=== 剧情开始 ===")
        print(story)
        print("=== 剧情结束 ===\n")

        # 询问玩家是否继续
        play_again = input("是否继续生成新的剧情?(y/n): ").lower()
        if play_again != 'y':
            print("感谢游玩,再见!")
            break
示例输出

运行游戏后,你会看到类似以下的输出:

欢迎来到自动生成剧情游戏!
在这个游戏中,你的选择将影响剧情的发展。
让我们一起开始冒险吧!

按下回车键继续...

你遇到了一个分叉路口,你会选择:
1. 向左走,进入幽暗的森林
2. 向右走,前往荒凉的沙漠
3. 直行,前往古老的城堡
请输入你的选择(1、2 或 3):1

生成剧情中,请稍候...

=== 剧情开始 ===
你决定进入幽暗的森林。森林中弥漫着浓雾,四周充满了神秘的气息。突然,你听到远处传来低沉的咆哮声。你小心翼翼地向前探索,发现了一只受伤的小鹿。你决定帮助它,并跟随它来到了一片隐藏的湖泊。湖泊中央有一座小岛,岛上闪烁着奇异的光芒。你划船前往小岛,发现了一颗神秘的宝石。这颗宝石似乎拥有无穷的力量……
=== 剧情结束 ===

是否继续生成新的剧情?(y/n): y

 持续更新:

  1. 增加更多选择

    可以让玩家选择战斗、逃跑或谈判,进一步丰富剧情。
  2. 记忆上下文

    使用 GPT 的上下文记忆功能,让剧情更加连贯。
  3. 图形化界面

    使用 Pygame 或 Tkinter 为游戏添加图形化界面。

 

 


http://www.kler.cn/a/503359.html

相关文章:

  • 逻辑测试题
  • OPT: Open Pre-trained Transformer语言模型
  • 贪心算法详细讲解(沉淀中)
  • java项目之智慧农贸信息化管理平台(ssm+mybatis+mysql)
  • Colossal-AI:深度学习大规模分布式训练框架
  • AI浪潮下的IT变革之路:机遇、挑战与重塑未来
  • 14.STM32F407ZGT6-SPI
  • 什么是 XSS(跨站脚本攻击)?
  • 理解STC15F2K60S2单片机的最小电路
  • 当comfyui-reactor-node 安装失败urllib.error.HTTPError: HTTP Error 403: Forbidden解决方法
  • 空指针:HttpSession异常,SpringBoot集成WebSocket
  • tmux 中鼠标滚动异常:^[[A和^[[B是什么以及如何解决
  • 51c~Pytorch~合集4
  • 【按钮防抖】el-button和普通按钮防抖,点击一次禁用一秒再恢复
  • 9分布式微服务架构
  • Windows安装HDC工具及鸿蒙手机开启HDC调试
  • Java开发关键步骤:Windows与macOS系统环境变量详细配置指南
  • 一种ESP8266+OLED时间天气显示
  • 前端进程和线程及介绍
  • 初阶数据结构【双链表及其接口的实现】
  • 安装MySQL在Linux环境下
  • 深入解析Alertmanager启动命令行参数及其作用
  • zookeeper-配置
  • [Git] 深入理解 Git 的客户端与服务器角色
  • 通信网络安全分层及关键技术解决
  • 深圳观澜森林公园及五指耙森林公园边坡自动化监测