摘要: 如果是使用网格背包实现的的背包界面,类似于《暗黑》这种背包,我是这么来定义结构的。发现和原来做的一个开纸的算法很类似,但是恰好反过来。反正没事儿想起来实现一下也不错。一个物品的占位,默认左上角为(0,0)点。策划在填表的时候,只需要根据对角线关系填写(1,1)这个点就可以了。服务器Item对象,仅需... 阅读全文
posted @ 2015-04-22 23:34 河豚 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 可能说起来有点大,一个项目的成功或是失败可能归咎于很多的方面,可能就如同那句话说的:成功可能原因很多,但是失败的原因往往都类似。我是这么来看待一个项目的构成的。一个项目而言无外乎包括以下几个方面:产品,市场,团队,资金,风险做一个拟物化的比喻,就是市场是土壤,资金是养分,团队是植树人,产品是种子,风... 阅读全文
posted @ 2015-04-21 05:05 河豚 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 系统信息采集方面,选择使用Sigar的第三方库。对于Sigar做一个简单的梳理。服务器监控,一方面要对游戏服务器的数据进行采集,另一方面也要对游戏服务器所在的系统信息进行采集。我打算使用sigar来获取系统信息的采集工作。其Demo非常完整,并且跨平台支持,本身对于.net,C++,php,pyth... 阅读全文
posted @ 2015-04-20 11:46 河豚 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 结合上一次的拓扑结构,大部分游戏服务器采用C++实现,如果监控亦采用C++来做,在分布式上、web操作上、网络通讯、邮件功能上都得从底层重头开始构建封装并且并不便捷,需求又是不断向前迭代的,由于要保证一定的热部署和跨平台的特性(一些库是为了复用,需要兼顾平台特性),加之C++语言本身特点,开发效率反... 阅读全文
posted @ 2015-04-18 03:58 河豚 阅读(415) 评论(0) 推荐(0) 编辑
摘要: int _tmain(int argc, _TCHAR* argv[]) { char i[10] = { 0 }; printf("%d %d\n",i,sizeof(i)); printf("%d %d\n",&i,sizeof(&i)); printf("%d %d",&i[0],sizeof(&i[0])); getchar(); retur... 阅读全文
posted @ 2015-04-17 09:45 河豚 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 往常自己在做一个网页的时候,通过自己会定义一个common.css来做所有html标签的初始化处理,清理浏览器默认样式来做操作。最近类比了一下很多的前端框架发现网易的NEC(Nice+Easy=Better)是非常值得参考和学习的,里面就给出了清楚浏览器样式的CSS模板。相比起阿里和twitter的... 阅读全文
posted @ 2015-04-16 19:39 河豚 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 监控本来是为了方便运维维护游戏服务器,当服务器出现异常时能够及时提醒,并能够监视服务器的一些相关情况。然而需求是在不断变更的。这句话一点都没错,写这个工具的时候尤其如此了。需求迭代,出现的很多情况开始都没有考虑清楚。对于需求做如下的罗列。迭代一:刚开始,运维说的比较简单,只要在服务器的机器上面写一个... 阅读全文
posted @ 2015-04-16 12:00 河豚 阅读(965) 评论(0) 推荐(0) 编辑
摘要: #include "stdafx.h"#include using namespace std;templateclass Cat{public: void eat() { printf("eat %s",typeid(T).name()); }};class Fis... 阅读全文
posted @ 2015-04-15 16:31 河豚 阅读(480) 评论(0) 推荐(0) 编辑
摘要: 背包功能是个游戏基本都有背包的概念,并且背包的基本操作的方式可以延伸到其他模块的处理上来。然而背包设计而言,往往不同的游戏存在着很大的差异,游戏性往往也做了很好的体验上来。有些时候背包设计的好,反而在可玩性上有了很好的提升。并且一个好的背包可以很方便直观的反映玩家所拥有资源的种类,数量的信息。例如:... 阅读全文
posted @ 2015-04-15 11:52 河豚 阅读(1159) 评论(0) 推荐(0) 编辑
摘要: 只是列举一下伪算法的的函数步骤,留待以后思考。需要的函数说明:Item* FindItemBySourceID(); //获取同类型的物品并且数量最小具体函数操作:bool BagManager::Obtain(Item* pItem){ Item* pTempItem = FindItemB... 阅读全文
posted @ 2015-04-15 11:12 河豚 阅读(487) 评论(0) 推荐(0) 编辑