Unity主程如何做好游戏项目管理
前言
很多小伙伴最近在面试或者考虑跳槽,可能工作了3~5年了想涨薪或想做技术总监或主程, 可自己还是个雏,没有做过项目技术管理,怎么办?今天我给大家梳理一下作为一个技术总监或主程你应该如何带好一个游戏项目,做好技术管理。接下来我们将以一个项目的主要流程为主干,分析在每个环节中你应该如何处理和应对,避免踩坑(注:有些小的游戏项目,某些环节可以做精简,具体的根据实际情况来决策)。
对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀!
1: 游戏项目的技术可行性分析与验证
公司开始决定研发某个游戏,游戏立项后公司的各种资源陆续到位,作为技术管理者,首先要做好技术上的可行性分析验证。如何做呢?我们可以按照从下几个步骤来执行:

先来看如何把要做的技术验证都列举出来,这个工作其实是很关键的,项目中可能涉及到技术风险,是否能尽早的公关和得到验证,是后期项目平稳上线的关键。我大概列举了一些常用项目可能要注意的几个方向,供大家参考(更具体的一些细节,可能不同的项目会不一样)。
渲染效果与渲染性能
渲染效果与渲染性能是我们首先要验证的核心方向,比如我们要做卡通类的游戏,我们就要开发出高效的符合游戏项目风格的卡通Shader相关代码和技术验证。比如,我们项目中必须要求实施光照,就可以考虑定制渲染管线来代替传统的向前渲染管线来获得更好的效率和性能,如使用URP渲染管线等。

总结: 尽快的在玩家目标群体的机器中做好渲染效果和渲染性能的验证与统计,同时在这个过程中摸索出来设计的技术规范,比如模型的面数+细节增强的流程规范等。这里额外再说一点,模型场景的面数规范不是网络上去百度得到的,而是根据真机的实际的场景,游戏中的物体数目, 运行的目标人群的手机等因数综合考虑来得到的美术设计等一些参数规范。
美术策划工具制作与规范化开发流畅
工具制作也是需要优先考虑和做验证的,因为工具制作涉及到了开发协作流程,比如做一个给策划用的关卡编辑器来做关卡编辑。和策划约定好相关的输入规范与输出规范。策划如何做,程序如何用等,具体的可以结合游戏项目来考虑。这个过程完成后,就可以制定出和美术策划协作的一些具体的工作流程。
游戏核心玩法的验证
有一些游戏的核心玩法,需要验证,比如格斗类游戏需要验证一些玩家的手感,AppStore上有一些创意类的游戏,需要组织技术来实现核心玩法,比如《纪念碑谷》等游戏。比如《贪吃蛇》满屏都是长蛇的玩法验证等。比如有些创意类游戏要做Mesh切割等都需要来做技术验证。
经过上面的一些技术验证和摸索,我们对项目的技术难点,团队成员(程序+策划+美术+测试等)协同开发与合作都可以形成初步的认识与流程方案。
2: 参与制定团队协同工作流
游戏项目开发本质是一个工程管理,所以严格的工程项目管理流程是非常必要的,整个项目开发中设计到的有:美术+策划+程序+测试+运营等。接下来大家就会再一起来商量出一个协同工作的流程。大概率上来说都是基于版本管理工具来进行管理与协作(如git, svn等)。策划提交哪些策划案与数值表给程序到项目中用,美术做好资源后如何导出来,导到哪个目录下给程序使用。在这个过程中,Unity主程要考虑的问题主要是:

综合考虑完这些问题以后,就会出一些协作规范与协作模式,这样大家就可以各自协同开展工作了。对于程序来说工作是非常重要的,因为最后粘合所有的都是靠程序。所以在团队协作中,我个人比较倾向于以程序为主导来建立开发与协作流程。
3: 框架设计,版本管理,热更新,多渠道打包发布
讲了这么久程序员熟悉的框架设计版本管理,热更新考虑,多渠道打包发布才上场。这里上场前先得要划分好目录结构,这里得目录结构要结合上面得工作流,哪些目录开放给策划,哪些目录开发给美术,策划做好得地图数据放在哪个文件夹等,这些我们做框架得时候要优先定好,来疏通上面得协作流程。这些定好后,美术+策划的工作能正常进行了,这个时候才是程序自己做具体框架代码的时候,才是熟悉的配方熟悉的味道。框架设计本质就是提出一套开发规则与开发流程,所有的程序基于这个开发流程来开发业务功能,与业务无关的代码作为框架代码,下一个项目可以重用,与业务逻辑代码相关的就直接考虑用这个项目就可以了,如果其它项目要用再考虑从这里取。这里要特别说的是资源管理,发布的版本管理,热更新版本管理,以及多渠道打包方案,不过这些方案都是成熟的,相信各位主程们都比较熟悉了。
4: 代码review与稳定性测试
作为一个主程,必须要抽时间来review每天的代码推进,专门找人或自己来review每天代码的实现,把控好团队的实现思路,代码质量等,看是否有走偏, 提前发现各种技术隐患,因为你的团队里面不是每个人都年薪百万,所以必须要做好代码的review与管理,如果项目大,开发者多,可以专门让一个技术管理者review代码。在review代码的过程中可以形成技术架构文档,来为团队的交接做好准备,如果是小项目,而功能都是主程自己开发,这个过程可以根据实际情况来省略。

5: 换位思考,能让你获得不一样的视角
程序员本身就很聪明,什么时候能觉悟,完全取决于他看问题的视角,如果他学会多视角来看问题,加上他聪明的才智,一定能很快就觉悟, 获得更好的机会。而多视角看问题,我们不能只在光从程序的角度上去,要从各个角度去审视。所谓不谋全局者,不足以谋一域,不谋万世者,不足以谋一时。只有学会从策划的角度,美术角度,测试角度,运营角度等多角度思考问题,你才能有不一样的视角,才能看到别人看不到的点。才能坦然的去接收,以及后续自己创业时获得宝贵的经验。
6: 对外为团队争取利益,对内不居功自傲
作为团队的管理者,除了要做带好项目,管理好团队还要为团队争取合理合法的利益和权益。权限和利益争取下来以后,对内也不居功自傲,外其身而身存,后其身而身先。很多人说,项目发奖金了,我拿走了大头,自己赚钱了就可以了,苛刻一下小弟又怎么了?说的是没有错,你也可以赚一点小钱,但是你要想你的理想是什么?40岁以后你怎么弄?路越走越宽还是越走越窄。合理合规的分享利益就可以了。这样路才会越走越宽。
今天就分享到这里了,希望屏幕前的你,路越走越宽, 越走越好。
更多教学视频
https://www.bycwedu.com/promotion_channels/1928452950
https://www.bycwedu.com/promotion_channels/1928452950
相关文章:
Unity主程如何做好游戏项目管理
前言 很多小伙伴最近在面试或者考虑跳槽,可能工作了3~5年了想涨薪或想做技术总监或主程, 可自己还是个雏,没有做过项目技术管理,怎么办?今天我给大家梳理一下作为一个技术总监或主程你应该如何带好一个游戏项目,做好技术管理。接…...
103.linux5.15.198 编译 firefly-rk3399(2)
1. 平台: rk3399 firefly 2g16g 2. 内核:linux5.15.136 (从内核镜像网站下载) 3. 交叉编译工具 gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 4. 宿主机:ubuntu18.04 5. 需要的素材和资料ÿ…...
如何从Android手机上轻松恢复误删除的短信 ?
当您使用 Android 手机时,您可能会误删除一些 Android 短信。如果这些消息对您很重要,您可能想要恢复它们。在这种情况下,您可以尝试使用U1tData安卓数据恢复(奇客软件) 来完成这项工作。这篇文章将向您展示更多信息。…...
毅速丨金属3D打印能替代传统制造吗?
金属3D打印技术已经逐渐被很多行业认可和应用,但是目前,金属3D打印多数被作为传统制造技术的一种补充,暂时还不能完全替代传统制造。 金属3D打印使用的是金属粉末进行选择性激光烧结,打印时在成型缸里铺上金属粉末,打印…...
21个新的ChatGPT应用
自从GPT有了图识别功能后变的更加强大,特别是ChatGPT的视觉技术,为我们提供了无数的可能性。本文将深入探讨这21种应用场景,帮助理解其在日常生活和工作中的实际价值。 生活助手:为日常生活增添色彩 健身计划定制:你…...
【通信原理】第二章|确知信号
前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 文章目录 前言 第二章 确知信号1. 确知…...
【JVM】类加载器
【JVM】类加载器 文章目录 【JVM】类加载器0. 类加载器概述1. 类加载器的分类1.1 启动类加载器1.2 Java中的默认类加载器1.2.1 扩展类加载器1.2.2 应用程序类加载器 2. 双亲委派机制2.1 类的双亲委派机制是什么?2.2 打破双亲委派机制2.2.1 自定义类加载器2.2.2 线程…...
利用Excel支持JUnit参数化测试
在JUnit里面,可以使用CsvFileSource读取csv文件进行参数化测试,可是CSV文件不支持格式,编辑颇为麻烦,尤其是多次编辑,因此自然想到是否可以使用Excel文件,可以有各种格式,支持各类数据。 最新开…...
第三章 SysML入门|系统建模语言SysML实用指南学习
仅供个人学习记录 UML与SysML的联系 可以稍微参考UML与SysML的联系 UML(统一建模语言)和SysML(系统建模语言)是两种与建模相关的语言,它们之间存在联系和区别。 SysML的图分类如下图所示。 SysML 图概述 这里只…...
敏捷开发框架Scrum-概述
如果你是一个程序员,可能会觉得这是个程序开发框架。Scrum是一个敏捷开发框架。我们可以把Scrum理解成一个团队一次完成一小部分工作的方式。这种方式通过不断的实验和反馈循环来学习和改进。Scrum可以帮助团队以协作的方式逐步交付价值。 Scrum框架由一个Scrum团队…...
Hafnium启动过程分析
安全之安全(security)博客目录导读 目录 一、在安全世界中加载Hafnium和安全分区 二、通过TF-A启动 1、SP manifests 2、安全分区包 3、描述安全分区...
0基础学习PyFlink——使用Table API实现SQL功能
大纲 Souceschemadescriptor Sinkschemadescriptor Execute完整代码参考资料 《0基础学习PyFlink——使用PyFlink的Sink将结果输出到Mysql》一文中,我们讲到如何通过定义Souce、Sink和Execute三个SQL,来实现数据读取、清洗、计算和入库。 如下图所示SQL是最高层级的…...
文心一言 VS 讯飞星火 VS chatgpt (123)-- 算法导论10.4 4题
四、用go语言,对于一个含 n个结点的任意有根树,写出一个 O(n)时间的过程,输出其所有关键字该树以左孩子右兄弟表示法存储。 文心一言: 在计算机科学中,左孩子右兄弟表示法是一种用于表示树状结构的方法,其…...
[读论文] On Joint Learning for Solving Placement and Routing in Chip Design
0. Abstract 由于 GPU 在加速计算方面的优势和对人类专家的依赖较少,机器学习已成为解决布局和布线问题的新兴工具,这是现代芯片设计流程中的两个关键步骤。它仍处于早期阶段,存在一些基本问题:可扩展性、奖励设计和端到端学习范…...
L2-1 插松枝
L2-1 插松枝 分数 25 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上,做成大大小小的松枝。他们的工作流程(并不)是这样的: 每人手边有一只小盒子,初始…...
Android 使用ContentObserver监听SettingsProvider值的变化
1、Settings原理 Settings 设置、保存的一些值,最终是存储到 SettingsProvider 的数据库 例如: Settings.Global.putInt(getContentResolver(), "SwitchLaunch", 0); Settings.System.putInt(getContentResolver(), "SwitchLaunch&quo…...
二进制安装部署k8s
概要 常见的K8S按照部署方式 minikube 是一个工具,可以在本地快速运行一个单节点微型K8S,仅用于学习,预习K8S的一些特性使用。 Kubeadmin kubeadmin也是一个工具,特工kubeadm init 和kubedm join,用于快速部署k8s…...
多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测
多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测 目录 多输入多输出 | Matlab实现k-means-ELM(k均值聚类结合极限学习机)多输入多输出组合预测预测效果基本描述程序设计参考资料 预测效果 基…...
ITSource 分享 第5期【校园信息墙系统】
项目介绍 本期给大家介绍一个 校园信息墙 系统,可以发布信息,表白墙,分享墙,校园二手买卖,咨询分享等墙信息。整个项目还是比较系统的,分为服务端,管理后台,用户Web端,小…...
记 : CTF2023羊城杯 - Reverse 方向 Blast 题目复现and学习记录
文章目录 前言题目分析and复习过程exp 前言 羊城杯题目复现: 第一题 知识点 :DES算法 : 链接:Ez加密器 第二题 知识点 :动态调试 : 链接:CSGO 这一题的查缺补漏: 虚假控制流的去除…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
论文阅读:LLM4Drive: A Survey of Large Language Models for Autonomous Driving
地址:LLM4Drive: A Survey of Large Language Models for Autonomous Driving 摘要翻译 自动驾驶技术作为推动交通和城市出行变革的催化剂,正从基于规则的系统向数据驱动策略转变。传统的模块化系统受限于级联模块间的累积误差和缺乏灵活性的预设规则。…...
Android写一个捕获全局异常的工具类
项目开发和实际运行过程中难免会遇到异常发生,系统提供了一个可以捕获全局异常的工具Uncaughtexceptionhandler,它是Thread的子类(就是package java.lang;里线程的Thread)。本文将利用它将设备信息、报错信息以及错误的发生时间都…...
密码学基础——SM4算法
博客主页:christine-rr-CSDN博客 专栏主页:密码学 📌 【今日更新】📌 对称密码算法——SM4 目录 一、国密SM系列算法概述 二、SM4算法 2.1算法背景 2.2算法特点 2.3 基本部件 2.3.1 S盒 2.3.2 非线性变换 编辑…...
门静脉高压——表现
一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构:由肠系膜上静脉和脾静脉汇合构成,是肝脏血液供应的主要来源。淤血后果:门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血,引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...
