流水线优化修改1、打包中的候选包抽检环节,一般每个产品出1~2个候选即可2、打包过程中的预选包和正式打包的MTG抽检和UN抽检均由我来亲自审查3、整个任务过程中,希望尽可能地只进行一次PR和tag的版本推送,所以在进行PR的过程之前一定要认真根据脚手架和规范仓库对项目进行检查和修复,尽量不要出现PR之后出问题的情况4、当产品中存在MTG渠道时,需在出候选包时按照脚手架规范进行MTG打点和打点信息的记录,MTG的打点是针对项目的,而不是针对产品的。5、MTG分组打包过程中,如果遇到预先设计的包数无法满足5MB的门禁的话,优先选择低于15个包的包量增加,而不是直接进行质量压缩。6、正式打包和交付前不用执行发布登记库 catalog的登记,我们也没有权限,直接进行打包和交付过程,管理员会在后续进行发布登记库 catalog的登记7、关于MTG的打点Mintegral 官方进度点收到、ThinkingData/ETL 后台,都需要你自己去查验,如果没有的话,想出解决办法,注意这个都是要在正式发布PR和tag之前做的,而不是正式打包的时候再来问我有没有搞定,我哪知道8、在流水线运行的过程中,记录 ...
导言
PA 开发与打包实践 · 02 进阶篇从单工程多配置,到候选验收、版本固定与断点恢复,记录多产品、多渠道交付中的工程做法。
连续做过几批 PA 项目后,我越来越在意一个问题:当同一套玩法需要同时适配多个产品、渠道和语言时,怎样保证每一份成品都来自正确的源码,并且经过了对应的验证?
单个版本可以靠人工记忆推进。规模扩大以后,素材版本、产品身份、渠道配置、候选验收和正式发布之间的关系,就需要明确记录下来。
我们的一次历史交付包含两款产品,最终生成了 824 个文件。这是那个批次的实际规模,并不是所有项目的固定目标。它带来的直观感受是:当成品达到几百份,靠逐个改配置、手工挑文件的方式,很难稳定地完成交付。
这篇文章结合现有项目,整理我们如何组织开发与打包流程。文中的顺序是团队实践,具体渠道格式、体积限制和工具命令,仍然需要以项目采用的规范为准。
阅读导航
01 · 用配置组织差异
02 · 把输入检查放在构建之前
03 · 跑通体验并验证变更边界
04 · 让候选包覆盖风险
05 · 分开记录不同层次的验证
06 · 让测试结果绑定实际文件
07 · 安排发布顺序
08 · 人工接力 ...
导言
PA 开发与打包实践 · 01 入门篇写给第一次接触试玩广告的你:从一个简单玩法开始,看懂开发、打包、测试与交付。
最近做了几批 PA 项目,工作内容从替换素材、调整界面,到生成不同渠道的文件,再到测试和交付。做下来才发现,一个看起来只有几十秒体验的小广告,背后也有一套完整的开发流程。
如果你第一次接触 PA,可以先把它理解成:用户不用先安装游戏,就能直接操作的一小段试玩体验。
PA 是 Playable Ads 的缩写,也就是试玩广告。普通视频广告让用户看,试玩广告让用户亲手点一下、拖一下,或者完成一个简单的挑战,再决定要不要下载。
这篇文章不从复杂的代码讲起,而是顺着一个项目,看看它怎么从想法变成可以交付的文件。
阅读导航
01 · 先想清楚用户要做什么
02 · 准备素材和产品信息
03 · 让画面真正动起来
04 · 打包到底在做什么
05 · 为什么会有很多份文件
06 · 生成文件以后真正玩一遍
07 · 把正确的文件交出去
01–先想清楚用户要做什么假设我们要做一个整理物品的试玩广告。
用户打开画面后,看到几个物品和对应的收纳位置。一个手指提示告诉他可以拖动。 ...
从7月份以来吧,我陆陆续续投了一些简历,试图在大三的时候找到一些实习。而在这个过程中我也遇到了很多很多困难和收获了很多经验吧,希望有些经验可以帮助到需要的人。
第一次面试 Playable ads 广告开发这家公司的名字交克鲁,我面试的岗位是playable广告游戏开发的,大致就像是做一个简单易懂好上手的游戏demo,然后在关键的时机插入一个广告接口,进行广告的跳转。
最开始的时候我并没有考虑投playable广告游戏的,但是这家公司先来找上我,并给我出了一道笔试题,做一个简单的pa demo,因此我就决定试试。经过大概4天的制作,最终我完成了这个名为找物品的小demo并顺利通过了笔试。
很快我就收到了这家公司的面试,这也是我第一次正式的面试,而且时间很仓促,我还没来得及准备太多的面试问题就草草上了战场。
这次面试我还是有很多问题的,面试官问的问题很全面,也很杂。有关于Unity的基础知识,C#的八股知识,和一些性能优化相关的知识。我由于紧张和准备不充分,也是最终被淘汰了,失去了一份在成都本地的offer。
策划的🖊试?在7月底的时候,我收到了成都青瓷游戏公司的面试招聘,邀请我去参加 ...
Cocos
未读此篇章为了解并且对Unity有一定掌握能力的前提下,转战Cocos Creator的简单介绍。
新手入门关于Cocos Creator它是一个完整的游戏开发解决方案,包含了轻量高效的跨平台游戏引擎,以及能让你更快速开发游戏所需要的各种图形界面工具。
本质来说Cocos是和Unity极为相似的以脚本形式实现面向对象开发的一种游戏引擎。与Unity所依赖的C#不同,Cocos主要依赖于TypeScript(TS)语言作为脚本语言,起本质是从JavaScript演变而来,不过具备了面向对象的属性。
与Unity相比,Cocos Creator 是触控科技推出的轻量级跨平台游戏引擎,核心主打 2D 与轻量 3D 场景,深度适配移动端、Web 与国内小游戏生态。也就是说它更适合做跨平台小游戏,或者广告游戏的开发。但它的上手成本不算高,如果你能使用Unity,那么仅需要了解一下Cocos的一些本地API,就可以直接上手,编辑器方面与Unity大同小异。
Unity 转 Cocos节点与组件Cocos 的场景以节点(Node)为基础单位,节点之间以树状层级组织,通过挂载不同功能的组件(Compone ...
有点兴奋,这是第一款完整的demo,已经参加Unity中国开发大赛啦,虽然部分逻辑是看教程做的,但也算是我的第一款可完整游玩的游戏了。
游戏灵感来源于我师父的3D贪吃蛇,我根据这种吃东西变得强大的思路,设计了一个诡异的3D贪吃球,哈哈哈虽然某种角度上效仿了我师父的玩法,但本质也是我自己创新的一个比较抽象的玩法。
游戏场景中玩家扮演的是一个普通的小球,他最开始很小,然后周围会不断刷新随机大小的其他小球,它们会在平面上随机任意的行动,当然,它们看到玩家比自己小的时候,进入一定范围就会对玩家进行追击,反之若它们比玩家小,则会堂而皇之的逃跑。
玩家需要躲避大球的追杀,寻找并追击小球 ,并且不断成长,玩家也可以通过长按Shift或者点击加速按钮,以不断损失体积为代价,获得加速。毕竟加速也是要付出代价的嘛。直至能够称霸整个赛场!
当然普通的追杀还是太简单,太无趣了,因此,我在这个基础上设计了随机道具效果,玩家可以拾取场地上出现的随机道具,可以触发包括,无敌,无代价加速,和时间静止等增益buff。在后续的开发中也可以继续优化游戏玩法,比如,让其他小球也能随机使用某些道具,或者玩家使用的道具居然可以 ...
数据持久化
未读在 Unity 中,PlayOneShot() 是 AudioSource 组件提供的一个重要方法,专门用于播放短音效,尤其适合需要频繁繁播放且不需要复杂控制的音频(如按钮点击、物品拾取以及脚步声音等)
核心特点:
不中断现有播放:调用 PlayOneShot() 时,不会停止当前正在播放的音频,而是叠加播放新音效。
无需设置 AudioClip:直接在方法参数中指定要播放的 AudioClip,不影响 AudioSource 本身的 clip 属性。
自动结束:播放完成后不会保留状态,也不会触发 isPlaying 等状态标识。
轻量级:资源消耗低,适合高频次调用。
与 Play() 的区别:
特性
PlayOneShot()
Play()
对当前播放的影响
不中断,可叠加播放
会停止当前播放的音频
音频片段来源
方法参数指定(临时)
使用 AudioSource.clip 属性
播放完成后的状态
无残留状态
isPlaying 会变为 false
适用场景
短音效、频繁播放(如 UI 交互)
长音频、需要控制(如背景音乐)
支持暂停 / 停止
...
Unity
未读场景切换有两种创建场景的方法: 通过File菜单选择New Scene 在项目文件夹右键选择Create→Scene
1234//需要引用UnityEngine.SceneManagement命名空间using UnityEngine.SceneManagementSceneManager.LoadScene("场景名");//直接使用此方法可能会报错,需要先将场景添加到场景列表中
添加方式:通过File→Build Settings打开面板,点击”Add Open Scenes”添加当前打开的场景直接将场景文件拖入Build Settings面板的Scenes In Build列表
退出游戏通常绑定到ESC键或退出按钮,在Unity编辑器中运行时无效,仅在发布后的游戏中生效
1Application.Quit();
鼠标隐藏锁定隐藏鼠标主要用于第一人称射击游戏等不需要显示鼠标指针的场景。
1Cursor.visible = false;
锁定鼠标可以将其固定在屏幕中心或窗口范围内,增强游戏沉浸感。
12Cursor.lockState = Cur ...
Unity
未读光源组件面板控制Type光源类型
Spot(聚光灯)
Range(发光范围)
Spot Angle(光锥角度)
Direction(方向光)
Point(点光源)
Area(面光源)
Color颜色
Mode光源模式
Realtime
实时光源
每帧实时计算,效果好,但是性能消耗大
Baked
烘焙光源
事先计算好,无法动态变化
Mixed
混合光源
预先计算+实时运算
Intensity光源亮度
Indirect Multiplier改变间接光的强度低于1,每次反弹会使光更暗大于1,每次反弹会使光更亮
Shadow Type
NoShadows——关闭阴影
HardShadows——生硬阴影
SoftShadows——柔和阴影
RealtimeShadowsStrength——阴影暗度0~1,越大越黑Resolution——阴影贴图渲染分辨率,越高越逼真,消耗越高Bias——阴影推离光源距离Normal Bias——阴影投射面沿法线收缩距离Near Panel——渲染阴影的近裁剪面
Cookie投影遮罩
Cookie SizeDraw Halo球形光环开关
...















