游戏数值策划-经验值计算公式设计(自百度文库)

较复杂的概念源自于设计师对游戏整体的把握,例如我们在设计游戏中主角的成长经验值时,并不能随意给出个公式就了事,那是毫不负责任的。 经验计算的基础模型
我们通常说的成长所需经验公式大多是: 每级升级所需经验=Lv^3*修正值+修正值
直接拿这个用,可以吗?当然不行! 首先我们要了解成长所需经验的概念,我们为什么需要这个值,这个值控制了什么?稍加想象就可以明白,成长所需要经验公式的意义其实就是为了控制玩家的升级时间。 因此刚才那个公式应改为玩家练级时间公式:
每级升级所需时长=等级^3*修正值+修正值,单位为秒。 我们再稍微修改一下:
每级升级所需时长=(等级-1)^3+60
于是可以得到1-100练的练级所需时间曲线:
 
经验公式的推导
当我们得到了练级所需的时间后,我们如何算升级所需的经验呢?其实有很多种做法,我暂时只说其中一种。
我们可以先设计怪物的经验计算公式,然后再设计怪物被玩家杀死的平均时长。例如我给怪物的经验计算公式设置为:
杀死同等级怪物所得经验=(怪物等级-1)*2+60
然后再给杀死同等级怪物所需要的平均时长设置为:
杀死同等级怪物所需时长=5秒
那么升级所需要经验则为(假如我们的游戏只能通过杀怪升级):
每级升级所需经验=每级升级所需时长/杀死同等级怪物所需时长*杀死同等级怪物所得经验 更完整一点应该为:
每级升级所需经验=((等级-1)^3+60)/5*((等级-1)*2+60) 于是得到曲线:

但是我们再来看看数据:



数值进行优化,以变的更好
上面数值看起来并不优美,于是我们拿函数floor进行修正,于是经验值公式为: 每级升级所需经验=floor(((等级-1)^3+60)/5*((等级-1)*2+60)+60,50) 结果更好看了一些,所有的值均可被50整除。


尽管结果和理想有一些误差,但还是可以接受的。不过以上所说的只是简单的设计方法,实际进行经验公式设计时还需要做很多验算和调整,例如你还需要考虑玩家杀高等级怪或是底等级怪时的情况。

深圳大学的Java程序设计课程中涉及到了网络编程应用。网络编程是指通过网络进行数据交互的程序设计方式。 在网络编程中,我们需要使用Java提供的一些类库和API来实现网络通信。Java中提供了一套完善的网络编程工具,包括Socket编程、ServerSocket编程、URL编程等。 Socket编程是实现网络通信的基本方式之一,它是一种面向连接的通信方式。通过创建一个Socket对象,程序可以与远程服务器进行连接,并进行数据的发送和接收。使用Socket编程,我们可以实现客户端和服务器之间的通信,实现从客户端向服务器发送请求,服务器处理请求并返回结果的功能。 ServerSocket编程是一种服务器端的网络编程方式,它可以接收客户端的连接请求并与之建立连接。通过创建一个ServerSocket对象,并调用其accept()方法,服务器可以等待客户端的连接请求,并将连接请求转交给一个新的Socket对象进行处理。使用ServerSocket编程,我们可以实现服务器的功能,接收来自多个客户端的请求,并处理这些请求。 URL编程是一种用于访问远程资源的网络编程方式。通过创建一个URL对象,并调用其openConnection()方法,我们可以建立与远程服务器的连接,并获取服务器返回的数据。使用URL编程,我们可以实现通过HTTP协议获取网页内容、下载文件等功能。 在深圳大学的Java程序设计课程中,我们将学习如何使用这些网络编程的工具和技术,并实践一些网络应用的开发。通过这门课程的学习,我们可以掌握网络编程的基本原理和常用技术,提升自己的Java程序设计能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值