发帖
 找回密码
 立即注册
搜索
7 4 0
日常闲聊 77 7 昨天 16:38

AI 剧情游戏系统

碎碎念

虽然这是一个很小很烂的项目,但是开发过程中还是遇到了很多乱七八糟的问题,目前项目可能存在一些bug,欢迎体验和反馈。

项目说明

AI 剧情游戏系统是一个基于 AI 生成的互动故事平台,玩家可以选择不同的游戏模式,体验由 AI 生成的动态故事情节,并通过选择影响故事发展。支持单机模式和完整模式,如果配置了MYSQL_URL则支持完整模式,支持在线管理及多用户同步等功能。

功能特性

  • 多种预设游戏模式(冒险、悬疑、恐怖、浪漫等)
  • 支持自定义游戏模式
  • 可配置的 AI 模型接入(支持 OpenAI、Anthropic、Groq 及自定义模型)
  • 动态故事生成与分支选择及自定义分枝回复
  • 多页面故事系统
  • 游戏状态管理(背包、位置、等变量)
  • 用户认证系统(支持数据库和本地存储两种模式)
  • 可配置的系统设置
  • 游戏存档导入/导出功能
  • 响应式设计PC/移动端界面自适应

环境变量配置

系统运行需要配置以下环境变量:

# JWT 加密密钥(任意字符串)
JWT_SECRET="your jwt secret"

# MySQL 数据库连接(可选,不使用则仅支持单用户)
MYSQL_URL="mysql://用户名:密码@主机名:端口/数据库名"

# 默认管理员账号(以下两项必填)
# 若使用MYSQL_URL,则下面的用户名和密码会在数据库初始化时插入到管理员用户,若不使用MySQL,则下面账户即管理员账户
ADMIN_USER="admin"
ADMIN_PWD="admin"

# AI 提供商配置(可选,部署后可在前端修改)
NEXT_PUBLIC_AI_PROVIDER="openai"
NEXT_PUBLIC_AI_API_KEY="sk-apikey"
NEXT_PUBLIC_AI_BASE_URL="https://api.openai.com"
NEXT_PUBLIC_AI_MODELS_PATH="/v1/models"
NEXT_PUBLIC_AI_CHAT_PATH="/v1/chat/completions"
NEXT_PUBLIC_AI_MODEL="gpt-4o-mini"
NEXT_PUBLIC_AI_STREAM_ENABLED=true

# 系统默认设置(可选)
NEXT_PUBLIC_THEME="system"
NEXT_PUBLIC_LANGUAGE="zh"

vercel部署

  • fork该项目
  • 打开 vercel.com
  • 导入该项目
  • 填写管理员用户名和密码等变量
  • deploy & enjoy
  • option: add your custom domain

安装与运行

前置要求

  • Node.js (推荐 LTS 版本)
  • npm 或 yarn
  • MySQL (可选,仅在使用数据库模式时需要)

安装步骤

  1. 克隆仓库:
  • git clone https://github.com/eraycc/AI-PlotGame.git
    cd AI-PlotGame
    
  • 安装依赖:
  • npm install
    # 或
    yarn install
    
  • 配置环境变量:
    复制 .env.example.env 并填写实际配置
  • 运行开发服务器:
  • npm run dev
    # 或
    yarn dev
    
  • 构建生产版本:
  1. npm run build
    npm start
    # 或
    yarn build
    yarn start
    

使用说明

用户认证

  • 系统支持两种模式:
    • 数据库模式:完整功能,支持多用户注册,管理面板,和数据云端同步
    • 本地单机模式:单用户模式,使用默认管理员账号,数据仅保存在本地。

游戏模式

系统提供多种预设游戏模式:

  • 冒险探索
  • 悬疑推理
  • 恐怖惊悚
  • 浪漫爱情
  • 科幻未来
  • 奇幻魔法

用户也可以创建自定义游戏模式。

游戏操作

  1. 选择游戏模式
  2. 阅读 AI 生成的故事内容
  3. 做出选择影响故事发展
  4. 查看游戏状态(背包、位置等信息)
  5. 可随时保存/加载游戏进度

系统设置

在设置面板可以配置:

  • AI 提供商和 API 设置
  • 游戏参数(默认模式、选择数量等)
  • 界面主题和语言
  • 管理自定义游戏模式

系统管理

在接入MySQL的情况下,支持多用户管理,剧情记录管理,系统默认配置管理。

在接入MySQL的情况下,用户的模型配置数据和剧情记录保存在云端,可多端同步,登录后刷新界面即可自动同步,如果同步失败尝试再次刷新界面。

技术栈

  • 前端框架:Next.js
  • UI 组件:shadcn/ui
  • 状态管理:React Context + 自定义管理器
  • 认证:JWT
  • 数据库:MySQL (可选)
  • AI 集成:OpenAI API 兼容接口

开发指南

扩展功能

  1. 添加新游戏模式:
    • DEFAULT_GAME_MODES 中添加新条目
    • 或通过 UI 创建自定义模式
  2. 支持新 AI 提供商:
    • 在配置管理器中添加对新提供商的支持
    • 更新设置界面中的提供商选项
  3. 添加新游戏变量:
    • 修改故事引擎中的状态管理逻辑
    • 更新 UI 显示相关变量

常见问题

游戏无法启动

  1. 检查 AI API 配置是否正确
  2. 确保网络连接正常
  3. 验证 API 密钥是否有足够权限

故事生成失败

  1. 尝试重置 AI 配置
  2. 检查模型是否可用
  3. 调整故事长度设置

数据库连接问题

  1. 验证 MySQL 服务是否运行
  2. 检查连接字符串格式
  3. 确保数据库用户有足够权限

贡献

目前项目处于起步阶段,很多功能和逻辑还不完善,欢迎提交 Pull Request。本项目采用Apache-2.0 license许可证开源。

项目开源地址

GitHub - eraycc/AI-PlotGame: 由ai驱动的剧情游戏,支持强大的自定义ai接口及常见模型,和管理面板

https://github.com/eraycc/AI-PlotGame

项目体验地址

AI 剧情游戏:https://ai-plot-game.vercel.app/

用户界面

1d800a3acdba46ecbc7e5cbe8daffc449d6c8354.jpeg

fdb3403b3d504188e46045509dd8bd1373db6869.jpeg
e5d3430b3920c1b3128fbc88c46f7aa2f9b8d821.jpeg
01f5f9e3c741912c0b1cd8fd92b0779ed5a21dbc.jpeg
c5cbcb66c8c3ab020af38e84b929c8cfaa557ee7.jpeg
154735d9525419aa10211f703fcdf17d86b741c7.jpeg
54846f723433cd406fa5ddfdbb151952b07a2207.jpeg

──── 4人觉得很赞 ────

使用道具 举报

昨天 16:42

国内免费模型体验可以用智谱的glm-4-flash

api基本地址写
https://open.bigmodel.cn
api密钥
官网申请的密钥
模型聊天请求路径写
/api/paas/v4/chat/completions
模型写
glm-4-flash(免费模型)
ai剧本杀吗,好玩
mahao
昨天 16:43
可以自定义游戏模式,应该想要什么剧情都可以  详情 回复
hljsyz 发表于 2025-7-16 16:42
ai剧本杀吗,好玩

可以自定义游戏模式,应该想要什么剧情都可以
xjdata 发表于 2025-7-16 16:42
国内免费模型体验可以用智谱的glm-4-flash
api基本地址写
https://open.bigmodel.cn

Gemini有免费的api使用,可以试试
太强了!感谢分享
玩!玩的就是ai剧情
这想法不错啊
您需要登录后才可以回帖 立即登录
高级模式