效果描述 一个服务器,两个客户端,让他们连接后分别生成不同的Pawn,并且在不同的位置生成. 意义 这是个项目需求,但是我发现如果能够彻底理解并制作出这个功能,会对虚幻4内置的网络功能以及一些重要的Gameplay 的类有更深入的了解. 目前已有解决方案 在Google上也搜了好久,但是相关信息并不多,比较靠谱的最终都指向同一个wiki页面:Spawn Different Pawns For Players in Multiplayer,但是他的解决方案有个缺陷:开发过程中不好测试——原因是他的…
前言 前段时间由于公司的一款弱联网游戏急着上线,没能及时分享,现在基本做的差不多,剩下的就是测试阶段了(本来说元旦来分享一下服务器技术的).公司的这款游戏已经上线一年多了,在我来之前一直都是单机版本,由于人民群众的力量太强大,各种内购破解,刷体力,刷金币,刷钻石版本的出现,公司才决定将这款游戏转型为弱联网游戏,压制百分之八十的破解用户(毕竟原则上还是属于单机游戏,不可能做到百分之百的防破解),招了我这一个服务器来进行后台的开发.什么是弱联网游戏?在这之前我也没有做过弱联网游戏的服务器,但是按照我…
回顾   学习UE4已有近2周的时间,跟着数天学院"UE4游戏开发"课程的学习,已经完成了UE4蓝图方面比较基础性的学习.通过UE4蓝图的开发,我实现了类似CS的单人版射击游戏,效果如下视频:   不得不说UE4蓝图功能的强大,无需写一句代码,就能实现一个基本的游戏玩法.并且使用门槛极低,只要熟悉蓝图的API,通过"拖拖,连连"就能完成游戏玩法的开发,对游戏策划(设计师)及其友好,与C++相比,生产效率极高. 多武器系统   目前的游戏设定是开场后,角色身上就自动装…
最近在做一个棒球的游戏,开始感觉还是挺酷炫的,但是其实做法挺朴实的,想象中的球员是多么智能,这样那样的,其实只是表象. 关于球员的类是游戏里非常重要的部分,这个玩意怎么写呢,可以这样写...... 棒球和足球篮球不太一样,比他更难或者更简单,估摸着思路可能不一样吧,没做过,不懂,有本人工智能编程什么的,有个例子讲足球的,刚哥就是看着书搞了一个出来,吊...我们的球员主要大部分的行为,都可以是这样的:让他跑到某个点,跑到了,播动画....比如 去接一个高飞球 这个那个的.最基本的函数就是,转身+跑…
目录 蓝图 蓝图命名规范 蓝图优化 暴露C++至蓝图 暴露C++类 暴露C++属性 暴露C++函数 暴露C++结构体/枚举 暴露C++接口 蓝图和C++的结合方案 使用继承重写蓝图 使用组合重写蓝图 方案比较 参考 蓝图 大家都知道,蓝图是UE4提供的极其容易上手的一种可视化脚本,更具体的就不说了. 纯靠蓝图搭建的UE4游戏是存在的,但是这类游戏往往优化很差(除非游戏玩法本身的性能需求不高).更合适的流程往往需要程序员编写C++代码创建一些蓝图可用元素,而设计师再通过蓝图快速搭建游戏. 蓝图命名…
由于近来比较忙碌和有些困倦的原因,所以关于这部分的文章没有及时更新,一句话:让朋友们久等了!今天所讲的是客户端vengine(微引擎)中最后一个部分,就像上节所说,这一部分的内容比较多.可能有些朋友看了代码以及注释后,仍有不少疑惑的地方,欢迎评论留言相互讨论,如果有不好的地方,也希望大家勇于批评与指正.游戏模块,是提供给客户端最核心的部分,它将直接影响到游戏内容,如数据.渲染等. 构架 CODE 模块game下模块action 文件item.h /** * PAP Engine ( -- ) *…
在游戏中的交互过程中输入是一个必不可少的过程,比如登陆的时候需要用户输入用户名与密码,就算是单机游戏很多时候也要求用户输入一个用户名作为存档的依据.网络游戏中没有了输入,只用鼠标来交互是不切实际的,因为用户总会为单一的操作而觉得厌烦.资源提供系统,是将游戏中各种的资源加载到内存中以供使用,比如说一张图片,一张数据表等等.在cegui和ogre中都自己封装了输入与资源管理的类,本次设计中自然是在它基础上扩展封装.那么,就让我们看看这两块提供了哪些方法吧. CODE 模块resource 文件pro…
时间在人们的生活中是多么重要的东西,如果打乱了时间,不知道这个时间会成什么样子.在客户端中,自然也有时间模块,因为不同的时间可能会处理不同的事情,特别是在追求高度自由化的同时,时间也成为了一个很重要的核心.没有时间,游戏世界将失去平衡,没有时间的游戏,会让人觉得乏味而单调.好了,我不用再强调时间多重要,想必大家已经明白了.比如游戏中的时辰变化,天气变化,这个是有时间的吗,答案是肯定的.在此次设计中,时间的接口中又提供了哪些方法呢? CODE 模块time 文件system.h /** * PAP…
无论在何处在什么地方,我们都或多或少的接触到数学知识.特别是在客户端中,从打开界面的那一刻起就有太多与数学扯上的关联,如打开窗口的大小,窗口的位置,窗口里面的元件对象,以及UI的坐标等等.而在进入游戏之后,不仅有这些坐标,还有了世界的坐标,以及场景坐标,还有粒子对象的各种属性值.但为什么要扩展ogre的数学库呢?就让我们看看有哪些类型的吧. CODE 文件math/base.h /** * PAP Engine ( -- ) * $Id math.h * @link -- for the can…
前些天连续做了一些测试,以加深对AS3的掌握和在项目中对 游戏 性能.效率优化方面的一些处理,有很多测试实际意义不大,都不过是证明一些猜想是正确的,除此没有什么. 但前天进行的一系列测试中,有一些对游戏开发中的内存占用,CPU占用方面有些意义,我打算逐渐写几篇讨论性的文章与大家共享. 由于最近在做的是2D的等距视角游戏,全部采用的位图处理,与3D无关,所以关注的也是这方面的问题,考虑问题的出发点也是这些方面,因此关注面还是比较狭窄的. 一.先从这类2D游戏中常用的对象类型的简单测试来开始看AS3…