cocos2dx 3D战斗类游戏制作:【一】——数据库之一
最近做个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的展现上,就是装备升级啊,宝宝培养啊,技能升级啊,个人空间布置啊等等的功能。从数据库的思路来看,其实一款游戏的最底层,逻辑是蛮简单的,呵呵。
基于数据安全,数据库应该有加密存储,关键数据应该依靠服务器端进行存储查询,这个不用说了,呵呵。什么东西都摆在本地,那么也就只能是个单机游戏了。
当然了,这里用的只是做手头这个游戏的一个草稿,没有去仔细收拾的,随便看吧,呵呵,思路最重要,不是么。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- PostgreSQL: IDENT authentication failed for user postgr
- actionscript-3 – As3 – SWF和AIR桌面应用之间的LocalCon
- 关于cocos2d-x对etc1图片支持的分析
- cocos2d-x 3.10 BabeLua 插件不能断点调试
- 如何为iOS和macOS编译libffi?
- ruby-on-rails – 使用send_file发送多个文件的Rails
- 应该在git repo中忽略foo.xcodeproj/xcuserdata吗?
- 为什么C中的未初始化变量仍会产生输出
- c# – 从字符串源列表动态生成最短正则表达式
- 简单理解vue中track-by属性