大型网络游戏设计与AI赋能-6

接上文!!!

所以最后我们会有一个Game design的分析。这个分析主要是在游戏类型,最后这个游戏会发布在什么平台上,游戏的玩法具体是什么样子的,需要提供给玩家哪些比较特殊的玩家体验等等。列出来这4项是一定要去考虑的:游戏类型、发布平台、核心玩法,以及特殊的游戏体验。

我们通过这Game design的分析,挖掘好策划能力需求之后,或者是你可以认为整个制作人所代表的,这个产品上的需求之后,我们就要开始做顶层的架构设计了。那这个顶层架构设计就会分到方方面面,所以我说架构它所包含的关键词有蛮多的。比如说引擎,我们要选择哪种引擎,现有的引擎有没有能彻底满足我们需求的,还是说没有一款是能够满足的,我们可能还要改。

然后第二个所用的语言,客户端的语言,服务端的语言,然后我们的服务器的架构是什么样子的,我们用什么样的数据库,我们的美术规范是什么样子的,通通都要在这个顶层架构设计阶段考虑完毕。包括我们未来的商业化可能会怎么做,这些都会在架构上面有所体现。

然后再往下,就要拆分为客户端和服务端的单独的架构设计,把这里面两块都会分为底层的框架设计和业务层的框架设计。底层的框架设计是做基础支撑的,提供了一些基础功能。基础这两个字并不代表它简单,只是它在你整个架构里面处于一个地基作用。很多同学听到一个基础两个字,好像感觉他很简单,其实并不是。

游戏业务层,业务层的框架的话,更多是提供给到我们的会在上面做迭代开发,比如说初中级的程序员去快速使用这套框架,去快速开发业务系统的。然后再往下,我们还要去制定单个系统的设计规范,或者说设计流程。那这里面一般规范的设计流程就是模块的要点,系统的模块结构,具体的模块的设计,数据结构配置与协议等等。

另外还有一块额外的,就是我们要去制定这个工作流程,就是我们和策划、美术那边配合。因为所有东西都会被整合到引擎里面去,然后成为一款可玩的游戏。

所以我们要去制定好,策划配表的格式,美术资源提交的格式是什么样子的,这些都要规范好。甚至做一些自动化的工具,去加快优化我们整个流程的速度。

其实整个我们说设计层面,就算你不懂代码你应该也能听得懂。这里讲个故事,阿里云的首席架构师,是一个心理学的博士,他并不是专业出身的。所以说架构这个东西是看你想不想去了解,想不想以这种思维方式去思考。但是,如果你永远不以一个设计者的角度去思考,或者说像建筑工程师、建筑设计师一样,这种总工程师的角度去思考的话,你永远都学不会。但是如果你用这种方式去思考,其实你会发现很多东西都是抽象的。抽象的东西,它不需要你具体自己要去实现某一块的。你更多的是要知道技术和技术之间的关系,以及各种技术组合起来,他会产生一个什么样的效果等等。当然软件设计的这套流程你是需要了解的,如果你有技术基础,会理解的更快。

但是为什么有很多程序员,他做了程序做了七八年甚至10年,就会面临一个大家所经常说的什么35岁淘汰。因为他永远没有去进行这方面的训练,或者在工作当中他们有意识的去学习这方面的东西。而他更多的是停留在,比如说实现单个某一个系统、实现一个工会,实现一个背包。今天在这个项目组里面他还是做这些工作,明年到下个项目组里面他还是做这些工作,他永远都没有去扩展自己的视野。那这个时候,到30多岁的时候,可能慢慢就会被年轻人淘汰。因为那些具体的一些实现,其实说句实话,你学个半年一年你就已经能够做了,然后如果你做个两三年,每个人都可以很熟练。

当然这里面实现层面也有区别,你对设计模式的一种理解,你对算法数据结构的一种应用能力,其实也会导致你的这个代码的质量是不一样的,包括单个系统的系统模块的拆封,很多同学其实都没有到架构这个层面,系统设计上其实都很欠缺,就是这个系统设计这一层。很多同学其实做个几年,都没有什么成长的。

所以刚入行一定是在系统设计这一层level,这一层级你要去思考的是我怎么样又快又好,就是又快又高质量的去实现一个系统。别人实现用5天,我用两天。别人用5天实现出来的系统,可扩展性还比较差,我的可扩展性就比较强,这个也是区别。而且在项目组里面,你会发现两天实现一个系统,质量又高,然后扩展性又强的,和5天实现一个系统有bug,扩展性极差的,性能极差的。这两个人在同一家公司他的薪资都不一样,虽然他们好像干的是同为同样的事情。

 扫描下方二维码,领取免费训练营!


在这里插入图片描述

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

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

相关文章

经典机器学习模型(九)EM算法的推导

经典机器学习模型(九)EM算法的推导 1 相关数据基础 1.1 数学期望 1.1.1 数学期望的定义 根据定义,我们可以求得掷骰子对应的期望: E ( X ) X 1 ∗ p ( X 1 ) X 2 ∗ p ( X 2 ) . . . X 6 ∗ p ( X 6 ) 1 ∗ 1 6 2 ∗ 1 6 1 ∗ 1 6 3 ∗ 1 6 …

PostgreSQL11 | Windows系统安装PostgreSQL

本教程选取与参考书籍《PostgreSql11 从入门到精通》(清华大学出版社)的11大版本最新小版本11.22的安装作为教程案例 下载 下载PostgreSQL installer 下载到本地 安装 运行安装引导器 中国地区语言选项(暂时) Chinese(Simplifie…

测试开发工程师(QA)职业到底需要干些什么?part7:硬件测试工程师QA

概述 硬件测试工程师QA主要负责确保硬件产品在设计、制造和交付过程中的质量和性能。主要任务是进行测试、验证和分析硬件系统、组件和设备,以确保其符合规格和质量标准。下面是硬件测试工程师QA在其工作中常涉及的一些方面: 测试计划和策略&#xff1a…

EMCC13.5安装配置手册(详细版)

ORACLE OEM13.5安装配置详细文档 包含详细的安装配置,常见的错误和解决办法,已经OEM添加集群和主机等可能遇到的问题和解决办法 一、数据库基础环境安装 版本:Oracle Database 19c Enterprise Edition Release 19.3.0.0.0 - 64bit Product…

Mybatis的动态SQL~

MyBatis有一个强大特性就是它的动态SQL。在实际项目开发中,经常需要根据不同条件拼接SQL语句,拼接时还要确保不能忘了必要的空格,有时候还要注意省掉列名列表最后的逗号...等等。在使用JDBC 或其他类似持久层框架操作数据库时,处理…

全国美食博主都在天水:一碗麻辣烫,如何在互联网热辣滚烫?

从淄博到哈尔滨,地方文旅此前从未想到过,自己与“一夜爆火”的距离居然这么近; 而等到从哈尔滨再到天水时,地方文旅的应对甚至已经开始轻车熟路了起来。 热闹之下,难免有几个问题需要细思:为什么从2023年到…

【探索C++】友元

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,数据结构,Linux基础,ARM开发板,网络编程等领域UP🌍快上🚘,一起学习,让我们成为一个强大的攻城狮&#xff0…

nvm 报错 Could not retrieve https://npm.taobao.org/mirrors/node/index.json.

报错信息如下 原因 因为淘宝的镜像域名更换,npm.taobao.org域名HTTPS证书到期更换为npmmirror.com,故此导致安装依赖报错 解决 1、进入nvm安装目录(例如:C:\Users\默认账户\AppData\Roaming\nvm)中找到settings.txt…

第八届信息系统与数据采集国际会议(ICISDM 2024)即将召开!

第八届信息系统与数据采集国际会议(ICISDM 2024)将于2024年6月24日至6月26日在美国第二大城市——洛杉矶召开。此次会议不仅展现了世界各地的科研专家们围绕着信息系统和数据采集所展开的最新的科学研究结果,而且也为来自不同地区的代表们提供…

如何进行 SEO 竞争对手分析

SEO (搜索引擎优化)的世界是一个庞大、复杂且竞争激烈的地方。如此之多,以至于你可能会觉得自己永远无法超越你的竞争对手。 但不要绝望:对竞争对手的 SEO 策略进行一些监视会大有帮助。 它涉及评估他们的关键字定位、反向链接配…

【论文阅读】Faster Neural Networks Straight from JPEG

Faster Neural Networks Straight from JPEG 论文链接:Faster Neural Networks Straight from JPEG (neurips.cc) 作者:Lionel Gueguen,Alex Sergeev,Ben Kadlec,Rosanne Liu,Jason Yosinski 机构&#…

redis的设计与实现(四)——单机数据库特性

1. 前言 我们前面了解了redis的数据结构,对象。但是redis对于这些对象的使用和管理策略需要也熟记于心,这篇文章我们就了解一下吧。 2. 类型检查和命令多态 DEL,EXPIRE,RENAME,TYPE,OBJECT 可以对任何数据类型执行SET,GET,APPEND,STRLEN,等…

【nodejs ubuntu】nodejs版本过老的更新方法

使用apt方法安装的node.js版本过于老了,以至于我没法用npm下载hexo 下面是更新方法 参考了这篇文章 然后就可以成功安装了

蓝桥杯算法赛(二进制王国)

问题描述 二进制王国是一个非常特殊的国家,因为该国家的居民仅由 0 和 1 组成。 在这个国家中,每个家庭都可以用一个由 0 和 1 组成的字符串 S 来表示,例如 101、 000、 111 等。 现在,国王选了出 N 户家庭参加邻国的庆典…

PMP考试难不难,通过率怎样?

PMP考试自从新考纲调整后有几次考试难度是非常高的,那段时间我也看网上好多机构通过率都不咋地,当时也是因为官方的出题难度稍高,还组织了免费的重考,也是后来逐渐开始归于平常了吧,直到现在都是我认为比较简单的选择题…

【Qt】QDialog对话框

目录 一、概念 二、对话框的分类 2.1 模态对话框 2.2 非模态对话框 2.3 混合属性对话框 三、消息对话框QMessageBox 四、颜色对话框QColorDialog 五、文件对话框QFileDialog 六、字体对话框QFontDialog 七、输入对话框QInputDialog 一、概念 对话框是GUI程序中不可或…

Unity角色多人同步

1.位置同步和状态同步&#xff1a;需要同步的节点上挂载脚本&#xff1a; gameObject.AddComponent<SyncTransform>(); ; //同步gameObject.GetComponent<SyncTransform>().syncId SyncUtilFunc.GetRoleSyncId(PlayerData.Instance.PlayerId); //同步gameObject.G…

Qt定时器类QTimer

参考原文链接&#xff1a;https://blog.csdn.net/weixin_43780415/article/details/131389737 Qt定时器类QTimer是一个用于重复执行或延迟执行函数的类。它可以在一定时间间隔内发送一个信号&#xff0c;也可以在指定的时间后发送一个信号。QTimer是一个基于事件的定时器&#…

鸿蒙OS开发实例:【工具类封装-页面路由】

import common from ohos.app.ability.common; import router from ohos.router 封装app内的页面之间跳转、app与app之间的跳转工具类 【使用要求】 DevEco Studio 3.1.1 Release api 9 【使用示例】 import MyRouterUtil from ../common/utils/MyRouterUtil MyRouterUtil…

giteed的使用

1. 将工作区的内容添加到暂存区 你的工作区要有内容&#xff08;.git 不算&#xff09; 注意&#xff1a;空文件可以添加&#xff0c;但是空文件夹不管 如果没有形成历史版本之前&#xff0c;暂存区的同名文件会被覆盖 //打开命令行&#xff0c;切换到 .git所在的目录&…