摘要:
使用NDK在android上做开发是一件“痛并快乐着”的差事,之所以“快乐”是因为可以将一些原有的C/C++库直接移植到android上,而不需要用java再开发一套功能相同的库。然而这同时也是一件“痛苦”的事件,因为android本身是裁减过的linux,好些system call不能使用,另外由于没有采用glibc(用的是Bionic libc,原因见wiki),好些函数所在的头文件位置也有变化,这都给移植工作带来困难。更为坑爹的是一些函数在头文件里能找到定义在具体库里确没有实现(比如:pthread_mutex_timedlock)。 android native开发在编译链接阶段会遇. 阅读全文
摘要:
最近闲着没事把云风的《开发笔记》看了个遍,希望能从大牛的开发轨迹中得到一些启发。但可能是因为本人level太低,一遍看下来还是云里雾里,不甚明白。没办法只好再看一遍,希望能对他们的服务器端架构有个简单的认识,这里同时做些笔记。 PS:本文是我个人对云风的开发笔记的读后感,可能会有很多错误,慎入! ----------------------------------------华丽... 阅读全文
摘要:
上一篇《网络游戏服务器构架设计(二)》介绍了刀剑Online的连接负载服务器CLS,博友提出质疑“说得不够详细,比如你怎么,场景服务器怎么才算一个场景服务器,场景服务器切换怎么处理不断线后连接另一个场景的,还有很多细节问题没有说到”,本篇就来介绍游戏服务器最为核心的部分:游戏逻辑服务器,同时也回答了这位博友的问题。PS:本篇的文章结构主要分两个部分,前半部分(2.2节)介绍刀剑Online如何实现游戏逻辑服务器,后半部分(2.3节)为本人结合实际工作对这套服务器构架做出的一些展开解释及补充,主要对设计思想进行分析。精彩在后面哦!--------------------------------. 阅读全文
摘要:
本文并没有涉及什么逆向工程,只是拜读刀剑Online服务器端主程的文章后[1],想结合自己的经验谈一谈。PS:由于题目范围太大,本系列的前言做了一些限制。一、网络游戏服务器 要想设计好网络游戏服务器的构架,首先需要知道网络游戏服务器在玩家游戏过程中发挥什么作用。就我个人的理解:网游服务器在玩家游戏过程中扮演上帝的角色。玩家在服务器制定的规则下进行游戏,服务器负责同步在线玩家之间的属性、操作、状态等等,最终在多个不同的客户端呈现一个“统一”的游戏世界。 所谓的服务器构架在本系列blog中,主要是指如何将服务器各部分合理的安排,以实现最初的功能需求。好的结构不是一蹴而就的,是通过需求的推动一步步. 阅读全文
摘要:
这篇blog题目涉及的范围真大!以至于在这里需要先写一篇前言把范围缩小。选择写这样一个系列的文章,主要是想给工作了两年的自己一个交代,或者说是一个阶段性的总结。两年时间里,房价依然再涨,工资依然跑不赢CPI,某人依然在仰望星空。期间很多梦碎了,很多还在坚持着,生活过得波澜不惊。而我也从刚毕业是的青涩逐步蜕变为“老油条”。不知道是一种悲哀、还是一种悲哀、还是一种悲哀....... 庆幸的是梦还在继续,一颗倔强的心还在坚持。希望明天的明天被束缚的心能回到梦开始的地方!==========================我只是条分割线======================== 作为本系列bl. 阅读全文
摘要:
模型导入unity后,可以使用unity的Inspector面板对模型在某个坐标轴上进行平移、旋转和缩放操作(如图1)。 图 1 Inspector面板提供功能是所见即所得的,调整后立刻可以看到效果,相当的方便。但是这些功能还不能完全满足游戏开发的要求,比如为了减轻美工的工作量一些游戏对场景中的模型标准作出了一些规定,使这些模块化的小模型能按照一定的规律拼接成丰富多样的大模型。拼接过程往往要对模型的local coordinates进行调整才能最终形成一个“无缝”的大模型,而这个过程常常是在游戏运行时进行(或者地图初始化时),因此需要引擎提供修改模型mesh的接口。十分幸运的是unity提供. 阅读全文
摘要:
最近房价涨得太快也懒得去看房了,空下来的时间看一下unity,发现unity3D-3.5版官方的AngryBots示例效果很震撼,就下了一个unity来玩玩。想把unity玩起来自然离不开model,面对3dsmax这些nb工具,作为一名服务器端程序员对此表示压力很大,无奈只能求助谷哥找一些model。 废了九牛二虎之力后把model从3dsmax导入unity,把模型drag到一个1*1的场景里,结果如下图...... 呃,我的模型呢?还好在Hierarchy里有我导入的model,双击后可以看到(给我的Peon打了一个Point light^_^): 看来是model的scale太小了,. 阅读全文
摘要:
warcraft是非常经典的游戏,而由warcraft衍生出来的各种玩法(dota、3C以及各种剧情版的war3游戏),同样是经久不衰。这些得益于warcraft的牛逼编辑器。 不管是策划还是玩家都梦想着有一套功能强大且使用方便的编辑器来实现自己想法,而WorldEditor(简称WE)就是这样的编辑器。WE应该是本人见过的最强大的地图编辑器(没有“之一”),这种强大不仅是建立在精妙的算法上,同时更为重要的是建立在一种开放、规范的机制和流程之上。其中规范化的模型制作流程是这种强大的重要组成部分。 PS:可能有人会问:“你丫一个服务器端程序员,为啥要研究模型呢?”;答曰:“不想当策划的程序不是. 阅读全文
摘要:
朋友想搭个网站玩玩,找我帮忙找一个公网的空间,需要独立ip,最好是双线的。按照他的需求,想了几种方案,这里做个记录,以后自己闲淡的时候也可以搞一个玩玩。购买空间购买独立的IP购买VPS、云主机一、购买空间 在公网搭网站最简单的方法就是购买成熟的公网空间。这些webhost的提供商往往是按照开发语言、开发架构的不同来提供对应的虚拟主机空间,比如国内的“支持ASP/ASP.net/PHP脚本语言开发, 预装IIS/Tomcat/Apache,可选数据库MySQL、SQL Server、Oracle”。价钱往往在几十到一两千不等(一年);国外空间技术比较成熟,服务器稳定,技术支持人员的水平也比较.. 阅读全文
摘要:
壮族小伙看代码喜欢运行起来看,什么源代码都先想办法跑起来再仔细研究。最近遇到困难:网上流出的天龙代码是VS2010的工程,编译没问题但运行的时候缺少FoxScriptEngine.dll的动态库,翻了一下工程发现只有FoxScript.h的头文件,没有对应的实现。lua脚本这块的载入运行需要这个动态库,没有这个动态库程序没法运行。静态的看代码那个苦呀,于是在网上一通乱找,找到linux可运行的版本以及资源。接下来要做的就是把VS2010的工程换成Makefile。 平时都是手工写Makefile,用的都是最简单的功能,电脑上的《GNU make中文手册》也没看,浑浑噩噩,每次Makefile. 阅读全文