1:构建商业Unity框架必须考虑的几个点
首先,我们在开发商业Unity游戏开发框架时,需要考虑一些要点,做出一些权衡,才能做出好的技术选型。 我们主要考虑以下几个方面:
1:热更新采用什么技术? 目前主流的热更新方案包括:Lua方案、ILRuntime方案、TypeScript puerts方案、IL2CPP方案。 目前强烈建议大家使用IL2CPP解决方案huatuo/HybirdCLR。 由于该方案性能最好,是不会改变任何Unity开发方式的最佳热更新方案,也将成为Unity解决方案的主流。
2:选择好的资源管理技术解决方案。 资源管理技术方案是游戏开发中最重要、代码量最大的方案之一。 资源管理主要考虑开发、发布、清空包、资源热更新、打包增量更新、多平台、多渠道、多版本管理的需求。
3:其他与游戏制作相关的小模块和工具游戏运营,如配置表、UI框架、时间管理、定时器、IO、Debug模块等。
4:应该采用什么样的开发模式来组织业务逻辑代码? Unity基于组件开发模型。 很多游戏框架也会做一些小的改变来定义项目中的开发模型。 例如,某些框架使用状态机作为进程开关。 对于流程和管理主线,有的采用传统方法做流程和管理主线。 具体来说,你可以根据自己想做的游戏类型、开发习惯、团队成员的技术能力来分析和选择。
明确了这些要点之后像素游戏素材,我们就开始列出这些的一些开源框架,方便大家学习和使用,方便大家快速搭建自己的框架。 制作框架已经不再是一件很高级的事情了。 根据自己的想法定义一个开发模型,这样以后开发游戏的时候才能舒心、快乐。 我不提倡直接使用商业的整体框架,比如GameFramework等,除非它们与你的项目管理和组织方式非常接近,否则你必须根据你项目的实际情况定制一个适合你的开发模型和工作流程。 但不可否认的是,GameFramework、MotionFramework、ET等游戏开发框架中还是有很多设计理念和习惯值得学习的,所以作为开发者我们也需要学习一些相关的架构设计和原理。
2:必备业务框架:目前流行的开源模块
我们不给大家推荐一个整体框架,因为这和你的游戏类型、管理风格、技术储备等有关。我推荐几个主要的模块框架来搭建。 这些模块可以很好的处理游戏开发中的具体问题。 同时,这些框架模块也在商业项目中得到了验证。
首先是热更新。 现在只要是新项目,我推荐大家使用基于IL2CPP vm的热更新方式huatuo/HybirdCLR。 华佗现已由途游开源。 HybirdCLR团队曾经在Tuyou上工作,后来做了一个类似的框架,叫做HybirdCLR。 因此,它们应该是同一语言、同一物种,并且都可以使用。 您可以自己决定使用哪一个。
我贴出了两个项目的github地址:
华佗:屠呦呦开元,
HybirdCLR:专注创意游戏(代码哲学)开源:
热更新基于huatuo/HybirdCLR进行项目组织和构建。 选择huatuo/HybirdCLR最大的好处是几乎不会影响正常的Unity开发。 您只需使用Unity正常开发即可,热更新可以秘密为您处理。
选择好热更新模块后,下一步就是资源管理模块。 我推荐您使用图友开源的YooAsset框架。 YooAsset框架目前在很多项目中都有使用,因为它也是经过商业验证后由图友开源的。 它可以帮助我们节省大量的开发时间,而且使用起来也非常方便。 它有Edtior模拟器运行模式、单机运行模式、在线运行模式。
该项目依然来自途游开源:
一旦确定了热更新框架和资源管理框架,你的游戏开发框架基本上不会太差,可以达到商业水平。 而且这两个都是来自图友大厂家,可以放心使用。
接下来是游戏数据配置表框架。 这里推荐的是Luban和FlashExcel。 Luban比较完整,功能强大,可以处理{excel(csv,xls,xlsx),json,bson,xml,yaml,lua,unityScriptableObject}=>{binary,json,bson,xml,lua,yaml,erlang,自定义格式}等格式,FlashExcel专门处理配置表。 给每个人他们的项目地址:
闪存Excel:
鲁班源自开源,专注创意游戏(代码哲学):
3.如何定制自己的游戏框架
前面我们提到,游戏框架的核心是为某类项目的开发定义一种协作和管理的方法。 作为一名架构师,我认为如何定制自己的游戏框架有几个要点:
(1)掌握基本原理和加工方法。 虽然很多东西我们不需要写,但是我们需要知道基本原理和使用方法游戏开发框架,比如清空包,技术原理怎么做游戏开发框架,比如增量更新的技术原理怎么做,比如如何做热更新的技术原理等等,这些可以帮助我们更好的使用、阅读和维护别人写的底层库。 为什么很多朋友自己使用了库却不能很好地使用或者理解它? 其实是因为他们的知识还不够。 如果你能了解主流的解决方案和思路,然后看看别人写的源码,你就会发现开源库。 好处是别人已经花了很多时间做你想做的工作,你不用自己做。 前提是你有接近作者的知识储备,所以一定要注重我们的基础知识、基本原理的学习和研究。 积累。
(2)构建商业游戏框架的另一个重要点是首先要了解别人构建的游戏开发框架是如何组织和管理项目的。 他们的设计有哪些优点和缺点? 哪些游戏和项目适合它。 很多人在公司里可能会使用GameFramework/MotionFramework等,虽然我不建议大家在不了解自己的游戏类型和开发管理方式是否符合这类框架本身的理念的情况下就盲目使用开源游戏框架。 定制,但我还是建议大家学习一些游戏开发框架的组织方法和设计理念,为定制自己的开发流程做一些设计准备。