当前位置: 首页 > news >正文

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/1928452950icon-default.png?t=N7T8https://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. 需要的素材和资料&#xff…...

如何从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 这一题的查缺补漏: 虚假控制流的去除…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

【Oracle APEX开发小技巧12】

有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​:Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...