Games104现代游戏引擎入门-lecture15游戏引擎的Gameplay玩法系统基础

在这里插入图片描述

1 GamePlay的三个挑战

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 Gameplay 事件机制

在这里插入图片描述
应该改成event message机制
在这里插入图片描述

1 Publish-subscribe 模式

在这里插入图片描述
事件定义;
callback

在这里插入图片描述

1 Event Definition

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 callback

激活,触发
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 消息分发

在这里插入图片描述
这个效率非常低,内存用的多,也变的非常慢
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
面向数据编程

3 event queue

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Evnent queue的问题:
在这里插入图片描述
在这里插入图片描述

3 游戏逻辑

热更新hotfix。
在这里插入图片描述在这里插入图片描述
设计师,没有编程训练,

在这里插入图片描述

1 脚本语言

脚本语言:不会把本体crash掉。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
unity属于这种架构!

脚本语言和引擎之间,最难的是对象管理。
c++很容易内存泄漏。

脚本语言的GC系统,算法会很慢。如何优化GC,不要占用很多资源。
对象由谁管。
在这里插入图片描述

引擎调用脚本,脚本扩服务。
在这里插入图片描述

2 热更新

工程上的鲁棒性。
脚本系统和引擎结合是需要好好思考一下的。
在这里插入图片描述

JIT:
在这里插入图片描述
在这里插入图片描述

LUa:没有内库,很多时候需要自己写。
Python:非常重,需要虚拟内存。
在这里插入图片描述
Lua省内存,python需要很大内存,c#是个平衡点。
在这里插入图片描述

4 Visual Scipting

可视化脚本:蓝图
非程序背景:编程很难,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
变量可视化:
在这里插入图片描述
语句可视化:
在这里插入图片描述
在这里插入图片描述
控制:
在这里插入图片描述
在这里插入图片描述
函数:
在这里插入图片描述

在这里插入图片描述

类:
在这里插入图片描述
引擎是生产工具

debug:
在这里插入图片描述

可视化编程工程的问题:

问题1:
在这里插入图片描述

问题1:
在这里插入图片描述
graph:本质上是一个可视化的脚本

在这里插入图片描述

5 3C 系统

角色,控制,相机
在这里插入图片描述

1 Character

在这里插入图片描述

1 角色移动

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
角色一般是用状态机去做。

在这里插入图片描述

2 control

在这里插入图片描述
2
在这里插入图片描述
吸附功能:
在这里插入图片描述
在这里插入图片描述
力反馈+光
电影:被动
游戏:主动,游戏世界 和我 的互动。
在这里插入图片描述
在这里插入图片描述
决定游戏的手感。

3 Camera

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
相机系统的弹簧力
在这里插入图片描述
相机的参数,
人的主观感受
恐惧的时候瞳孔会放大。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

主观感觉。
在这里插入图片描述
在这里插入图片描述
相机对游戏的表现力影响很大。
在这里插入图片描述
本质:gameplay,一切,无法定义边界
用event来进行信息分发。
不同类型的游戏都有自己的框架。

6 问题

在这里插入图片描述
可视化脚本和脚本不是替代关系,现有脚本系统在做可视化脚本,然后两个都支持。
在这里插入图片描述
对于游戏开发者希望开放,
有的平台禁止热更
在这里插入图片描述
逻辑变现分的很开,
现代游戏来说,逻辑和表现越来越密集。角色细节要求越来越高。
未来的pc游戏,游戏玩法和表现越来越难分开。

猜你喜欢

转载自blog.csdn.net/qq_41286360/article/details/126007552