浅谈数学模型在UGC/AIGC游戏数值调参中的应用(AI智能体)

浅谈数学模型在UGC/AIGC游戏数值调参中的应用

ygluu 卢益贵

关键词:UGC、AIGC、AI智能体、大模型、数学模型、游戏数值调参、游戏策划

一、前言

在策划大大群提出《游戏工厂:AI(AIGC/ChatGPT)与流程式游戏开发》讨论之后就已完成本文的构想,现在才得以整理提出。

众所周知,无论UGC还是AIGC,都面临一个同样问题:复杂的参数调教和简单的人机交互(含AI)的矛盾。UGC毕竟他是U,没有B的强大实力,U肯定希望简单工作就能高效产出。同样,AI还不是完美的,AI也希望简单化以提升AI成品合格率,这和U的需求相吻合。

借旧图抛砖引玉:

本文将阐述以数学模型为基础提出简化数值调参的一些思路。

二、从音响系统的EQ调教说起

以3段EQ调频为例,提升高、中、低任意一个频点都会用数学模型来拉动相邻频点的提升,以达到频点缓和过渡的目的。

图2.1 三段EQ调频图

三、玩家等级升级经验值调参的数学模型设计

借助EQ频点提升的数学模型原理,我们可以用它来设计玩家等级升级经验值调参的数学模型。

图3.1 玩家等级升级经验值曲线图1(直线型)

根据图31,玩家等级升级经验值设置所需的维度只有4个:MinLv(最小等级)、MaxLv(最大等级)、MinUpExp(最小升级经验值)、MaxUpExp(最大升级经验值)。我们再参考EQ分段原理,引入段位维度Seg(Seq=3、5、7...),如图2.2、2.3所示:

图3.2 玩家等级升级经验值曲线图2(凹形)

图3.3 玩家等级升级经验值曲线图3(凸形)

如果经验值按10000递增话,这时再引入取整精度(Digit),如果图3.4所示:

图3.4  按取整精度获得每级升级所需经验值(200级阶梯值)

最终UGC或者AIGC调整玩家等级升级经验值所需的维度有:MinLv、MaxLv、MinUpExp、MaxUpExp、Seg、Digit,常用维度只有4个:MinLv、MaxLv、MinUpExp、MaxUpExp,次常用维度:Seg、Digit。

与传统的200级分别调整的情况相比要简单得多。

同理,玩家的攻防等属性值的调整也可以适用以上数学模型原理。具体公式就不列举了,有点数学基础的基本能实现。

四、BOSS战斗力调参的数学模型设计

我们可以借鉴图2.1,将BOSS的众多属性按攻、敏、防三类进行排序,如图4.1所示:

图4.1 BOSS战斗力调参设计

那么UGC/AIGC仅需调整BOSS的攻、敏、防三个维度的数值。

五、玩家战斗力调参的数学模型设计

玩家战斗力调参和BOSS就不一样了,BOSS是已知属性数值的,而玩家战斗力需要穿戴装备、成长线递进等才能形成最终战斗力。

图5.1 玩家战斗力调参设计

等级系统、装备系统、任务系统等各个子系统可以独立调参,当整体调参的时候也可以将所有子系统同时调参。那么UGC/AIGC调参维度远比人工要的维度要少得多。

六、数值爆表的防控

为防止数值爆表,我们可以使用图6.1所示的数学模型进行最大值防控。

图6.1 数值爆表的防控模型

七、可视化交互

无论是否进入游戏,所有被调整的数值都是无法可视化的,参考EQ的分段数学模型,UGC/AIGC调参的可视化交互界面如图7.1:

图7.1  UGC/AIGC调参的可视化交互界面

如果是UGC,用户可以直接推动五段滑杆。如果是AIGC,AI直接输出相应幅度值推动滑杆,这样AI的正确率远比直接修改200级的配置表来说高得多。

八、结束语

实际应用远比本文所述的要复杂得多,但UGC/AIGC对游戏调参的要求不变:

1、复杂事情简单做

2、抽象出数学模型

3、前2点做不到的就调整游戏的设计(因为你面对的是你无法改变的User和AI)

图8.1 抽象高度

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/45143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hi3861 OpenHarmony嵌入式应用入门--HTTPD

httpd 是 Apache HTTP Server 的守护进程名称,Apache HTTP Server 是一种广泛使用的开源网页服务器软件。 本项目是从LwIP中抽取的HTTP服务器代码; Hi3861 SDK中已经包含了一份预编译的lwip,但没有开启HTTP服务器功能(静态库无法…

NiFi1.25版本HTTPS模式下RestAPI使用入门

Apache NiFi 是一个强大的数据流处理工具,通过其 REST API,用户可以远程管理和控制数据流处理器。本文将介绍如何使用 NiFi 1.25 版本HTTPS 模式下Rest API,包括获取 token、获取组件信息、启动和停止组件、以及更改组件的调度频率等操作。 …

Linux vim文本编辑器

Vim(Vi IMproved)是一个高度可配置的文本编辑器,它是Vi编辑器的增强版本,广泛用于程序开发和系统管理。Vim不仅保留了Vi的所有功能,还增加了许多新特性,使其更加强大和灵活。 Vim操作模式 普通模式&#xf…

科普文:微服务之Apollo配置中心

1. 基本概念 由于Apollo 概念比较多,刚开始使用比较复杂,最好先过一遍概念再动手实践尝试使用。 1.1、背景 随着程序功能的日益复杂,程序的配置日益增多,各种功能的开关、参数的配置、服务器的地址……对程序配置的期望值也越来…

026-GeoGebra中级篇-曲线(2)_极坐标曲线、参数化曲面、分段函数曲线、分形曲线、复数平面上的曲线、随机曲线、非线性动力系统的轨迹

除了参数曲线、隐式曲线和显式曲线之外,还有其他类型的曲线表示方法。本篇主要概述一下极坐标曲线、参数化曲面、分段函数曲线、分形曲线、复数平面上的曲线、随机曲线、和非线性动力系统的轨迹,可能没有那么深,可以先了解下。 目录 1. 极坐…

「网络通信」HTTP 协议

HTTP 🍉简介🍉抓包工具🍉报文结构🍌请求🍌响应🍌URL🥝URL encode 🍌方法🍌报文字段🥝Host🥝Content-Length & Content-Type🥝User…

运动控制问题

第一类运动控制问题是指被控制对象的空间位置或轨迹运动发生改变的运动控制系统的控制问题。这类运动控制问题在理论上完全遵循牛顿力学定律和运动学原则。 1、运动控制问题 第1类运动控制的核心是研究被控对象的运动轨迹 、分析运动路径、运动速度、加速度与时间的关系,常用…

记一次docker容器安装MySQL,navicat无法连接报错(10060错误)

今天在云服务器上使用docker部署mysql 8.0.11时,遇到了一个诡异的问题,在云服务器的docker容器内可以连接上mysql,然而在自己电脑上连接mysql时报错:Can‘t connect to MySQL server on localhost (10060) 下面是网上搜寻的几种可…

SpringMVC框架--个人笔记步骤总结

一、步骤 1.创建工程 2.加入springmvc依赖--pom.xml <!--springmvc依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.2.10.RELEASE</version> </depend…

Camunda如何通过外部任务与其他系统自动交互

文章目录 简介流程图外部系统pom.xmllogback.xml监听类 启动流程实例常见问题Public Key Retrieval is not allowed的解决方法java.lang.reflect.InaccessibleObjectException 流程图xml 简介 前面我们已经介绍了Camunda的基本操作、任务、表&#xff1a; Camunda组件与服务与…

Linux命令更新-Vim 编辑器

简介 Vim 是 Linux 系统中常用的文本编辑器&#xff0c;功能强大、可扩展性强&#xff0c;支持多种编辑模式和操作命令&#xff0c;被广泛应用于程序开发、系统管理等领域。 1. Vim 命令模式 Vim 启动后默认进入命令模式&#xff0c;此时键盘输入的命令将用于控制编辑器本身&…

Android ImageDecoder把瘦高/扁平大图相当于fitCenter模式decode成目标小尺寸Bitmap,Kotlin

Android ImageDecoder把瘦高/扁平大图相当于fitCenter模式decode成目标小尺寸Bitmap&#xff0c;Kotlin val sz Size(MainActivity.SIZE, MainActivity.SIZE)val src ImageDecoder.createSource(mContext?.contentResolver!!, uri)val bitmap ImageDecoder.decodeBitmap(sr…

【Playwright+Python】系列 Pytest 插件在Playwright中的使用

一、命令行使用详解 使用 Pytest 插件在Playwright 中来编写端到端的测试。 1、命令行执行测试 pytest --browser webkit --headed 2、使用 pytest.ini 文件配置 内容如下&#xff1a; [pytest] # Run firefox with UIaddopts --headed --browser firefox效果&#xff1…

云计算【第一阶段(31)】PXE高效批量网络装机

一、系统安装 1.1、系统装机的三种引导方式 1. 硬盘 2. 光驱&#xff08; u 盘&#xff09; 3. 网络启动 pxe 1.2、系统安装过程 加载boot loader Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序&#xff0c;我们可以初始化硬件设备、建立内存空间的映…

【CSS in Depth 2 精译】3.1.2 逻辑属性 + 3.1.3 用好逻辑属性的简写形式

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一章 层叠、优先级与继承&#xff08;已完结&#xff09; 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位&#xff08;已完结&#xff09; 2.1 相对…

深入探讨:CPU问题的深度分析与调优

引言 你是否曾经遇到过这样的情况:系统运行突然变慢,用户抱怨不断,检查后发现CPU使用率居高不下?这时候,你会如何解决?本文将详细解析CPU问题的分析与调优方法,帮助你在面对类似问题时游刃有余。 案例分析:一次CPU性能瓶颈的解决过程 某知名互联网公司在一次促销活动…

《Python数据科学之一:初见数据科学与环境》

《Python数据科学之一&#xff1a;初见数据科学与环境》 欢迎来到“Python数据科学”系列的第一篇文章。在这个系列中&#xff0c;我们将通过Python的镜头&#xff0c;深入探索数据科学的丰富世界。首先&#xff0c;让我们设置和理解数据科学的基本概念以及在开始任何数据科学项…

每日Attention学习11——Lightweight Dilated Bottleneck

模块出处 [TITS 23] [link] [code] Lightweight Real-Time Semantic Segmentation Network With Efficient Transformer and CNN 模块名称 Lightweight Dilated Bottleneck (LDB) 模块作用 改进的编码器块 模块结构 模块代码 import torch import torch.nn as nn import to…

使用DeepWalk 和Word2Vec实现单词Embedding

0、准备“边”数据集Wiki_edgelist import pandas as pddf pd.read_csv(./data/wiki/Wiki_edgelist.txt, sep , headerNone, names["source", "target"]) df.head() 1、读入 起点-终点 边数据&#xff0c;构建图 # 1、读入 起点-终点 边数据&#xff0c…

Docker入门(清晰认识)

为什么学习Docker&#xff1f; 再学完linux后&#xff0c;我们需要远程对Linux虚拟机下载一些软件&#xff0c;如果在Linux里直接用命令下载软件会十分麻烦&#xff0c;所以我们需要通过使用Docker将软件直接下载到Docker中&#xff0c;这样更方便下载和卸载等操作。 一张图弄…