【转】webgame前台开发总结--虽然是10年的文章,但是也有参考价值
一、webgame整个游戏流程:
1.预加载(打开游戏页面后,显示进度条,主要加载前期的登陆和创建角色资源,创建角色资源的加载可以放到进入创建角色界面的时候加载,因为玩家除了第一次进入游戏,其他时间基本上不用再创建角色,所以可以不用每次进入游戏都加载这部分资源)
2.登陆(登陆页面)
3.创建角色(如果登陆进入以后检测到还没有创建角色,或者玩家在选择角色界面点击了创建角色按钮,将会进入到该界面)
4.选择角色(一般情况下游戏中都允许创建多个角色,所以登陆后,玩家将会选择一个角色进入游戏,或者在该界面创建新角色,删除已创建的角色)
5.进入游戏(显示加载进度条,这部分主要加载整个游戏主程序和公用资源以及游戏前期所必须的资源)
6.游戏主界面(包括基本的聊天室,游戏框架按钮,主背景图,人物角色(RPG)等;
7.退出游戏;
二、webgame最基本的核心系统:
1.聊天系统(任何只要是多人玩的游戏就会涉及到玩家之间的互动,最基础的就是即时交互系统)
2.邮件系统(邮件系统是游戏中很重要的一个部分,涉及到信息的保存,物品的交易和转寄等)
3.任务系统(可以说几乎所有的游戏都会有任务系统,玩家在游戏中如果没有任务可做,可能会显得不知道干什么)
4.战斗系统(几乎所有的游戏,特别是武侠类的游戏,都会有战斗;战斗系统可以说是整个webgame游戏的比较核心的系统之一)
5.新手引导(为了玩家更快的熟悉游戏的设定,一般都会开放新手引导系统)
三、游戏中的核心元素:
1.地图→场景→建筑→NPC(包括游戏中的各种人物形象和怪物等)
2.游戏中的数值平衡(各种虚拟物品和货币的从无到有,再从有到无的一个良性循环)
3.人物装备栏
4.人物背包
5.人物技能
四、游戏前端可以公用的功能模块:
1.tooltip管理(游戏中的各个地方都可能用到tooltip,各种要求的自定义tooltip,包括图文混排的效果)
2.公用的面板,按钮样式管理(整个游戏UI界面尽量做到统一规划和布局,使大部分的资源可以重复利用,减少游戏的整体容量)
3.前后台的通信协议,通信机制,通信接口的封装(比如remote,socket 通信等)
4.资源加载的管理(按需加载机制的抽象封装。配置文件的加载和解析;图片、swf文件等的加载、缓存和使用,各种sound包括背景音乐、音效的加载播放管理等)
5.整个游戏UI前台的管理和资源的管理
6.各种Utils和Tools的工具类
7.Global全局变量管理和Constant 常量统一管理
【转】webgame前台开发总结--虽然是10年的文章,但是也有参考价值的更多相关文章
- 从AngularJS2谈到前台开发工程化
才刚刚对AngularJS有些了解,又听闻AngularJS2早就铺天盖地了,AngularJS3刚刚夭折,AngularJS4今年已经发布了,还是学习先下AngularJS2吧,据说更加适合以移动为 ...
- 快速开发 jQuery 插件的 10 大技巧(转)
1. 把你的代码全部放在闭包里面 这是我用的最多的一条.但是有时候在闭包外面的方法会不能调用.不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所有的代码都放在闭包里面.而方法可能应 ...
- Qt开发程序在Windows 10应用须要管理员执行的解决思路
Qt开发程序在Windows 10应用须要管理员执行的解决思路 过了非常长的时间没有公布博客了.可是我依旧努力地开发Qt程序.眼下呢.我发现开发Qt程序在Windows 10上有一个怪现象--有些程序 ...
- 2019第一期《python测试开发》课程,10月13号开学
2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20: ...
- Xamarin图表开发基础教程(10)OxyPlot框架支持的图表类型
Xamarin图表开发基础教程(10)OxyPlot框架支持的图表类型 OxyPlot组件支持26种图表,这些图表按照功能和样式可以分为4大类,分别为线型图表.条型图表.金融图表和其它图表. 线型图表 ...
- AndoridSQLite数据库开发基础教程(10)
AndoridSQLite数据库开发基础教程(10) 添加触发器 触发器(TRIGGER)是由事件来触发某个操作.这些事件包括INSERT.DELETE.UPDATE和UPDATE OF.当数据库系统 ...
- 听说你在从事前端开发?那这10个JavaScript的优化问题你不得不知道!
JavaScript的高效优化一直都是我们前端开发中非常重要的工作,也是很多开发人员无法做好的一部分内容,今天我总结了10个优化问题,大家可以参考来做优化,这其中很多问题都是大家经常遇到的哦. ==和 ...
- 转:关于Python中的lambda,这篇阅读量10万+的文章可能是你见过的最完整的讲解
lambda是Python编程语言中使用频率较高的一个关键字.那么,什么是lambda?它有哪些用法?网上的文章汗牛充栋,可是把这个讲透的文章却不多.这里,我们通过阅读各方资料,总结了关于Python ...
- 高效开发Android App的10个建议
假如要Google Play上做一个最失败的案例,那最好的秘诀就是界面奇慢无比.耗电.耗内存.接下来就会得到用户的消极评论,最后名声也就臭了.即使你的应用设计精良.创意无限也没用. 耗电或者内存占用等 ...
随机推荐
- Javascript零散知识点总结
一.Javascript获取系统当前时间 <script type="text/javascript"> var time = new Date(); var date ...
- iOS富文本(二)初识Text Kit
概述 Text Kit 是建立在Core Text上的文本布局系统,虽然没有Core Text那么强大的文本处理功能,但是对于大多数常见的文本布局用Text Kit能够很简单的实现,而不是用Core ...
- Java编程思想 (1~10)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第一章 对象导论 1.万物皆对象2.程序就是对象的集合3.每个对象都是由其它对象所构成 ...
- hdu 4614 pieces 状态DP
题意:给你一个长度小于等于16的字符串,每次可以删除一个回文传,问你最少删除干净的字数. 状态+dp dp[i] = min(dp[i],dp[j]+dp[j^i]);(j是i的字串): 连接:htt ...
- Sublime安装插件的方法
一:打开:工具--命令面板 二:输入:package,,选择下拉列表里提示的install package 三:输入需要安装的插件的名称,如:angularJS Less sass 回车即可安装, ...
- BZOJ 1123 BLO
tarjan求割点计算答案.注意不是每一棵子树都算答案.开个变量记一下. #include<iostream> #include<cstdio> #include<cst ...
- Mac设置截图保存位置
补充: killall 用来杀死指定名字的进程 defaults 可以对一些系统属性进行read,write,delete操作 下面举几个常用的例子: 1.显示隐藏文件 defaults write ...
- git常用知识整理
分布式和集中版本控制的区别 分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因 ...
- 用vs2012的命令利用xsd文件生成对应的C#类,把xml的string类型映射到生成的类
输入命令: xsd d:\TDDOWNLOAD\atom-author-link.xsd /c /language:C# /outputdir:d:\ 含义: 将d:\TDDOWNLOAD\atom- ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.6.重新配置与缷载11R2 Grid Infrastructure
1.[root@linuxrac1 ~]# /u01/app/oraInventory/orainstRoot.sh 2.[root@linuxrac2 ~]# /u01/app/oraInvento ...