独自摸索unity近两年了,没跟过完整项目,想自己搭建一个通用框架,不知道如何下手,从哪入手?
或者说处于这阶段的程序员该如何继续提升自己... 框架写游戏就像啪啪啪,框架就像是体位。同一个体位对不同的男女方可能体验是不一样的,所以不应当为了体位而开发体位,而是为了啪啪啪的体验而开发体位。
——来自一个处男 这个问题仅有的1条评论说的很好:
赵青青:我觉得在你这个阶段更需要经历完整的项目,而非追求框架。你多完整地经历几个项目,或者完整的负责某一模块的开发,就会有体会了。1、关于“框架”
“框架”这个概念并非是空中楼阁,并非是高于游戏逻辑的存在。实际上,对所有实用性的技术来说,是否能更好地实现需求才是评判价值的唯一标准。
“框架”的作用,大概有这些:
在后续工作中,能快速解决某一类重复问题。(要确定有同样的问题重复出现)分解某一个复杂问题,比如符合ECS规范的代码需要有很多基础设施支持,有必要做成一套框架方便使用。规定严格的约束以满足性能、可靠性、可扩展等要求。比如很多Web框架、游戏服务器框架搞的很复杂,门槛很高。其目的是为了实现可分布式、实现可扩展性等等。(复杂不意味着好,是否值得要由事实来评判。)实现代码规范,用严格的框架让不同的人写出来的代码具有较高一致性,易于维护。
以我们之前出的一个视频为例,从一个很简单的控制台例子出发,讨论怎样用框架解决实际问题。
【游戏编程教程】真·C#基础(8)【回合制对战4】框架设计探讨_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili2、接触游戏开发两年左右,如何提升自己
首先楼主的情况有点特殊,一直是“独自摸索”。首先,对于游戏开发爱好者来说,大方向上有几个路线:
A、做独立游戏。接触美术、音乐、游戏设计中的一到两项,寻找少量志同道合的朋友,独自或者合作制作小规模的游戏项目。现在发布游戏的门槛很低,可以小范围发布、做尝试。
B、进公司,开始实际的游戏开发工作。这个路线相对很“靠谱”。很多你的疑惑在知乎上并不能得到解答,但是在实际工作时会发现是显而易见的。
C、独自继续进行学习。可以考虑研究游戏引擎、脚本引擎(编译相关)等较为高深的领域。如果走这个方向,也需要多接触新技术,多在网上找到牛人交流,谨防闭门造车。(如果能进入专业院校学习是最好不过的,大多数人没这个条件。)
3、“T型”发展
对于进入公司的人来说,要继续保持学习,对游戏这个综合性事业来说,深度和广度都挺重要,也就是所谓的“T型”发展。题主目前还属于自学,不展开叙述。这里有个类似问题值得参考:
程序员工作内容太杂怎么办?如何提升自己? 你自己先做几款游戏出来,然后把里面的输入系统,UI 控制系统,游戏控制系统等剥离出来,就自然而然地形成自己的代码库,在此基础上才有资格谈框架。
没有做出完整项目的前提下,空谈框架是不现实的。其它编程语言框架的作者都是经历了真实项目的积累才开发出框架的。其实Unity3D 的组件+脚本体系,本身就是一个框架了。
或者你去找找 uFrame,StrangeIOC for Unity 框架看看,看自己是否能理解并驾驭它们,然后再谈框架的事儿吧。 可以以我们团队开发的框架为基础,进行二次开发。
框架特性如下:
UI、Res 代码生成、自动绑定AssetBundle 不用写 AssetBundleName,支持 Simulation Mode文档完善(目前写了 70 多篇)国人友好、中文友好(只写了中文文档)丰富的插件生态(ILRuntime、Lua、各种常用材质、UI 组件、SDK)
QFramework 文档
Github:QFramework 不要一来就谈框架。个人建议从库开始做起。
业余尝试做做小游戏或者demo,将重复代码组织成库。下次就不用重新写了。这样一点点积累自己代码库,过个半年一年就会收益的。 其实上面部分答主说的很准确。前期不要太执着于框架。我刚毕业那会,看过一些设计模式的书,对架构方面非常感兴趣,总想把游戏写得漂漂亮亮的,还自己写了个所谓的框架,以至于大部分时间浪费在重构跟优化上,到最后花了很多时间也没做个像样的东西出来。
实际搞过几个项目,心里就有个大概的低,设计模式跟框架这种,本来就是一些经验提炼出来的,你还没经历过那个阶段,告诉你了,你也很难作用到。等到代码写多了,回过头,自然会发现这些东西不就是自己一直在写的么。 我以前也有类似的问题,当时觉得自己能做游戏好厉害,后来发现自己连CLR的GC原理,attribute的本质是什么等等这种基本问题都不懂,之后就再也不问这种特别大的问题了,安心学习基础的东西
不知道题主是不是处在和我类似的阶段,我个人感觉如果是能设计一个框架的水平,是不会问从哪里开始这种问题的
不过题主基础比较好,只是对unity不太熟的话,就当我没说啦 我觉得在你这个阶段更需要经历完整的项目,而非追求框架。你多完整地经历几个项目,或者完整的负责某一模块的开发,就会有体会了。 还没有跟过完成项目的话,你做不出通用框架。你也说了,解决方案就是做几个中型乃至大型的完完整的项目。
游戏圈有种现象,开发者里面,能作为主力耐住性子做到完整的跟进一个中大型项目的立项、研发、上线、运营一个生命周期的开发者,不足1/10,这些人的工资也是这个行业的top10%以内,说难也不难
页:
[1]
2