cocos2dx 3D战斗类游戏制作:【一】——数据库之一
2014-11-25 14:49
288 查看
最近做个cocos2d的3D游戏玩玩。摊子铺得比较大,要说起来千头万絮的,先从数据库开始说吧。在我看来,游戏就是数据+规则+操作控制+动画展现。数据库是最基本的东西,呵呵,所以第一步,说它。
做数据库设计,各人各公司,有不同的流程,我这是个做着好玩的项目,所以没那么多讲究,直接画草图,做个大概框架,逐个功能模块慢慢完善,然后以后再慢慢更改。
先上总体草图:
游戏的数据载入流程将是这样:
1、用户登录,查询user_info表,核对用户username和password,然后依照唯一的userid,然后依照用户的点击操作,分别到wepon(武器),task(任务),BB(宝宝)、user_space(个人空间)、skill(技能)等各个表中,查询出用户拥有些什么武器、任务、宝宝、技能,个人空间有什么装备等等,分别再执行下一步操作。
2、如果用户选择task,去执行一个任务,OK,从task表中根据用户所选择的任务,依照唯一的taskID去Scene中找出这个task要用到的Scene,载入场景。Scene表详细结构举例如下:
从Scene表,可以获得当前场景的介绍、背景模型、灯光、进场摄像机特写等等一系列数据,读出后,即可按数据库的数据指定建造出一个3D的场景。
3、场景建好了,里面有一个背景模型(依靠scene_bg3dm调入3D模型生成),并且打好了灯光,那么,boss在哪呢?看boss表。
首先是scene_boss_list,用来记录一个Scene里面,用到了哪些boss,根据SceneID进行关联。
到此,已经获得了一个场景里面的boss清单,出场时间等等,那么每个boss出来,是什么级别?有什么动作?携带什么技能和武器?穿什么装备呢?
不详细说了,呵呵,依靠bossID去boss表,bossAction,bossSkill等一系列相关表查询,一个boss的出场属性也就配齐了,它就可以在场景里面携带着满满的属性数据,等待召唤了,不是么,呵呵。
以上说的,是一条支线的数据流程,用户可以选择多种支线,去操作多个表,在UI的展现上,就是装备升级啊,宝宝培养啊,技能升级啊,个人空间布置啊等等的功能。从数据库的思路来看,其实一款游戏的最底层,逻辑是蛮简单的,呵呵。
基于数据安全,数据库应该有加密存储,关键数据应该依靠服务器端进行存储查询,这个不用说了,呵呵。什么东西都摆在本地,那么也就只能是个单机游戏了。
当然了,这里用的只是做手头这个游戏的一个草稿,没有去仔细收拾的,随便看吧,呵呵,思路最重要,不是么。
做数据库设计,各人各公司,有不同的流程,我这是个做着好玩的项目,所以没那么多讲究,直接画草图,做个大概框架,逐个功能模块慢慢完善,然后以后再慢慢更改。
先上总体草图:
游戏的数据载入流程将是这样:
1、用户登录,查询user_info表,核对用户username和password,然后依照唯一的userid,然后依照用户的点击操作,分别到wepon(武器),task(任务),BB(宝宝)、user_space(个人空间)、skill(技能)等各个表中,查询出用户拥有些什么武器、任务、宝宝、技能,个人空间有什么装备等等,分别再执行下一步操作。
2、如果用户选择task,去执行一个任务,OK,从task表中根据用户所选择的任务,依照唯一的taskID去Scene中找出这个task要用到的Scene,载入场景。Scene表详细结构举例如下:
从Scene表,可以获得当前场景的介绍、背景模型、灯光、进场摄像机特写等等一系列数据,读出后,即可按数据库的数据指定建造出一个3D的场景。
3、场景建好了,里面有一个背景模型(依靠scene_bg3dm调入3D模型生成),并且打好了灯光,那么,boss在哪呢?看boss表。
首先是scene_boss_list,用来记录一个Scene里面,用到了哪些boss,根据SceneID进行关联。
到此,已经获得了一个场景里面的boss清单,出场时间等等,那么每个boss出来,是什么级别?有什么动作?携带什么技能和武器?穿什么装备呢?
不详细说了,呵呵,依靠bossID去boss表,bossAction,bossSkill等一系列相关表查询,一个boss的出场属性也就配齐了,它就可以在场景里面携带着满满的属性数据,等待召唤了,不是么,呵呵。
以上说的,是一条支线的数据流程,用户可以选择多种支线,去操作多个表,在UI的展现上,就是装备升级啊,宝宝培养啊,技能升级啊,个人空间布置啊等等的功能。从数据库的思路来看,其实一款游戏的最底层,逻辑是蛮简单的,呵呵。
基于数据安全,数据库应该有加密存储,关键数据应该依靠服务器端进行存储查询,这个不用说了,呵呵。什么东西都摆在本地,那么也就只能是个单机游戏了。
当然了,这里用的只是做手头这个游戏的一个草稿,没有去仔细收拾的,随便看吧,呵呵,思路最重要,不是么。
相关文章推荐
- cocos2dx 3D战斗类游戏制作:【三】——基于数据库的3D精灵动画1
- cocos2dx 3D战斗类游戏制作:【三】——基于数据库的3D精灵动画2
- cocos2dx 3D战斗类游戏制作:【一】——数据库之二
- cocos2dx 3D战斗类游戏制作:【二】——3D运动模式小准备
- cocos2dx 3D战斗类游戏制作:【二】——3D运动模式小准备之二
- cocos2dx 3D战斗类游戏制作:【四】——一些零散笔记,3D小地图,android surfaceview等
- cocos2dx 3D游戏制作参考
- 【Unity 3D 游戏引擎】使用 2DToolkit 插件 制作2D精灵动画
- <cocos2d-x for wp7>使用cocos2d-x制作基于Tile地图的游戏:加入敌人和战斗(三)
- <cocos2d-x for wp7>使用cocos2d-x制作基于Tile地图的游戏:加入敌人和战斗(三)
- cocos2dx - 制作纵版射击游戏:喵星战争 (五)
- 如何使用cocos2dx 制作一个多向滚屏坦克类射击游戏-第二部分
- 制作3D游戏所需的数学基础 - 平面
- cocos2dx - 制作纵版射击游戏:喵星战争 (四)
- 《Genesis-3D开源游戏引擎--横版格斗游戏制作教程08:虚拟键盘实现》完结
- cocos2dx - 制作纵版射击游戏:喵星战争 (七)
- Unity3D游戏制作之3D横版场景的角色移动控制
- (译)加入敌人和战斗:如果使用cocos2d制作基于tiled地图的游戏:第三部分
- (译)加入敌人和战斗:如果使用cocos2d制作基于tiled地图的游戏:第三部分
- <cocos2d-x for wp7>使用cocos2d-x制作基于Tile地图的游戏:不一样的战斗(回合制战斗)(四)