-
游戏开发-资源与目录结构
Unity项目的目录结构推荐:以下为Unity默认资源目录,存放在项目Assets目录下,即根目录: Plugins:Unity默认的插件目录 x86 x86_64 Android iOS Editor Default Resources:编辑器用到的资源 StreamingAssets : Unity默认的流式资源目录。 Gizmos:Unity默认icon目录。 ImportedAsset[] :...…
-
游戏开发-艺术资产约定
命名风格:前缀-pinyin-后缀前缀: 通用:com 界面:ui 动画:ani 图标:ico 立绘:fig 纹理: tex 预览图:preview后缀:可为数字(ID或序号)或拼音及其混合组合,以更加明确区分资源类型。例如: com-jindutiao-1.png, ui-huodong-di-3.png,ani-zhujue-1.png名字应该去除掉前缀和后缀后,剩下的名称要能直接读出来。 通用的界面,如底框、纯色的图片,使用4x4大小的图片即可,可在引擎中进行九宫格...…
-
游戏开发-热更新
游戏可通过启动器启动。 引擎包含启动器。 引擎还包含渲染、音频、物理、网络、动画、输入等子系统。 热更新用于更新游戏内资源文件。 游戏逻辑代码也是资源文件。 热更新需要有清单。 清单上所列为资源名、大小、校验码 资源文件在更新失败后,必须能回滚,并以旧版本进入游戏。不能因更新失败而陷入更新循环。…
-
游戏开发-游戏性能优化规则
分为以下几部分: CPU:主要是运算量,频繁分配释放 垃圾回收(少即时的分配释放) 算法:尽量使用引用形式代码 使用对象池 GPU:主要是渲染资源占用 渲染:一帧绘制面数 关闭垂直同步 减少透明物体 内存:资源占用 纹理压缩,纹理保持2的幂大小 模型减面 ...…
-
游戏开发-模块、架构等名词解释
架构、框架、模式、模块、组件、插件、控件、中间件的含义和区别。经常看到这些概念,但是有些含糊,花点儿功夫整理一下,结果还是有些地方理解的不透彻,先将整理的内容写下来,以供交流。左侧英文栏中有些单词被分成了两半,放到了两行中,看的时候需要注意。欢迎各路大虾、大牛、大神拍砖警醒,油锤灌顶~~~ 术语 英文解释 中文解释 软件架构 architecture:Architecture is the art of ...…
-
游戏开发-整洁代码
有多少程序员,就有多少定义。所以我只询问了一些非常知名且经验丰富的程序员。Bjarne Stroustrup,C++语言发明者,C++ Programming Language(中译版《C++程序设计语言》)一书作者。我喜欢优雅和高效的代码。代码逻辑应当直截了当,叫缺陷难以隐藏;尽量减少依赖关系,使之便于维护;依据某种分层战略完善错误处理代码;性能调至最优,省得引诱别人做没规矩的优化,搞出一堆混乱来。整洁的代码只做好一件事。Bjarne用了“优雅”一词。说得好!我MacBook上的词典提供...…
-
游戏编程-开发术语
编程语言术语 术语 中文 意义 variable 变量 任意数据的指代 parameter 形参 函数原型中的参数 arguments 实参 函数调用时传递的实际参数 field 字段,域 类的数据成员。 property ...…
-
游戏编程-开发原则与访谈建议
明确目标,你要编写什么? 不要陷入语言细节,保持专注于目标 明确、明显、明晰等,还能减少BUG 保持冷静,保持编码!KEEP CALM,KEEP CODE 保持简洁!KEEP IT SIMPLE, STUPID 保持代码简洁,易读易理解 保持结构简洁,易查错 单一职责,做好即可 将重复代码简化 通常,漂亮的代码通常是正确的代码 人生苦短...…
-
游戏开发-开发中的约定俗成
此文件会持续集成,但只会增加,不会删除条目git分支规则 main:主分支,用于每日更新的无错误、可运行的代码仓库。 release: 主要发布代码,经过测试,不可包含有bug的代码分支,接受持续交付的最新版本。 stable:稳定发布,经过QA验证 其他个人分支unstable:不稳定分支,每日提交。可包含有bug的代码,甚至不可运行的代码,但尽量避免提交不可运行的代码。 名 apk或ipa包名规则:com.companyname.productname.[appge...…
-
游戏开发-常见符号与单词
常见英文单词声明周期管理: Initialize: (系统/模块)初始化,通常用于创建对象(分配内存空间,赋予初始值)。 Shutdown/Deinitialize: (系统/模块)终止。销毁对象(回收内存空间) Setup:通常以命令行或配置文件,对将要进行的任务配置参数,以指定参数环境运行程序。 Reset:重置参数为默认状态。 Create/Destroy、Release: 创建/销毁、释放对象。通常使用创建类的实例以及销毁类的实例。 Allocate/Free: 内存空...…