【拾枝杂谈】从游戏开发的角度来谈谈原神4.0更新
勤时当勉励 岁月不待人
C/C++ 游戏开发
Hello,米娜桑们,这里是君兮_,结合最近的学习内容和以后自己的目标,今天又开了杂谈这个新坑,分享一下我在学习游戏开发的成长和自己的游戏理解,当然现在还是一枚小白,可能在专业性方面不够深入,在初期的顶多算是游戏玩家的一些不成熟的看法和见解,欢迎各位大佬指出文章中出现的谬误或者分享自己的看法
原神4.0更新分析
- 前言
- 一.更新环境的分析
- 二. 更新的内容及分析
- 1.新内容
- 2.新内容浅谈
- 潜水以及水下场景
- 枫丹的设计
- 新的元素——芒和荒
- 音乐
- 总结
前言
本专栏的主要目的是分享自己对游戏的个人理解和看法,当然由于是个人看法,自然不是随波追流的,如果与您的看法不同或者不合,那就是您对,本文全当做您饭后茶余的谈资,目前主要的规划是分享《原神》和《星穹铁道》的游戏见解,毕竟博主不做云玩家,我始终认为只有自己上手玩过了才配谈理解而不是人云亦云,所以暂时只分享博主目前在玩的游戏。
- 关于更新,目前的规划是一个版本更新一次,如果遇到大版本变动或者更新,可能会分几次来更新,更新时间大概是每个版本中期或者结束以后。
一.更新环境的分析
- 像类似原神这些周期性更新的游戏都是有一定的版本更新规划的,大版本一般是在游戏初期框架就已经构建好了也基本不会有大变动,其次每个更新的小版本会因为流水,热度等的影响会有一定的变化,那么此处原神的大版本更新所处的大环境是什么呢?
- 哪怕是很多不玩原神的游戏玩家都看出来了,在上个大版本的中后期尤其是米哈游的新游戏《星穹铁道》出来后,原神的更新几乎是处于摆烂的状态,少有新地图新活动推出,甚至up的角色,也主要是已复刻角色为主,其实这是能够理解的,总要为新游戏让让路嘛!!与竞技类游戏不同,像原神这样的游戏如果没有新鲜的内容加入是很难留住玩家的,这就会导致大量玩家的流失,除非热爱很难有人能天天抽出时间日复一日的重复旧的事物,玩游戏是为了放松而不是让游戏玩你,因此玩家和热度的流失是很正常的现象,同时米哈游能放任热度的降低和玩家的流失,说明他们有信心并且有规划能让玩家在某个结点回归,也就是游戏热度的几个峰点之一——大版本更新,原神的4.0新版本正是在这种百废待兴的环境下更新的。有了上面对更新环境的理解,我们就能对游戏版本的更新进一步分析,揣摩原神开发团队的深层用意
(我的好友中也已经有好多人长时间不登录游戏了)
- 这里谈谈原神与其他竞技类游戏的不同,为什么没有新内容会造成大量的玩家流失(个人理解)
从专业一点的角度来说,是游戏性质的不同,竞技类游戏的游戏性在于竞技,通过获胜或者失败来增加玩家的满足感和好胜心,玩家输了想赢,赢了还想赢,从而维持这类游戏增加日活跃度和玩家数量,而原神作为一款开放世界的探索类游戏,如果没有新内容供玩家体验,自然难以维持日活跃度,造成大量玩家的流失。
二. 更新的内容及分析
1.新内容
- 本次更新的重点在于新的地图和新的游戏玩法——潜水,同时也围绕着新的国家枫丹开启了新的主线任务,以及新的战斗元素荒和芒,关于角色,则随着主线引出了一系列的新角色,并up了在新地图充当引路人身份的新角色林妮和琳妮特。
新活动还没出完,这里就不多说了,如果这篇博客的数据还不错的话,我会单独出一篇内容讲讲新活动以及活动背后项目组的一些小心思
2.新内容浅谈
潜水以及水下场景
-
先说说最大的更新无疑是玩法上的更新潜水了,放几张游戏实机的图片
-
这次最大的游戏操作上的变化无疑是为了能够有更好的水下体验,原神项目组的开发人员解放了对Y轴的锁定(如下图),不再固定视角,这样就加深了游戏中潜水的真实感,又能使玩家更好的体验到开发人员精心搭建的水下景色。
-
说到水下场景的搭建,通过游戏实机足以体会到项目组人员的用心,其实在4.0枫丹的前瞻节目中,开发人员也有提到他们的水下设计理念和思路,实际上,真正的水下无疑是幽暗和宁静的,往往只有在更深的海底才能见到海底的奇妙生物圈和美景,但是,为了考虑到玩家的游戏体验,我相信项目组的人员也花了不少的时间来寻求真实感和游玩体验的平衡,最终选择如今的这版方案:
-
将海底的环境整体调亮,黑暗狭小的环境往往让人恐惧和害怕,这无疑会使海底体验大打折扣,同时,如果真的让玩家潜水到非常深的位置才能看到海底景色,也会影响玩家的探索欲望,因此选择了把整个海底整体调高,让玩家跃入水中海底景色便能跃然眼前。对于更深的地方的探索,地图上采用洋流和海中的深坑来实现,洋流使玩家能在水下体验时不至于找不到方向,同时洋流也把玩家带向任务和宝箱所在地极大的简化了玩家的探索流程,而深坑起到连接更深处的作用但是在深坑中又不至于让玩家长时间处于狭小的环境中探索。
-
在说说水下战斗 对于水下探索来说战斗无疑也是重要的一环,怎么设计怪物?玩家又该怎么打败他们?如何把控怪物的强度让它既使玩家感受到水下战斗的乐趣又不至于影响玩家的水下的实际体验?其实市面上的很多游戏都给出了自己的答案,原神项目组给出的答案是这样的:
-
如果水下玩家能像陆地上一样自由的使用技能和攻击,无疑会极大的影响水下探索的真实感,而由于环境的不同导致的释放技能出现的各种bug也令人头疼,原神项目组选择了最简单也最直接的一种方案——统一水下技能,这是一种省事的方法,同时由于技能的一致,怪物的强度的平衡也会变得非常好设计,在如今展示给玩家的是能从固定的几种海洋生物中抽取技能来达到攻击和防御的目的,同时在海底的解密和探索中,这种攻击方式也能方便玩家的探索。相信将来还会出更多的类似海洋生物的设计来进一步增加玩家水下的探索体验
-
从网上大量玩家的反馈和博主本人的实际体验来说,原神这次水下探索的设计至少能打到80分以上的成绩,但是除了上述设计优秀的地方,其实还有不少仍有优化空间的地方,我简单的谈谈我认为水下探索还做的不够好的地方
-
第一是水下的精英级BOSS的设计,很多难度其实还是不小的,或者说打的比较折磨人,因为你只能用那一个技能打,这种BOSS血设计的还贼厚,你在打BOSS的时候还不能加血并且没有盾( 我个人一般不吃药并且习惯用钟离了,攻击时还必须站着不动躲不了技能真的很不友好 )
-
我自己在几次挑战的时候也碰到了不少壁,同时BOSS的攻击逻辑似乎也有点单调,我印象最深的就是一个需要你弹反才能造成伤害的BOSS,它的攻击逻辑大体是先吐泡泡攻击你,然后开盾(这个盾必须弹反才能打破),然后就往玩家的脸上翻滚,然后就是循环,大多数BOSS的逻辑几乎是没有变化的,如果战斗时间较短还好,但是这种BOSS血非常厚玩家攻击的方式又是一定的所以要打非常长的时间。。。
如果是我设计的话,能不能让几个技能组合起来使用呢?不同的技能的组合能造成不同的效果(比如弹反成功后能使BOSS陷入瘫痪状态,此时玩家使用水波攻击能造成更多的伤害),一是能增加BOSS战玩法的多样性,其二则是能减小玩家击败BOSS的难度(当然个人观点,不喜勿喷哈)
- 水下场景不够多样,当然也有可能是这是第一个版本,后续肯定还会出更多其他的水下区域,如今当玩家体验过某些剧情和解密的场景后基本上就不会再去这些地方了,而之后的每日委托任务大多又都固定刷新在某些水下区域,这些区域看多了其实是有点千篇一律的,也就是不够多样,那么能不能在那些玩家不经常去的水下区域设计一些有趣的每日委托呢?这样玩家活动的区间不限于那几片几乎场景一样的海域,不仅能极大的减缓玩家对水下探索新鲜感消失的速度,同时我相信也是花了大心思和时间设计的那些任务海域也能有效的利用起来不是吗?(仅个人不成熟的意见哈,官方不这样做应该也有他们的原因)
枫丹的设计
- 枫丹地图的设计也是一如既往的高标准,由于篇幅的原因,就不再像水下部分具体展开了介绍了,大致上来说,地图的设计十分贴近剧情的风格,或者说,剧情的设计让人觉得在枫丹这个国家有这种的故事也再合适不过,也就是地区和剧情做到了紧密结合,枫丹国家的主题是正义(蒙德——自由 璃月——契约 稻妻——永恒 须弥——智慧),所以这个国家发生的剧情就如侦探小说一般,维持正义,审判邪恶,但是审判的法庭竟然是歌剧院,枫丹人把审判罪人维护正义的过程当作戏剧来看,而我们玩家体验的剧情也非常具有戏剧化,总之我个人觉得枫丹的地区设计和剧情的设计以及人物的刻画都非常优秀,这里就不做剧透了,感兴趣的同学可以自己去体验体验。
- 本次大地图的探索获得了大多数人的好评,我自己体验后也确实觉得枫丹的地图探索体验比须弥优化了很多了,不用再爬上爬下,宝箱的奖励提高了不少,没有特别阴间的点位和解密,处处都能看出设计组的用心,但是有一点对初期探索的玩家不太友好——地图探索中加入的大量荒芒元素。
- 在某些解密和任务中,必须使用带有荒芒能量的能量块才能解锁,而这些能量块藏的地方又比较隐蔽,导致抽了新角色(荒芒属性只有枫丹角色才有)和没抽新角色的玩家的大地图探索体验差异极大,对于有新角色的玩家只需要切换角色就能解决问题,而没有新角色的玩家则必须满地寻找能量块,甚至有时候解密失败了还得去再找一次。。。
新的元素——芒和荒
- 除了以上的更新以外,引起玩家最多争议的无非是新增了荒芒两种元素了,非常多的玩家从大世界就开始担心了万一以后深渊引进了荒芒元素,出现了黄金王兽那样的只能用荒芒元素才能破盾的怪物怎么办?这是否意味着游戏在进入新的大版本后迎来了新的角色膨胀?
解释一下什么是角色膨胀:
新出的角色在无论数值还是机制上都比老角色更强,导致抽新角色和老角色获得的游戏体验大相径庭,导致老角色贬值的现象。
-
其实这就凸显出了抽卡游戏的一个矛盾:
新角色比老角色弱,那除了XP党谁还抽新角色,新角色和老角色差不多,对于很多玩家已经构成了成型的角色队伍和体系,他们自然不愿意花钱却得不到游戏体验的提升,如果新角色比老角色强太多,那无疑会造成那些为老角色消费的玩家的极大的心理上的不平衡,凭什么花了同样的价钱新角色强这么多?极大的影响游戏社区的风气,也会带来一大群等等党——新角色比老角色强,那我还抽老角色干嘛?同时呢,那些老角色在复刻时自然也不会带来多少流水,相当于项目组设计的一个角色只能卖一次。因此平衡新角色和旧角色的强度无疑是设计上的一个重点。
-
对于大多数公司的解决方案是这样的——做出新老角色的差异化。
在某些场景或者通常情况下,新角色比老角色强一点(往往在出新角色的时候策划也会设计让他表现优异的场景),但是他们往往也有不如老角色的地方,而不是全面超越,比如操作手感。比如所需的配队和角色养成的难度,在某些特殊的场景下,老角色甚至能有更出色的表现。这样由于新老角色各有各的优缺点,玩家就不得不进行选择,甚至即使不对XP,由于新角色在某些场景的优异表现而又不得不抽。也就是说,除了角色自身强度,玩家的体验还取决于游戏场景,而游戏场景,不就是游戏策划说了算吗?新角色出了,我就设定特定场景让他显得更强,老角色复刻了,我就换游戏场景让老角色也能喝口汤显得不逊色于新角色,这就是我理解的新出角色背后的逻辑 -
有了上面我讲的角色设计逻辑的基础后,关于新元素是否会破坏游戏环境导致角色膨胀的问题就不难解决了:新角色肯定是比老角色在这种环境下强的,但是老角色也绝对没到不能玩的程度,只是可能游戏体验相对没有新角色那么舒服罢了。
音乐
- 必须狠狠夸一下原神的音乐设计!!!不得不说,米哈游你真的不是一家音乐公司吗?其中普通场景的音乐祥和而又宁静,让人惬意享受大地图探索的乐趣,而战斗音乐宏伟壮丽,如同歌颂英雄战斗的宏大史诗,让人很难不沉浸在里面,总之,音乐这方面没什么好说的,绝对的顶中顶(话说原神线下音乐会也会在我所处的城市演出,不知道能不能抢到票,有生之年一定去线下听一次!!!)
总结
- 总的来说,在当前原神热度和流水持续走低的环境下,原神项目组在4.0给所有玩家交出了一张非常不错的答卷,但是仍然还有不少能够优化和进步的地方,期待原神能在之后的版本中带来更优质的内容!!
ps:从新版本的这个体验收集活动和邀请玩家回归领原石的活动看出,原神长时间热度和在线人数都比较低,策划们真的有点急了,如果你关注过运营方面的内容你可以看出原神在新版本更新后热度有所回归但是流水依旧比较低迷,甚至都不如须弥的第一个版本(要知道,须弥的第一个版本up的新角色可是一个常驻角色,而林尼不仅是一个限定角色而且强度还十分在线),有点期待之后原神的周年庆官方会up什么角色推出什么活动来涨流水了hh,毕竟流水低迷对玩家来说其实是一件好事,但对项目组来说,如果推出新版本流水还持续走低怕是大伟哥不会给他们发年终奖了hh
新人博主创作不易,文章也是经过几天的构思和润色才写出来的,如果感觉文章内容对你有所帮助的话不妨三连一下再走呗。你们的支持就是我更新的动力!!!
**(可莉请求你们三连支持一下博主!!!点击下方评论点赞收藏帮帮可莉吧)**
相关文章:

【拾枝杂谈】从游戏开发的角度来谈谈原神4.0更新
君兮_的个人主页 勤时当勉励 岁月不待人 C/C 游戏开发 Hello,米娜桑们,这里是君兮_,结合最近的学习内容和以后自己的目标,今天又开了杂谈这个新坑,分享一下我在学习游戏开发的成长和自己的游戏理解,当然现在还是一枚…...

QT设置mainwindow的窗口title
QT设置mainwindow的窗口title 在QT程序中,通常会有**aaaa-[bbbbbbb]**这种形式的title,对于刚上手qt的程序员同学,可能会简单的以为修改这种title,就是使用setWindowTitle这个接口,其实只对了一半,这种形式…...

SaaS多租户系统架构设计
前言:多租户是SaaS(Software-as-a-Service)下的一个概念,意思为软件即服务,即通过网络提供软件服务。SaaS平台供应商将应用软件统一部署在自己的服务器上,客户可以根据工作的实际需求,通过互联网…...

Java自定义捕获异常
需求分析 ElectricalCustomerVO electricalCustomerVO new ElectricalCustomerVO(); electricalCustomerVO.setElcNumber(chatRecordsLog.getDeviceNumber()); List<ElectricalCustomerVO> electricalCustomerlist electricalCustomerMapper.selectElectricalCustomer…...

力扣--数组类题目27. 移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 示例 1: 输入:nums [3,2,2,3], val 3 输出:2, nums [2,2] 解释:函数应该返回新的长度 2, 并且 n…...

实际并行workers数量不等于postgresql.conf中设置的max_parallel_workers_per_gather数量
1 前言 本文件的源码来自PostgreSQL 14.5,其它版本略有不同 PostgreSQL的并行workers是由compute_parallel_worker函数决定的,compute_parallel_worker是估算扫描所需的并行工作线程数,并不是您在postgresql.conf中设置的max_parallel_work…...

java定位问题工具
一、使用 JDK 自带工具查看 JVM 情况 在我的机器上运行 ls 命令,可以看到 JDK 8 提供了非常多的工具或程序: 接下来,我会与你介绍些常用的监控工具。你也可以先通过下面这张图了解下各种工具的基本作用: 为了测试这些工具&#x…...

【Java】基础入门 (十六)--- 异常
1.异常 1.1 异常概述 异常是指程序在运行过程中出现的非正常的情况,如用户输入错误、除数为零、文件不存在、数组下标越界等。由于异常情况再程序运行过程中是难以避免的,一个良好的应用程序除了满足基本功能要求外,还应具备预见并处理可能发…...

[javaWeb]Socket网络编程
网络编程:写一个应用程序,让这个程序可以使用网络通信。这里就需要调用传输层提供的 api。 Socket套接字 传输层提供协议,主要是两个: UDP和TCP 提供了两套不同的 api,这api也叫做socket api。 UDP和 TCP 特点对比: UDP: 无连…...

<MySon car=“宝马“ :money=“money“></MySon>有没有冒号
为什么car"宝马"没有: 但是 :money"money"就有: <script setup> import {ref} from vue import MySon from /components/MySon.vueconst money ref(100) </script><template><h3>father</h3><My…...

netty(三):NIO——多线程优化
NIO多线程优化 使用Boss线程来处理accepct事件使用Worker线程来处理读写事件,可以创建多个worker线程 package com.review;import lombok.extern.slf4j.Slf4j;import java.io.IOException; import java.net.InetSocketAddress; import java.nio.channels.*; impor…...

Linux操作系统--linux概述
1.Linux概述 Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统(OS)。简单的说就是一种操作系统。在日常中常见的操作系统有一下三种: 2.linux起源和背景 (1).linux的诞生 linux操作系统是由李纳斯托瓦兹…...

数组中出现次数超过一半的数字
⭐️ 题目描述 🌟 OJ链接:数组中出现次数超过一半的数字 思路: 采用投票计数的方式,我们可以把每个数字都看成一次投票并且计数,那么最后剩下来的就是数组中数字出现次数最多的那一个。比如 { 1,2,3,2,2,2,5,4,2 } &a…...

网络优化工程师,你真的了解吗?
一、5G网络优化工程师到底是什么? 5G,就是我们通常所说的第五代移动通信标准,属于目前最热门的新技术趋势。随着2019年5G技术进入正式的商用阶段,拥有广阔的发展前景,备受瞩目。“5G工程师”这个词是一个概念词&#x…...

git 的常用命令
git是一个版本管理器,是程序员必备工具之一,其主分为三个区: 工作区: 暂存区: 仓库: 通过保持软件版本,分支,合并,等多种版本操作,使软件能在自己想要的版本…...

linux如何拷贝文件,删除多余的一级目录,用*号代替所有文件
加上*,代表目录下的所有文件 mv /home/user/dir1/dir1/* /home/user/dir1/可以使用mv命令的通配符来去掉一层目录。 例如,假设有一个名为/home/user/dir1/dir2/file.txt的文件,要将它移动到/home/user/dir2/目录下并去掉dir1目录࿰…...

springboot使用properties
一、方式1: 1.1.配置类: package cn.zyq.stater.config;import cn.zyq.stater.bean.User4; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework…...

Android中获取手机SIM卡的各种信息
通过以下工具类方法可以获取到手机SIM的各种信息数据!!! package com.utils; import android.telephony.TelephonyManager; import com.baidu.platform.comapi.map.E; import org.json.JSONArray; import org.json.JSONObject; import java.…...

matlab 根据索引提取点云
目录 一、语法二、说明三、名称-值对应参数1、输入参数2、输出参数四、代码示例五、结果展示六、参考链接一、语法 ptCloudOut = select(ptCloud,indices) ptCloudOut = select(ptCloud,row,column...

蓝芯、四川邦辰面试(部分)
蓝芯 HTTP请求经过MQ异步处理后,怎样返回结果呢?grpc比起spring cloud的优缺点? 四川邦辰 SkyWalking的埋点具体是怎么操作的?newBing: SkyWalking支持两种埋点方式:自动埋点和手动埋点。自动埋点是指通过SkyWalking…...

openCV实战-系列教程13:文档扫描OCR识别下(图像轮廓/模版匹配)项目实战、源码解读
🧡💛💚💙💜OpenCV实战系列总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 上篇内容: openCV实战-系列教程11:文档扫描OCR识别上&am…...

SpringBootWeb案例 Part 4
3. 修改员工 需求:修改员工信息 在进行修改员工信息的时候,我们首先先要根据员工的ID查询员工的信息用于页面回显展示,然后用户修改员工数据之后,点击保存按钮,就可以将修改的数据提交到服务端,保存到数据…...

什么是ChatGPT水印,ChatGPT生成的内容如何不被检测出来,原理什么?
太长不看版 1. 什么是ChatGPT水印? ChatGPT水印是AI以伪随机方式生成的独特tokens序列。该序列用来作为水印,以区分AI生成内容和人类原创内容。 2. 如何规避ChatGPT水印? 一种规避方法是使用其他AI模型改写ChatGPT生成的文本。这会破坏水…...

Android 6.0 Settings中添加虚拟键开关
添加系统默认键值 b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml-212,4 212,7 <!-- Default for Settings.Secure.NFC_PAYMENT_COMPONENT --><string name"def_nfc_payment_component"></string><!--mh.modify 2019060…...

Yolov8小目标检测(12):动态稀疏注意力BiFormer | CVPR 2023
💡💡💡本文改进:动态稀疏注意力,cvpr2023。 BiFormer | 亲测在红外弱小目标检测涨点,map@0.5 从0.755提升至0.758 💡💡💡Yolo小目标检测,独家首发创新(原创),适用于Yolov5、Yolov7、Yolov8等各个Yolo系列,专栏文章提供每一步步骤和源码,带你轻松实现小…...

C# VS调试技巧
一.按照条件调试步骤 ①在需要代码执行的行打断点 ②触发此断点,让代码执行到此处 ③鼠标滑至在断点处,点击设置 ④设置断点条件,如下图所示 二、多线程调试技巧 ①在需要代码执行的行打断点 ②触发此断点,让代码执行到此处…...

VS的调试技巧
Visual Studiohttps://visualstudio.microsoft.com/zh-hans/vs/ 目录 1、什么是调试? 2、debug和release 3、调试 3.1、环境 3.2、 快捷键 3.2.1、F10和F11 3.2.2、ctrlF5 3.2.3、F5与F9 3.2.3.1、条件断点 3.3、监视和内存观察 3.3.1、监视 3.3.2、内存 …...

lucene国内镜像 极速下载
文章目录 国内镜像汇总-极速下载【JavaPub版】 lucene国内镜像 https://mirrors.cloud.tencent.com/apache/lucene/ 国内镜像汇总-极速下载【JavaPub版】...

Qt 信号槽连接方式
使用示例: QObject::connect(sender, SIGNAL(signal()), receiver, SLOT(slot()), Qt::AutoConnection); 目录 连接方式 一、AutoConnection 二、DirectConnection 三、QueuedConnection 四、BlockingQueuedConnection 五、UniqueConnection 总结 连接方式 "q…...

(线程池) 100行以内的简单线程池
文章目录 前言CodeThreadPool.hppmain.cpp 简单讲解所需头文件using成员变量构造析构添加任务PS测试效果 END 前言 线程池_百度百科 (baidu.com) 线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都…...