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
   吸附功能:   力反馈+光 电影:被动 游戏:主动,游戏世界 和我 的互动。   决定游戏的手感。
3 Camera
   相机系统的弹簧力  相机的参数, 人的主观感受 恐惧的时候瞳孔会放大。
  
主观感觉。   相机对游戏的表现力影响很大。  本质:gameplay,一切,无法定义边界 用event来进行信息分发。 不同类型的游戏都有自己的框架。
6 问题
 可视化脚本和脚本不是替代关系,现有脚本系统在做可视化脚本,然后两个都支持。  对于游戏开发者希望开放, 有的平台禁止热更  逻辑变现分的很开, 现代游戏来说,逻辑和表现越来越密集。角色细节要求越来越高。 未来的pc游戏,游戏玩法和表现越来越难分开。
|