关于大型页游后端管理系统的一点经验和个人见解
发布时间:2023-05-02 06:21:16
前言:
做过游戏开发的人都知道,端游可以用c++,页游可以用sl或者as3,鉴于这段时间一直在看网页游戏开发的知识,所以关于游戏开发,我有一点自己的见解。就拿as3的网页游戏,一般游戏开发前端可以用as3做前端,后端用erlang,不了解这两种东西的朋友可以百度或者google一下。然后游戏数据管理和交互怎么呢!请看我下面分析!
本文主要内容:
前言
游戏数据交互
后端数据管理总结
一个简单的demo
游戏数据交互
一般一个大型的网页游戏有一个或者多个数据库以上,这些数据库内部有大量的数据表,表中有很多的记录,可以说一个表当中有上千上万条数据,具体表怎么设计我就不说了,有兴趣的朋友可以私自和我交流。我现在说说数据在后端如何交互,当游戏策划把需求做好了,就交给as3前端人员来制作前端显示,前端显示主要是给游戏用户进行游戏操作的页面,游戏操作的后台数据就直接和erlang来实现,就像你用asp.net当中aspx完成了html的前端显示,后端的数据交换就由aspx.cx来完成,erlang同样完成了这些数据增删查改的交互,当然这只是游戏后端数据交互。一个游戏开发团队里除了大量的美工之外,剩下的除了erlang程序员,还有php程序员,一个php程序员主要的任务就是完成页游后端管理系统,这个系统就是方便策划组来进行编辑,方便游戏运营管理。当然大量的游戏数据就分别保存在几个服务器里面,这时候也许会听到,今天某某页游开服了,或者新开了一个服务器之类的,这些不同的服务器与游戏本身没有直接的关系,他们只是保存数据,不同的服务器的数据不一样,这与玩家在哪一个服务器有关。php就是和这些不同的服务器进行交互。具体就是你在这个后端管理系统当中可以进行封号,奖励,封vip,npc,副本,背包管理,还可以进行登录你账号直接让你下线等等。
后端数据管理总结
从以下两点来说说我个人一点经验以及见解:
需求以及具体实施
1、后台管理系统无非就是对数据的增删查改操作
2、增加数据和修改数据可以使同一个页面也即是说同一个表单,这样子验证就只要写一套代码就可以了
3、前台的验证可以用js或者jquery
4、后台的验证可以用函数或者框架自带的验证机制
5、增加功能你可以通过表单一个一个增加,另一个可以通过excel表格导进,也就是批量处理
6、查询可以先把查询的条件保存在session中,这样子才能保证用户查询之后可以进行编辑、删除等操作
7、翻页放在表格的上面或者下面都可以或者批量操作也一样
8、添加操作完成了要返回一个信息判断是否添加成功
9、删除操作要先做一下判断是否真的删除,确定和取消,删除成功等等
技术以及框架代码复用各层分工负责
1、可以采用mysql数据库或者mongo数据库保存数据,有必要熟悉mysql或者mongo的一下数据操作
2、采用模板技术,php+smarty模板引擎,有必要熟悉smarty
3、采用面向对象技术,php+smarty+mysql(mongo)+oop,有必要熟悉oop
4、采用设计模式技术,一般可以采用单例模式,有必要熟悉设计模式的知识
5、当然可以采用框架快快速开发,现在流行很多框架,可以加快开发效率,比如助手类,图片验证器,表单生成器,excel交互类,mencache分布式缓存系统等等
一个简单的demo
本文最后以一个简单的demo来给php爱好者新手一个简单的入门学习,要看懂这个你必须了解smarty,然后就是mysql一点常用操作,还有一点就是安装和使用smarty时候注意定界符和js区分,本例子采用literal解决这个问题,请看下面截图:功能很简单,没有采用什么技术,主要完成一个增删查改crud的需求而已!见谅!
下载地址 CUDR_jb51.rar


猜你喜欢
- 首先我的环境已配置好:GO的目录结构是:add.gopackage calc//函数名必须大写首字母,不然外部包找不到func Add(a
- 何为自省在计算机编程领域里,自省是一种能力,是通过一定机制在程序运行时获知对象的类型及对象的内部结构,Python的自省能力还是很强大的,因
- 于是就测试了下: var stringToDom=function(text) { var doc; if(window.ActiveXOb
- 本文以一段简单的监听鼠标、键盘事件的程序,实现获取用户的输入(比如登录某些网站的账号、密码)的功能。经测试,对于一台“裸奔”的电脑,完全能获
- 一、http请求的顺序处理方式在高并发场景下,为了降低系统压力,都会使用一种让请求排队处理的机制。本文就介绍在Go中是如何实现的。首先,我们
- 根据微软论坛作者的英文解释,.NET framework 4.0 安装失败回滚貌似是因为“msvcr100_clr0400.d
- 这个类可以用来搜索在给定的文本目录中的文件。 它可以给定目录遍历递归查找某些文件扩展名的文件。 并打开找到的文件,并检查他们是否包含搜索词语
- 用dicompyler软件打开dicom图像,头文件如图所示:当然也可以直接读取:ds = dicom.read_file('H:\
- 1. 数据抽取的概念2. 数据的分类3. JSON数据概述及解析3.1 JSON数据格式3.2 解析库jsonjson模块是Python内置
- 简介SequenceNumber是SQL Server2012推出的一个新特性。这个特性允许数据库级别的序列号在多表或多列之间共享。对于某些
- 判断是否xx开始使用startswith示例代码:String = "12345 上山打老虎"if str(String
- 1.问题现象go编译的时候报错import cycle not allowedcycle意思很简单就是循环的意思。代表的就是一个包被循环的导
- 我的坐标是深圳,2022年以来,大部分时候要求24小时,少部分时候要求48小时,更少的时候要求72小时,没有更长的情况。本文根据我的核酸检测
- 目录实例演示1. axios上传普通文件:2. 大文件导入:结语这次我要讲述的是在React-Flask框架上开发上传组件的技巧。我目前主要
- 很多小伙伴都会有这样的问题,说一个ip地址十分钟内之内注册一次,用来防止用户来重复注册带来不必要的麻烦逻辑:取ip,在数据库找ip是否存在,
- tkinter下载进度条利用python爬取网站数据进行下载时,显示下载进度# 设置下载进度条tk.Label(window, text=&
- 字符串中字符大小写的变换1. str.lower() //小写>>> 'SkatE'.lower()
- 在tensorflow中,经常会遇到参数初始化问题,比如在训练自己的词向量时,需要对原始的embeddigs矩阵进行初始化,更一般的,在全连
- 在上篇文章给大家介绍了Bootstrap的基础知识,接下来通过本文给大家介绍我们可以在http://getbootstrap.com下载bo
- MySQL全文索引一种特殊的索引,它会把某个数据表的某个数据列出现过的所有单词生成一份清单。alter table tablename ad