您的位置:首页 > 产品设计 > UI/UE

自己写游戏引擎一 功能简介(make game engine by self - introduce)

2013-05-14 13:06 453 查看
名字Crapell,取crazy spell 的缩写,后续的重点将放在特效和AI上面。

库下载 : crapellengine_Lib.zip

基本思想:

  1,模块设计思想:低耦合,高内聚,易用,容错。各模块均可快速移植,面向接口即插即用。

          纹理模型等资源使用智能指针自动释放并且自动避免重复加载。场景组织模仿2dflash影片剪辑的嵌套结构(类似gamebryo的nif)。

已实现功能:

 一 渲染 

    1,整个max场景关键帧动画导出、骨骼动画导出插件,c++ opengl 或 d3d9渲染,shdowmap阴影,lod及变形修改器,uv动画,avi贴图,粒子特效(灵活的发射器和粒子形状,路径,模型附着,模型发射,碰撞板)。后期处理可以对ui和场景使用独立的渲染通道。shader选择了cg(实现了一些例子motion blur,水纹,特效扭曲, hdr,流动的雾,体积光,shdowmap阴影)。

    2,自制ui库各种基本控件,控件可以分组嵌套管理。可以将任意控件组作为list及tree的元素。类似torque的游戏内ui简易编辑器。放弃scaleform ui使用。

    3,支持web嵌入,场景多线程加载。

    4,随机树模型、随机赛道、随机迷宫地形生成,以生成微型客户端。

    5,加入了android平台显示。

二 物理

    1,不使用物理引擎,简单模拟rgidbody,使用joint和spring模拟软体。碰撞和拣选使用八叉树。整个代码只有2000行左右。

三 AI

    1,目标驱动,astar,自动生成场景导航图。做了一个简易的war3地图编辑器。

    2,lua引入 ,将基本的场景node导出为脚本物体,使得编写脚本就可以像做flash小游戏一样方便的制作3d小游戏。制作大型游戏ai仍以c++为主。

四 网络

    1,iocp ,lobby功能。为了简化,服务器仅实现登陆及消息中转功能,任何客户端发送的任何消息都原封不动的转发给其它所有客户端。所有逻辑判断都放在客户端host上。

 

 

准实现功能:

一 渲染 

    1,动态3d遮罩,修改器功能增强,增加场景物体实时碰撞响应,比如所有物体都可以被破坏。max中shader材质导出。

    3,任意ui控件可以显示3d movie。比如滚条按钮可以3d动画显示。窗体可以贴到动画模型表面且可以点击(可以实现但可能显示不清楚)。

二 物理

    1,提高效率,应用于ai。

三 AI

    1,完整可玩度较高的demo,也许会考虑支持联机功能。

    2,使用as 做游戏的脚本语言也许是不错的选择。 as具有很好的编辑调试工具,容错强,方便图形化编辑。

    3,   研究中,清晰的结构体,类分层,可能比数据驱动,行为树等更简单易用。

四 编辑器

      场景编辑器就是3dmax。ai编辑器。放弃原先使用win32api编写编辑器,改用自制的ui库实现各编辑器。

      过场动画编辑器(使用脚本控制人物动作,编辑剧本式超长过场动画)

 

附图:(模型多为cgjoy网上下载,更多截图见相册)

多数截图为debug下截取,release版FPS都在60帧以上。

图: 场景关键帧动画,实时阴影,八叉树,ui库

图: 粒子特效,使用自定义的关键帧和uv动画可以方便的制作各种游戏特效

图:  随风舞动的植被系统(随机生成或从plantmap产生)

       图: 地形编辑器 纹理和高度画刷可选 可贴细节纹理加强效果



       图:sph流体模拟水淹城楼效果

       图:图为模拟每个水滴都可以激起涟漪的效果

图:简单物理碰撞模拟

图:随机生成树模型,可以单独设置每一分型层的多种参数,生成永不重复的异形树或花草。

        图:导航图自动生成 目标驱动

完整demo进行中  

下载 :  FoodStall3.0.zip

     1 简单的FPSRPG游戏:

         配置多种敌机(怪物 每种具有独特的ai),多种子弹(技能),各种奖子,多层关卡,提高可玩度。

         收集金币 或执行任务来解锁关卡购买技能。

         随着敌人等级不断提高,玩家也需要提高自己的属性,可以在 场景中的npc处接收一些任务和购买特殊道具。

//左键发射子弹,1~9触发技能。

//鼠怪,  随机出现在前方地面,向主角逼近,不时发射子弹,路径可被墙体阻碍, 掉血瓶 钱

//龙怪,  随机出现在主角视野前方天空,向主角逼近,不时发射子弹,路径无阻碍, 掉蓝瓶 经验

//碟怪,  随机出现在屏幕坐标顶端,向屏幕底端逼近,不时发射子弹,路径无阻碍,掉技能

//字母怪,出现同鼠怪,腰围不断产生模型字母,主角须快速打字将字母全部消除(每打对一字发射一导弹)剩余导弹才可伤害字母怪 

//英雄怪,

//静竹轩关卡,主角做车自动前进,不能旋转视角,怪物退出视野即消亡,到达终点即胜利

//河阳城关卡,主角自主移动,可以旋转视角,怪物退出视野不消亡,守住主城即胜利

//魔兽世界关卡,主角自主移动,击杀英雄怪

//羊肠小道闯关地图,  逃离追兵,地形定时旋转冒出地刺 地火(伤害角色 或伤害特定boss) 旋转伤人的巨石阵 传送门 闪电门 云梯

//任务类型:杀怪 送信 收集物品

//技能: 

//触发条件多样性  1 时间 虎boss挥爪后到收爪前可以按键触发防伪技能

//                2 距离 鸟boss距离在扇环之内时可以触发特殊攻击技能

//                3 相克 人boss技能克制

//                4 敌人 碟出现时可以触发大火球  磁石道具掉落时可以触发吸金技能

//效果多样性:     

//

//关卡解锁方式多样性:   钥匙开门  搬起吊桥 划船渡江 飞机越谷

//

//boss杀死方式多样性:  (普通攻击很难杀死)吸引火焰怪到地泉吸收火焰 利用苍弩来回射杀岩石怪 和boss格斗出招表

UI



 
  战斗

石化状态



   



 


 

 



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息