奇怪的是,我从未找到关于该主题的教程。
就事情的结合方式而言,修改 UT3 和创建新游戏之间没有太大区别——只是在 UT3 代码之上玩起来更容易,因为有内容可以使用。
Development/Src 包含未编译的源代码。那里的每个文件夹都被编译成一个 .u 脚本包,供编辑器和游戏使用。他们最终出现在 UDKGame\Script
UDKGame 拥有所有的包,包括资产、地图和编译脚本。
GameInfo(或从它派生的类)用于游戏中的核心内容。独立游戏将由此衍生。派生类不必很大,在这里放很多逻辑可能不是一个好主意。你可以并且应该使用这个类来存储你的游戏的中心属性——比如,你的游戏使用什么 HUD 类,什么玩家控制器类等等。例如,一个赛车游戏可以在这里跟踪比赛的时间,并通知玩家当比赛开始或结束时,还会有一个像 HUDType=class'Racer.RacerHUD' 这样的属性。
控制器,例如 PlayerController 和 AIController(UTBot 派生自),用于向 Pawns 发送指令。Pawn 自己不会做任何事情,它们更像是控制器可以操纵的空壳。控制器中处理的事情是人工智能和输入。pawn 中处理的事物是各种动画,用于移动、受到伤害等,任何视觉效果。
抱歉,我没有时间回答更长的问题,但我希望这会有所帮助。
PS——对我有很大帮助的是获得游戏 Whizzle 并阅读该代码中的每个类。它不是从 UT3 代码派生的,而且非常非常小。