自己写游戏引擎一 功能简介(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
战斗
石化状态
库下载 : 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
战斗
石化状态
相关文章推荐
- Game Engine Architecture by Jason Gregory:1.6 实时游戏引擎架构(2)
- Game Engine Architecture by Jason Gregory:1.3 什么是一个游戏引擎
- Game Engine Architecture by Jason Gregory:1.6 实时游戏引擎架构
- Game Engine Architecture by Jason Gregory:1.4 不同类型的游戏引擎(1)
- Game Engine Architecture by Jason Gregory:1.6 实时游戏引擎架构(3)
- Game Engine Architecture by Jason Gregory:1.4 不同类型的游戏引擎(2)
- Game Engine Architecture by Jason Gregory:1.6 实时游戏引擎架构(4)
- Game Engine Architecture by Jason Gregory:1.6 实时游戏引擎架构(1)
- Game Engine Architecture by Jason Gregory:1.5 游戏引擎概况
- Tetris game engine TETRIS 游戏引擎
- castle_game_engine 城堡游戏引擎
- 正式宣布开始开发开源游戏引擎FreeSky Game Engine.
- 全功能游戏与仿真引擎Delta3D简介
- Chapter 2. Game Engine Anatomy游戏引擎剖析(揭秘)
- Game Engine Architecture by Jason Gregory:1.1 一个典型游戏团队的结构
- 用TorQue引擎开发的RTS即时战略游戏(a interesting RTS Game made by TGE)
- [导入]全功能游戏与仿真引擎Delta3D简介
- 基于JavaFX--WJFXGameEngine游戏引擎介绍与进度
- CASTLE_GAME_ENGINE 城堡游戏引擎
- Game Engine Architecture阅读 1.2 - 1.4 游戏、游戏引擎及其分类