social game 前端思考
- 博客分类:
- 技术杂绘
social game 前端思考
2011年11月09日
socail game 前端的语言主要采用actionscript3.0,由于游戏小,从策划到程序实现一般会用3-6个月就可以完成。但是现在的social game慢慢的也在集成mmorpg网游的一些功能,大有越做越复杂之感。
从我做的第一个项目几百k到现在的7~8M,由此可见,游戏确实越来越复杂了。
因此,将项目的一些基本的common抽取出来,形成一套开发框架,是非常有必要的。这样即缩短了开发的时间,也方便后续的开发。
库项目,因人而异。我总结一下我遇到的几个项目所相同的地方。
1、地图引擎。
主要包括:坐标转换,寻路,检测碰撞,深度排序。
有的游戏不需要地图引擎,比如开心农场,这样的游戏中地图的信息是固定的,没有人物的行走也没有物品的随意摆放等功能,所以没有必要用这个部分。
这种2.5D的地图引擎,相信很多做过webGame的朋友们都不会陌生。网上也有很多这种类型的openSource。
例如,as3isolib ,pushButton 等。
2、资源加载
包括图片,swf,配置文件等信息的loading。
有些资源是在游戏初始的时候就要加载进来,有些资源则是在游戏运行时加载的。
加载资源看似简单,但是出现问题也不好解决,主要的问题是程序域和安全域。
3、前后台通信
这个部分之所以独立出来,是因为后台和前台才用的通信机制很有可能是变化的。
如果我们做实时游戏,使用socket通信。一般social game使用http请求。这个可以之间看到我们来回请求的数据信息。但是如果和后台通信数据量巨大。那么就可以使用amfphp,他传送二进制数据,至少比http请求多了一层保护。但是使用firbug插件,我们依然可以解析出来看到数据。
4、本地化资源
这个部分主要是文字资源,我们根据当前用户的语言,获取不同的文字资源。
主要的问题:当我们在游戏中使用嵌入字体的中文。问题就来了,中文的字体文件动辄就10几M,比游戏swf还要大。而且字体资源要在Game.swf加载之前初始化,这样明显会增加loading时间,得不偿失。
所以一般的解决方法是不使用嵌入字体,但是这样就降低了美观的效果。另一种解决方法就是将中文资源转化成unicode码,然后这些unicode码embed进来,编译成swf。这些都是在发布游戏之前,开发人员要做的工作。
5、皮肤
贴皮肤是flex的一个强项。flex有专门制作皮肤的工具,按照css的语法,即可想操作html元素一般的操作flex元件。
只要改变皮肤的swf文件,就可以替换皮肤。但是如果界面不是用flex组件做的,而是就是使用flash ide做的元件,那么替换皮肤就是一个比较大的工程。
一个方法是使用aswing做界面,他模仿了flex很多可取之处。但是aswing做界面对程序来说是个痛苦的过程,他将ui的界面美化工作转嫁到了程序这里。
6、Quest任务
Quest便是social game向webGame学习之处了。
Quest分为主线任务支线任务。完成一个任务会激发下一个任务和相应的任务奖励。基本的思想都是如此。不同的游戏有不同的任务配置文件即可。所以将它单独地独立出来就很有必要了。
主要的问题:主要在于策划的任务关联性故事性,有的任务起学习作用,有的任务起承上启下的作用,所以一条线串起来用户可以更好理解游戏。
7、 活动
功能性的东西开发完了,后期就处于维护阶段。
维护主要做的就是活动的更新。这些东西如果能够抽象出一套模板出来,每次只要更新内容,不需要投入太多的精力时间去开发,便是最好的维护了。
主要问题:活动经常会出现不同的需求,不一定非的用原先的模板。这就要求这个模块做的灵活,可扩展。
以上这些东西我个人认为都是可以抽象出来作为类库的。好处多多,自不必说了,呵呵。
至于不同之处,下面我就略微讲一下,不能面面俱到,还望TX们谅解。
1、场景物品的生成。
例如我们addChild()一个物品到场景中,这个物品肯定是displayobjec,那么他使用png的方式呢,还是movieclip。以前项目小的时候,我们习惯使用movieclip后来发现这样cpu会不断的计算这些矢量的东西,于是改用png。png会吃一些内存,但是至少cpu不会占用太多,反而不会特别的卡。各有优劣吧。
2、 场景的操作。例如,对场景物品的移动,旋转,删除等等。不同的游戏有不同的实现方法。我遇到过两个不同的实现方法。一种是抽象出一个GameMode。不同的操作对应不同的GameMode。例如DeleteGameMode,MoveObjectGameMode 等。这样GameMode 互相独立 含有不同的逻辑,便于管理和维护。
还有一种方法就是点击物品,物品出现不同的选项,你可根据选项进行操作。这样的方法简单。还很好理解。
3、界面UI和游戏数据
做着一个部分,很多人都会想到使用mvc模式。
adobe 公司推出的cairngorm3 和第三方openSource提供的pureMVC以及一个robotlegs。
这三种框架都各有优劣,主要看是否是合适自己的项目。都不合适的话,自己可以因地制宜的专门为自己的项目定制一个。
发表评论
-
busybox 详解(一篇讲busybox很详细的文章)
2012-01-20 12:19 769busybox 详解(一篇讲busybox ... -
so库的性能注意事项
2012-01-20 12:18 823so库的性能注意事项 2010年09月07日 一个共享库 ... -
Sql server 日记 (孤立用户)
2012-01-20 12:18 766Sql server 日记 (孤立用户) 2010年07月2 ... -
Python 数据库接口模块
2012-01-19 17:00 961Python 数据库接口模块 2 ... -
Python 3.2.2 RC1发布
2012-01-19 17:00 747Python 3.2.2 RC1发布 2011年08月16日 ... -
Python 与 C++ 的交互编程
2012-01-19 17:00 1091Python 与 C++ 的交互编程 2011年03月28日 ... -
python教程入门《3》
2012-01-19 17:00 738python教程入门《3》 2011年02月13日 第六 ... -
用Python处理邮件
2012-01-19 17:00 677用Python处理邮件 2011年0 ... -
Flash&Flex大全
2012-01-17 06:45 622Flash&Flex大全 2011年02月24日 ... -
笑到肚子疼
2012-01-17 06:44 465笑到肚子疼 2011年11月02日 1 -
剪色坊北京直营店(呼市)--死人的一次烫发经历----剪色坊北京直营店(呼市)
2012-01-17 06:44 681剪色坊北京直营店(呼市)--死人的一次烫发经历----剪色坊北 ... -
QT--QSocketNotifier类介绍
2012-01-16 05:34 976QT--QSocketNotifier类介绍 2011年12 ... -
00000000000000000
2012-01-16 05:34 72100000000000000000 2012年01月06日 ... -
IPhone 开发经验教训总结 -- 仅供参考
2012-01-16 05:34 635IPhone 开发经验教训总结 ... -
valgrind结果查看
2012-01-16 05:34 501valgrind结果查看 2011年12月30日 程序示 ... -
IP组播技术综述二
2012-01-16 05:34 649IP组播技术综述二 2011 ...
相关推荐
SNS 简介 •Social Game 简介 •OAuth 简介 •OAuth 工作流程 •Social Game 开发工具 •Social Game 开发实战
This book will also explain how the gaming industry arrived where it is today by giving an overview of the major phases of the evolution of the gaming sector. We’ll discuss the way early games were ...
Social Game的技术挑战 ——支持千万级DAU的Social Game技术构架
前端项目-social-sharing,Social sharing links and buttons without the bloat
移动社交网络中信息发布研究领域的一篇经典论文A game theoretical model of information dissemination in social network,
Game Kit, Store Kit, AirPlay, iOS 7 Game Controllers, iTunes App Store and integrating with social networks/media like Facebook and Twitter. Author Kyle Richter of Empirical Development is an expert...
前端项目-angular-socialshare,AngularJS的社交URL和内容共享指令。
前端项目-social-share-kit,体面和好看的CSS/javascript社交共享图标、按钮和弹出窗口库
a good book of game application
社交游戏 游戏化社交互动
Mobile – Social Game Design- Monetization Methods and Mechanics 2nd Edition
前端项目-social-likes,漂亮的按钮,带有流行社交网络的计数器。
Giving too much social support social overload on social networking sites
前端项目-css-social-buttons,Zocial CSS社交按钮。
nextcloud 私有云修改sociallogin 插件,支持微信登录。 涉及文件: sociallogin/lib/Controller/LoginController.php sociallogin/3rdparty/hybridauth/hybridauth/src/User/Profile.php sociallogin/3rdparty/...
Basic Psychological Tactics Social Engineering Tools Pickup Lines Of Social Engineers How To Prevent And Mitigate Social Engineering Attacks And Much, Much More! Order Your Copy Now And Learn All ...
大型单机 gta 5 单机游戏破解插件Social Club v1.1.5.8 Setup
Python Social Media Analytics by Siddhartha Chatterjee English | 28 July 2017 | ISBN: 1787121488 | ASIN: B01MXL4UYG | 312 Pages | AZW3 | 8.63 MB Leverage the power of Python to collect, process, and ...