自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

CraneInForest的专栏

技术积累和项目管理,沉淀到这里

  • 博客(19)
  • 资源 (10)
  • 收藏
  • 关注

原创 unity帧同步游戏极简框架及实例(附客户端服务器源码)

阅前提示: 此框架专为有帧同步需求的游戏打造,实现了一个最精简的框架,这几篇文章我会详细讲解帧同步游戏的制作要点,伴随框架自带了一个小的塔防demo作为演示.什么情况下需要使用帧同步帧同步原理服务器校验如何做平台分离逻辑和绘制如何分离哪些unity接口不能调用(Debug.log)定点数如何去掉Vector2和Vector3不能使用dotween随机数如何做加...

2018-09-01 11:36:51 38942 42

原创 游戏开发中常用设计模式梳理和总结

阅前提示:本文讲述内容为游戏开发中涉及的常用设计模式,以及个人对这些模式的思考和总结,这些模式来自于前辈们众多项目经验实战总结,因此读者应具备一定的游戏开发经验,方能更好的理解和运用到实际工作中目录:状态模式外观模式单例模式中介者模式桥接模式策略模式模板方法模式工厂模式建造者模式享元模式组合模式命令模式责任链模式观察者模式备忘录模式访问者模式装饰模式...

2018-08-20 08:45:46 3389

原创 Unity3D + luaframework如何做到一键打包

阅前提示:本文讲述内容为如何优化luaframework的打包流程,并不是讲如何使用luaframework配合unity3D进行热更新的基础内容,因此需要读者有unity3d + luaframework的使用经验,以及熟悉assetbundle的热更原理和流程,否则不建议阅读.目录: 1.为什么要做一键打包 2.使用OnScriptsReloaded 来串接整个流程 3.如何在O...

2018-08-04 17:48:15 1672 2

原创 多人在线游戏技术难点分析

本文主要聚焦于多人在线游戏的两个技术难点:1.服务器的承载能力2.玩家体验通信架构同步方式和异步方式同步简单粗暴,数据稳定性高,但需要收集到所有玩家数据后才能做出下一步反应,因此体验取决于网速最慢的那个人异步方式体验最好,可以容忍更加不稳定的传输线路和糟糕的延迟,但需要处理很多异常状况游戏中具体采用哪种通信架构并没有一个标准答案,要根据游戏具体的设计和玩法来进行对应的选择构成游戏世界的三大基本要素:玩家和npc的交互(异步)格斗游戏,攻击与躲闪的异步冲突,发送表示原因的数据,不能只发送结

2021-05-10 17:30:44 2851

原创 Dots初探和原理分析

什么是DOTSData-Oriented Tech StackECS Entity Component SystemC# Job SystemBurst CompilerDots的官方数据450w个mesh render10万个音频文件同时播放5k个不同的汽车模型20万个不同的建筑模型稳定60帧DOTS原理ECS 用于编写高性能代码Job System 用于高效运行多线程代码Burst Compiler 用于生成高度优化的本地代码这三者是完全不同的两个概念,可以分开使用,但

2021-02-14 15:42:24 2265

原创 unity内存优化技巧整理

2020-12-15 20:32:25 307

原创 unity客户端载入体验优化解决过程记录

最近运营组提了优化建议,说进入游戏时感觉很卡顿,进入游戏的整个loading过程中会出现3次明显的卡顿,不顺畅,体验很不舒服,同时找了几个竞品游戏做对比,发现我们的游戏确实加载体验不好,遂开始着手分析是哪里出了问题.1.第一直觉是美术资源加载的问题,资源加载是卡主线程的,肯定会出现画面卡顿.于是我从启动函数开始梳理,直到卡顿的地方,发现还没到加载美术资源的地方就已经卡了,继续2.发现运行第一个lua脚本的地方会出现明显卡顿,于是开始分析这个lua脚本做了什么逻辑,一行一行进行注释,调试,最后只剩

2020-07-04 19:43:26 408

原创 unity接入bugly无法显示C#错误行号

项目上线后在bugly后台收集到一些c#的错误日志,如下所示:可以看到堆栈信息,但看不到具体的行号,这对于一个函数中有多行代码的逻辑来说只能说帮助有限.在unity社区发现目前并不支持release发布的l2cpp的版本显示行号,于是我尝试改为develop+mono进行打包测试,结果如下:这次可以正常显示了,为了确认是develop+mono才能正常显示,我又试了试release+mo...

2020-02-08 17:38:11 2580 7

原创 unity www在android端不释放内存问题解决方案

最近在优化unity游戏项目内存占用,游戏打开时会先从包里解压一部分资源到本地,原本是使用的www进行解压,解压的包体有400M,解压完毕后发现unity竟然不会释放这部分内存给系统,而是继续持有,查询了很多相关资料后发现这是C#的问题,C#的设计理念是一但应用可以申请400M的内存进行解压,那这400M内存也不用还给系统,应用后续的其它内存申请可复用之前申请的内存空间,减少数据吞吐提升运行效率,...

2020-02-02 21:13:19 1236

原创 unity2019.1.5f1及更高版本不再存储UIText的完整vertex信息

最近在做聊天emoji支持,用的版本是unity 2019.1.8f1参考了网上多个例子,均出现排版怪异的问题,排查原因后发现是unity新版中不再存储UIText的空格,换行等完整vertex信息,因此,所有通过OnPopulateMesh重新修改text的顶点信息来实现图文混排的算法全部失效.在这篇帖子中,unity官方给了回复:https://forum.unity.com/thre...

2020-01-14 14:00:02 2342

原创 unity+tolua 64位android崩溃排查过程记录

最近项目上线googleplay,需要打64位包,由于unity l2cpp打包比mono慢很多,因此前期开发过程中都是用的mono打的32位包进行测试.结果64位包出来后发生各种莫名其妙的卡死,尤其是重载场景以后,几乎必然出现我试着把手机接上androidstudio查询日志,发现卡死的时候触发了bugly,难道是bugly的bug导致的?于是我决定暂时去掉bugly,结果发现原来会触发卡死...

2020-01-02 15:04:50 1931

原创 unity IAP错误排查:The object of type ‘AsyncWebUtil‘ has been destroyed but you are still trying to acces

unity IAP 错误排查:The object of type 'AsyncWebUtil' has been destroyed but you are still trying to access it.正在开发的项目有超时断线重连的功能,这时候会重载场景,重载后如果调用IAP的支付代码会触发报错:MissingReferenceException: The object of typ...

2019-12-28 19:48:57 1567

原创 Luaframework Unity2019适配(附源码)

公司最近新开项目,打算升级unity到最新的2019,run了一下最新的luaframework无法正常运行,于是做了一些小调整.改动了以下三个文件:在win10, android,ios上均测试通过.如有类似需求的同学可以参考看看.源码地址:https://github.com/CraneInForest/LuaFramework_UGUI.git具体修改的地方可以看看git仓库...

2019-05-23 21:14:16 2412 1

原创 游戏团队,各职位人员离职所带来的影响和不同

公司boss是商务出身,不懂技术,也不懂游戏开发和游戏团队,于是常常需要给他普及一些常识性的知识.游戏制作人游戏制作人一般为游戏title的发起者,多为公司高层,股东,甚至boss本身,一般来说,游戏制作人是不会轻易离职的,除非公司出现重大变故,或者公司内部政治斗争导致不得不走等等,但,一旦出现游戏制作人离职的情况,那该项目团队或许就要面临解散的局面了.项目负责人/项目经理很...

2019-05-10 09:21:33 1461

原创 科技公司需要了解的重要问题,工程师的思维和情商

我是技术出身,对于曾经共事的同事多有观察,发现工程师的思维非常可爱,简单,直接.会在心里转小九九的地方大都在薪资福利,岗位,职级等地方打转,很少会在人情世故,鸡毛蒜皮的事上的纠结.代码写累了,阳台人手一根烟就是一群兄弟最真实的写照.最近公司出了两个新政策,让公司工程师大为光火,公司规定:1.周末加班餐不可统一报销,必须各报各的,而且需要餐饮发票.2.周末加班不管加到...

2019-05-10 09:10:41 369

原创 skynet中如何使用redis

我们最近的项目中,使用Skynet+redis作为搭档,redis这个高速缓存使用起来非常方便,效率也很不错,现在进行一个简单的记录和分享.我们使用的Redis是适配与skynet的lua版本.Redis的启动非常简单,一句话搞定:目录定位到:/skynet/myexample/mulclient启动命令:redis-serverredis/redis-na-base-m...

2019-05-10 09:07:25 3244 1

原创 项目leader如何把控团队氛围

今天主美来找我,说有个做建模的MM反应说团队氛围不好,太过严肃,死气沉沉。这着实让我吃了一惊。主美问我要不要抽个时间做个团建,聚个餐,缓和一下团队氛围?直觉告诉我没那么简单,我说让我考虑考虑。下班回家路上我就在反思哪里出了问题。最近我定了两个可能让团队成员压抑的规矩:1.所有人创建工作QQ,上班时间不能使用私人QQ我发现不少人有在上班时间闲聊QQ的坏习惯,可能是上家公...

2019-05-10 09:04:34 1166

原创 unity5.x适配Android P刘海屏方案

unity5.x适配Android P刘海屏方案修改启动Activity生成jar包替代启动Activityunity2018的方案最近项目有需要适配Android P的刘海屏,尝试在androidManifest.xml中进行了各种配置发现系统仍然自动两边留黑,刘海附近默认不绘制,最后方案是通过修改启动activity进行解决:修改启动Activity以下是MainActivity.jav...

2019-03-05 13:45:04 3003 5

原创 通过Jenkins搭配Unity3d + luaframework实现网页端自动化打包

阅前提示 本文讲述内容为在实现unity3d+luaframework一键打包后,如何与jenkins整合,进行自动化打包,如果您不知道如何做到一键打包,请参阅我的另一篇文章: https://www.jianshu.com/p/2377340b2a18 如果您对unity3d,luaframework不熟悉,则不建议阅读.上一篇我们讲了Unity3D + luaframework如何做...

2018-08-13 09:10:12 609

游戏测试精通>和

游戏测试方面的经典,游戏测试相关的数不多,这两本算是实用经典,值得一读,对游戏测试感兴趣的同学可以看看.

2019-02-19

游戏架构设计与策划基础

以当前游戏公司实际游戏策划设计方案为教学实例,介绍游戏策划设计的基本理论,把重点放在提高学员各种游戏的设计能力上。通过对游戏开发中的概念设计、原型设计、规则设计、情节设计、关卡设计原则的介绍,兼顾具体的关卡设计实践与游戏编辑工具使用实践,使读者全面了解游戏设计的原理,掌握基本的设计技能。

2019-02-14

设计模式可复用面向对象软件设计基础

《设计模式:可复用面向对象软件的基础》是引导读者走出软件设计迷宫的指路明灯,凝聚了软件开发界几十年设计经验的结晶。四位顶尖的面向对象领域专家精心选取了具有价值的设计实践,加以分类整理和命名,并用简洁而易于重用的形式表达出来。本书已经成为面向对象技术人员的圣经和词典,书中定义的23个模式逐渐成为开发界技术交流所必备的基础知识和语汇。

2019-02-14

人月神话(中文版)-pdf

软件领域,很少能有像《人月神话》一样具有深远影响力和畅销不衰的著作。Brooks博士为人们管理复杂项目提供了洞察力的见解,既有很多发人深省的观点,又有大量软件工程的实践。本书内容来自Brooks博士在IBM公SYSTEM/360家族和OS/360中的项目管理经验,该项目堪称软件开发项目管理的典范。该书英文原版一经面世,即引起业内人士的强烈反响,后又译为德、法、日、俄、中、韩等多种文字,全球销售数册。确立了其在行业内的经典地位。

2019-02-14

C#入门经典 第7版 pdf

主要内容 ◆ 首先讲解编程基础知识,如变量、流控制、面向对象编程、类、函数、集合、比较和转换等 ◆ 重点介绍Visual Studio 2015中初学者喜欢的C# 6开发环境,囊括所有最新功能和语言改进 ◆ 包括云和Windows编程中级内容,涵盖数据库和XML ◆ 揭密错误处理技术和调试过程 ◆ 以专家撰写的分步指南为特色,指导初学者在真实编程环境中编写有用的代码

2019-02-14

Irrlicht 1.7 Realtime 3D Engine Beginner's Guide书和源码

这本书将一步步教会你如何掌握Irrlicht3D引擎,并用它开发3D&2D;应用,从如何正确安装开始,搭建你宏伟的3D世界. 导入模型,加载纹理,控制灯光,管理场景,甚至粒子系统和UI,你都能从这里面找到,你还能从中学到另外一些高级的技巧.such as ..shader? 这本书是Irrlicht3D引擎初学者的福音,你只需要跟着它一步步前进,你就能成为使用Irrlicht3D引擎的高手! 附带随书源代码,学习的最好辅助资料,用这套代码,再配合书进行学习,完成后你基本就算Irrlicht入门了,还等什么?!COME ON!!

2012-01-02

Irrlicht 1.7 Realtime 3D Engine Beginner's Guide随书源文件

Irrlicht 1.7 Realtime 3D Engine Beginner's Guide这本书的随书源代码,学习的最好辅助资料,用这套代码,再配合书进行学习,完成后你基本就算Irrlicht入门了,还等什么?!COME ON!!

2012-01-02

ANDROID 3D练习代码

ANDROID 3D练习代码 一个简单的练习DEMO

2009-02-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除