关于游戏开发中玩家默认数据的一些记录

亦凉 2023-06-20 06:17 29阅读 0赞
  1. 博主最近的工作是开发游戏的任务系统。领导看了我的代码后,给我提出了一些意见。
  2. 任务情况大概是这样的,一个玩家登陆后,客户端会显示任务按钮,玩家点击后即可查看自己的任务。按照策划的需求,玩家目前有十几个任务。每个玩家的任务数据,都要记录在DB(数据库)中。
  3. 我最开始的做法是:
  4. 1.如果游戏开启了任务系统,当玩家登陆的时候,我会给每个任务都分配默认值。
  5. 2.将这些默认值都记录进db中。
  6. 3.在玩家点开任务图标时,客户端请求玩家的任务数据,服务器返回。
  7. 在偶然的情况下,虽然我得代码也能实现功能,但领导发现了我的代码会瞬间做很多的db操作,然后告诉我内容大概如下:“**一般db操作就是我们服务器的瓶颈之一,可以不用一开始就给每个任务分配默认值,并记录进db。客户端请求的时候,直接返回一个默认值,当玩家参与了具体任务时,再对玩家的数据进行计算,并记录入数据库。**”,
  8. 我之后进行思考觉得太tm有道理了。
  9. **1.可能有的玩家只登陆了一次,点开了任务图标,但是并且不做任务,我会在他点开图标时给他记录全部任务数据(默认值)。**

2.可能有的玩家登陆了,只做了一个任务,之后便不玩了,但是我会在他点开图标时给他记录全部任务数据(默认值)。

3.一瞬间,很多玩家首次点开任务图标,会造成瞬间很多很多的db操作。

  1. 。。。。
  2. 太多的理由表明这是一个很糟糕的设计。
  3. 我在思考后,将程序改动整理后表达大概如下:
  4. **1.玩家点开任务图标,客户端请求任务数据时,如果数据库中没有记录玩家的数据,直接返回一个默认的值。例如:任务为杀1000只青蛙,直接则返回0只,并不用记录到db中**

2.当玩家参与到具体的任务时,再记录到db。例如:玩家现在杀了100只青蛙,则将100记录到db中。等到玩家下次点开任务图标时,返回存贮再db中的100。

这样修改后,一开始那些默认的各种任务的默认值都不会写入db,即使有的玩家之登录一次,也点开了任务系统,也不会记录他的数据到db,一瞬间很多玩家首次点开任务系统,也不会有大量的数据瞬间要写入db。

做此纪录,我可能还是有一些地方设计得不够好,欢迎相互讨论。

发表评论

表情:
评论列表 (有 0 条评论,29人围观)

还没有评论,来说两句吧...

相关阅读

    相关 猜数游戏(v2.0)

    题目要求: 1. 系统随机生成一个介于0~99之间的整数(包括0和99); 2. 玩家输入一整数, 系统根据玩家输入的数值, 提示输入数值与随机数的大小关系, 以供玩家参考

    相关 猜数游戏(v1.0)

    题目要求: 1. 系统随机生成一个0~99之间的整数; 2. 玩家输入一整数, 若和系统随机生成的数匹配, 则可随机抽取一二三等奖(由系统随即决定); 3. 若输入的数和