作者: L

71 篇文章

thumbnail
Steam Deck 安装 Steam++
当前文章安装的是 Steam++ 2.8.6 版本 下载浏览器,什么浏览器都行,打开 steamapp.net 网站,选择 Linux 下载,这里最好打开 github 的源链接 选择下图的版本下载 下载好后,解压到桌面,双击运行 Steam++ 运行如下指令 # 此时会要求输入两次密码 passwd # 信任证书 sudo trust anchor --store .local/share/St…
thumbnail
如何设计打包流程
版本 修订记录 修订日期 1.0.0 Init 2023-3-13 目标 & 背景 项目的打包流程是一个细活,但是想设计一套清晰合理,并易于扩展的打包流程不是一件易事。如果公司项目很多,每个项目都设计一套项目自己有的打包流水线,显然是不合理的,那么针对这些情况,设计一套合理的打包流水线就非常有必要 在我司的环境下,我认为一个合理的打包流水线应当包含如下功能 我们这么做,并不能代表在你的项目…
thumbnail
Unity 调用 gradle task
目标 & 背景 在 Unity Andorid 多渠道管理 这篇文章中,有提到如何对 Android 多渠道打包进行合理的自动化划分,但是仍然有一个核心问题没有解决,如何在 Unity CI/CD 流程中,直接调用 gradle 中写好的 task 我们的目标是,所有打包流程全部在 Unity 中完成,不管用的是什么平台的 CI/CD 流程,最终仅仅是调用了 Unity 中一个静态方法 这…
thumbnail
Docusaurus 配合 DocFX
目标 & 背景 最近公司刚刚搭好 Docusaurus 文档环境,刚好在即刻看到 叫我三叔就行 用户提到的 DocFX 自动生成 C# API 的工具,此工具最终会生成一组 yaml 文件,然后进行 web 的绘制,这个和 Docusaurus 刚好冲突 现有的文档不兼容,着实有些遗憾,本篇文章会介绍如何兼容这两个工具 DocFxMarkdownGen 工具 这个也是一个开源工具,其整体思…
thumbnail
Mac Mini 安装 HomeAssistant
起因 最近苹果刚刚发布了 M2 的 Mac Mini,我也入手了一台,合计着使用 Surge 搭建一个软路由,但算力仍然有很多闲置,就准备试试吧 hass 也接入到 Mini 中 接入过程 本文的安装过程对应的是 Home Assistant 2023.1.7 版本,如果版本有变化,很可能会导致安装失败,请自行甄别 首先安装真正的 AppStore brew /bin/bash -c "…
thumbnail
Docusaurus 出色的文档解决方案
目标 & 背景 在 内网 Package 管理 这篇文章中,有提到如何构建公司自有的框架,但由此就引发了一个新问题,那就是 文档,也是困扰了我很久的一个心病,一个符合我想象的文档工具应当包含如下功能 支持版本管理 一个服务对应 N 套框架文档 要支持博客类型的文章 不需要引入其他编辑器软件 最好支持多语言,给未来一个可能 因此花了很多时间对比市面上现有的文档解决方案,最后 Docusaur…
thumbnail
利用 Surge Snell 随时访问内网
起因 公司的大部分服务,都部署在公司的内网上,如果需要远程访问需要连接公司提供的 VPN 服务,但是由于搭建的协议是 OpenVPN,而不是 Surge 支持的 WireGuard,因此每次连接内网都需要关闭 Surge,并开启公司的 VPN 再加上偶尔需要访问家里的内网服务,决定着手对此问题进行改造,这里主要围绕 DSM 搭建 Snell 服务进行介绍,公司的通道也是同理的 目标 首先需要明确一…
thumbnail
Unity Andorid 多渠道管理
版本 修订记录 修订日期 1.0.0 Init 2023-2-4 1.0.1 增加 IL2Cpp编译 2023-2-25 目标 & 背景 一般来说手游开发到一定进度,一定会涉及到大量的 native 交互问题,比如 重启 App、拉起支付、观看广告 等等,而这些大部分情况下都是第三方提供的 native SDK,而且有时候游戏需要接入的渠道多的离谱,再加上很多公司自己研发的 SDK 由于缺…
thumbnail
使用 InterpolatedString 减少字符串拼接的 GC
原视频链接 考虑到 Unity 准备在 2024 年前后,推出基于 dotnet Runtime 的版本,本篇文章也标记为 Unity 分类,等后面 Unity 准备好之后,再对新版的客户端进行改造 在日常开发过程中,字符串的拼接通常会占用大量的 GC,通常拼接字符串我们会使用如下几种方法 1. 1 + "/" + 2 + "/" + 3 2. StringBuilder 3. string.Fo…
thumbnail
向一个外部类插入属性
原视频链接 假设我们有如下 Unit 类,仅有一个 name 字段 public class Unit { public string name; } 此时我们有一个需求,所有 Unit 都希望有一个 position 字段 Unit 类可能因为各种原因无法扩展,比如在 dll 里、package 里,或者你本身不希望侵入 Unit 类进行新字段的增加,此时为了解决这个问题,我们有如下定义 pub…
thumbnail
Mac 双扬声器声音控制
起因 之前入手了两个 LG Ultra Fine 4K 的显示器,因为本身就有扬声器,但是 Mac 插上去就只能用一台显示器输出声音,使用起来非常奇怪,就像缺了一个声道 后来折腾半天,终于找到一个接近原生实现的解决方案 扬声器聚合 在 Mac 原生软件中,有一个 音频 MIDI 的工具,这里我们可以任意聚合所有我们希望输出的音频,因为我这里有两个显示器,所以希望左边的显示器只输出 左声道,右边的显…
thumbnail
Alfred 增加 github search 功能
起因 最近刚刚拿到了 github search 的测试资格,想着平时搜索一些代码的使用,但是每次都手敲对应的 prefix 有些麻烦,因此合计着给整合到 Alfred 流程中 如果你还没有使用资格,可以先申请一下 具体实现过程 首先打开 Alfred 的设置,来到 Features->Web Search 中,参考下图配置 # 我平时使用 C# 查询比较多,这里可以自行替换 languag…
thumbnail
C# 在不同环境下调用 shell 脚本
目标 & 背景 一般在开发一个项目时,往往会分出 N 多个 git 仓库,挨个手动更新会很麻烦,如果希望使用 C# 调用一些 git 相关的命令,通常会使用 Process 这类。由于某些仓库,如配表的导出,我们会写一个比较长的 shell 处理,此时就需要使用 Process 来调用 shell 这个时候问题就出现了,在 Windows/Mac 上,死活找不到 dotnet,两者的处理过…
thumbnail
如何设计技能系统
文档版本 修订记录 修订日期 1.0.0 init 2023-1-7 1.0.1 修复部分显示错误 2023-1-7 在你开始阅读这篇文章之前,建议优先了解如下内容,否则会导致部分段落无法理解 ET Luban Luban Excel 配表工具使用推荐及总结 Luban_Example 如何设计角色属性组件 CliToolkit 工具 推荐结合 hepta文档 一同进行阅读,方便理解数据是如何流转…
thumbnail
CliToolkit 工具
目标 & 背景 在游戏开发过程中,通常我们会为了更好的测试、校验逻辑正确性等,开发很多工具,最常见的就是 GM1 指令,以及一些为运营同学开发的运营工具,如:发送邮件,开启活动等等 这样我们就可以将工具分为两大类 游戏内建 GM 指令 部分工具可以直接丢进 Unity Editor 开发 运营工具(Web) 但是在实际开发过程中,我总是会碰到一些工具放在哪里都不合适,比如:正式服的 AB …
thumbnail
如何设计角色属性组件
目标 & 背景 本篇文章是对 ET1 中 NumericComponent 的介绍和补充,会围绕实际开发过程中可能会碰到的一些问题,给一个解题思路,并且会结合 Luban2 给出一个策划和程序都开心的方案 猫大曾经对 NumericComponent 做出过如下评论 单 NumericComponent 就可以完成 80% Moba 类游戏的设计了 属性组件作为游戏战斗中最底层的设计,拥有…
thumbnail
如何设计游戏登录流程
目标 & 背景 一般来说,游戏的开启,到登陆成功,进入游戏主页,中间的过程是十分复杂的,为了适应各种各样的突发情况、运营需求等,整体登录流程的设计,需要考虑到非常多的情况 我们期望达成的目标可以粗暴的分成下面三个分支,接下来我们一点点对功能进行补充 正常线上玩家 白名单 审核 开始之前 推荐客户端优先使用 HybridCLR1 和 YooAsset2 这两个工具来解决,代码热更和资源热更的…
thumbnail
定制 Unity BuildIn Package
目标 & 背景 在 内网 Package 管理 这篇文章中我们提到了如何自建 npm 工具包,整合 unity 官方 package 和公司自定义的私有 package 此时就会碰到一个新的问题,如果我们修改了 unity 内建的 package 时,就必须要考虑如何适配的问题 比如:项目中自定义的 UI 框架中,需要对现有的 com.unity.ugui 源码进行修改,此时需要使用项目自…
thumbnail
内网 Package 管理
目标 & 背景 一般来说,商业公司可能出于各种考量,会使用内网的开发环境,此时针对 Docker、NuGet、UMP 的服务全部都无法正常使用,同时公司也会自行维护一些自有的框架,也要解决包管理的问题 这篇文章希望通过介绍 SonaType Nexus1(下面简称为 Nexus) 的具体使用场景,补全一些网络上教程的空白,后面主要对 UMP 的使用场景进行介绍 从这些问题存在的角度上来看,…