我本人在游戏业从业5年了,游龄也有10年了, 做过 TA, 引擎工程师,Gameplay工程师, 主程序, 自己业余也一个人搞点游戏, 架构性的工作也一直在做,索性就帮帮题主吧。
这是我之前写过的一套架构,目前也有不少身边项目在用,包括我现在在带的项目,是个基于Unity的热更新架构
github: https://github.com/meta-42/UnityFramework
===========================================================
另外补充一点,以下内容,我不会提到什么MVC, 单例,组件,等等其他答主所说的东西,因为在我看来,这些只是战术层面的问题,以下,我想讨论以下战略层面的问题。
原因有两个:
1. 战术问题,需要工程洗礼,我在这里说的再多,炫技,炫名词,多过实际意义。
2. 在思考一个架构时,一般来说是自顶向下,先抓主干,再填细节,所以战略层面是首先需要理清的, 战术层面,只是选择某种战术来达成战略目的罢了
============================================================
这个问题可以拆分成三个层面来讲,因为这个三个层面的架构 都是完全不同的东西
1.Gameplay
2.Engine
3.Workflow
【Gameplay】
我们从Unity引擎的设计理念说起,Unity是一个弯道超车的现代引擎,之所以可以弯道超车,以下两点功不可没
1.设计理念简洁,干净,降低了入手门槛
2.跨平台开发
而导致题主产生这个问题的,便是第一点
Unity整个引擎的设计都遵循着一个简单的逻辑, 引擎内核作为一个黑盒,并提供给开发者这个黑盒的主要接口,使开发者可以在就算不完全理解引擎内核的基础上
也可以进行自己的扩展,简单来讲就是我给你一块白板,上面画什么,怎么画,由你自己决定。
为什么说这个问题导致了题主的问题呢? 那是因为在这个理念下,引擎层便不会包含Gameplay部分的任何东西,开发者需要从头构建Gameplay. 对于已经有多年制作经验的人来说,这太好了, 我可以自己定制一套最适合我的Gameplay架构。 而对于没有制作经验的人来说,就会像题主一样,借由引擎的组件模式, 把一个个功能抽象为一个组件,挨个挂上去就是了,这样下去,游戏做大了, 就会开始觉得似乎架构上有问题了。
那么如何解决这个问题呢??
我的建议是,可以简单了解下一个基本的Gameplay架构有哪些东西,最好,且最容易获得的参考 是Unreal引擎的Gameplay架构。
附个地址:https://docs.unrealengine.com/latest/CHN/Gameplay/Framework/index.html
简单说下包含的主要方面
1. 3C(3A游戏里 Gameplay部分代码量最大的模块): Controller,Camera,Character
2. GameMode
3. UI&HUD
4. State: PlayerState, GameState
这些东西的具体概述,我就不叙述了, 有了这个方向,有心人可以自己查了
一般写游戏的Gameplay部分 都可以从这几个角度入手来分析。
【Workflow】 未完,待补充
【Engine】未完,待补充
Biobot 1年前
Meta42 [作者] 1年前
发布
吴敏 1年前
发布
晨临雾逝 1年前
发布