为什么其实不重要!

做一个简单网游服务器。

  服务由两部分构成,网关和世界服务器,绞尽脑汁,还没有想到一个好听的名字,可以肯定的是要code n行,就暂定CodeN {N >= 0}。

  语言选用C++和lua,其实也蛮像选scala的,但小众了点,自己也没有java基础,怕有搞不定的问题,c++ lua会更有信心一点。db redis和mongodb 比较,倾向于redis,他大代码量比mongodb少,也更有信心一点点,但是redis的查询、运维,好像不是那么方便,forget it,运维不是我现在考虑的事,哈哈,mongodb query也一般。

  网络协议采用protocol buffer, 和同事交流,他们觉得这个太大了了,不适合游戏,但我喜欢他的表达能力、非常省带宽编码的编码方式。我深信消息协议一定是应该用一种语言中立的声明方式。我第一次读protocol buffer的时候,这就是我想要的。恨透了直接用 c struct 做消息,没有collection,没有移植可言,甚至没有string,全部依靠sctruct的offset。这种方式唯一的好处是没有encode,decode,但太原始了非常不科学。

网关,功能比较简单,负责保持连接,消息转发,后续会加聊天功能。对网关有一构想:

   1、在服务器宕机的时候,自己重启世界服务器,在线就玩家会主城,这样服务器的可用性高一点。

   2、不停机维护,新服务器起来的时候,网关做服务器切换,玩家还是登陆主城,玩家不用下线。

上述两点或许是一个东西,想得还不是特别明朗。网关基础基本没有运算,压力主要来自网络io,代码、功能都会比较简单。除基础部分外,准备都要lua实现,还能热更新,啦啦啦,德玛西亚!

  世界服务器主要用C++, lua只负责灵活的计算无关的功能,作为系统的plugin,系统开放部分接口。这个太大了,容下N回分功能聊起。

服务器状态方便或或许会参照mongodb,搞一个http的方式查询,具体的内容由lua来做。

现在的想法是山寨(Copy To China?)一个《神仙道》,客服端可能用object c/ cocos2d-iphone先实现,后面一点自己重新写2d图像引擎。理由?我还没这样的一个轮子,所以我要整一个出来,哈哈!cocos2d也不完美,在我看来。他有点肥,我比较欣赏他action的设计,每个action很灵活,在加上一些修饰action的action,如速度控制,action queue, forever这些流程控制,粒度相当合适,超有装配游戏的feel。非常适合坐小游戏,现在还有不少工具。

  Can I ? just do it .

做一个简单的游戏服务器相关推荐

  1. 用python做一个简单的游戏,用python写一个小游戏

    大家好,本文将围绕如何用python做一个简单的小游戏展开说明,python编写的入门简单小游戏是一个很多人都想弄明白的事情,想搞清楚用python做一个简单的游戏需要先了解以下几个事情. 1.Pyt ...

  2. 一个简单的游戏服务器框架 .

    最近一段时间不是很忙,就写了一个自己的游戏服务器框架雏形,很多地方还不够完善,但是基本上也算是能够跑起来了.我先从上层结构说起,一直到实现细节吧,想起什么就写什么. 第一部分 服务器逻辑 服务器这边简 ...

  3. CocosCreator学习1:做一个简单的游戏

    把计步器写好了,到了写游戏场景.控件什么的时候,傻眼了.想做一个简单的地图,可以在地图上点击选择城市,发现用Cocos2D-X代码码出来好麻烦,尤其是城市位置问题,需要调试去找对像素区域做一个按钮控制 ...

  4. 用python做一个简单的http服务器。把huya的直播地址用python解出。解后在浏览器中调用openffplayer。

    接前面的工作 .这里主要在做一个简单的简单的http服务器.其实这个http是网上抄别人的. 主要文件有三个. 1,server.py 很简单的处理socket,还有处理httphead的线程.是一个 ...

  5. 一个简单的游戏服务器框架

    最近看到百度空间的一个帖子,不错,在这里整理下,转载至我的博客里,开始自己慢慢琢磨写一个框架. 我先从上层结构说起,一直到实现细节吧,想起什么就写什么. 第一部分 服务器逻辑 服务器这边简单的分为三个 ...

  6. python怎么写游戏脚本_用PYTHON做一个简单的游戏脚本(基础,详细)

    引言 这段时间迷上了玩点点点的小游戏,但是某些重复的环节着实无聊,就想着能不能用PYTHON做一个游戏脚本,不过为了熟悉需要做脚本的各个模块,于是打算在4399上找一个比较像的游戏做个脚本练练手,后来 ...

  7. 用PYTHON做一个简单的游戏脚本(基础,详细)

    引言 这段时间迷上了玩点点点的小游戏,但是某些重复的环节着实无聊,就想着能不能用PYTHON做一个游戏脚本,不过为了熟悉需要做脚本的各个模块,于是打算在4399上找一个比较像的游戏做个脚本练练手,后来 ...

  8. python编辑游戏脚本_用PYTHON做一个简单的游戏脚本(基础,详细)

    引言 这段时间迷上了玩点点点的小游戏,但是某些重复的环节着实无聊,就想着能不能用PYTHON做一个游戏脚本,不过为了熟悉需要做脚本的各个模块,于是打算在4399上找一个比较像的游戏做个脚本练练手,后来 ...

  9. 用C#做一个简单纸牌游戏的程序

    小子不才学C#没多久,想做个窗体纸牌游戏玩,但是窗体应用懂得不多,只能在控制命令台上进行游戏设计,希望有大神能帮我设计这个窗体程序,或者推荐好的窗体设计资料,谢谢了,控制命令台程序如下: namesp ...

最新文章

  1. 循环神经网络(recurrent neural network)(RNN)
  2. UNIX--更改/输出当前工作目录
  3. VTK:Qt之BarChartQt
  4. 算法题目中经典问题(易错点)
  5. [vue]vue渲染模板时怎么保留模板中的HTML注释呢?
  6. 公众号支付相关需要注意的问题
  7. python苦逼_自学Python编程的第十天(希望有IT大牛看见的指点小弟我,万分感谢)---------来自苦逼的转行人...
  8. inode mac客户端_淘宝直播PC客户端适合哪些场景使用?
  9. 如果使用SQLExpress 2005时要求'sp_configure 'User instances enabled''
  10. 【转载】pyinstaller的使用和几个坑
  11. 【Teradata】tdlocaledef修改默认日期配置
  12. 9. HTML DOM getElementsByName() 方法
  13. No matching configuration of project :libusb was found.
  14. 深度学习之超分辨率算法——SRCNN
  15. oracle中both,ORACLE:scope=both|memery|spfile
  16. 能够在乱世中_乱世中
  17. ElasticSearch 根据环境自动创建动态索引
  18. 前端学习笔记01---HTML5、CSS3、移动端前端基础学习知识点合集
  19. WDK学习笔记_区块链项目实现_MAE
  20. 波浪下划线怎么设置_波浪线符号(word小技巧)

热门文章

  1. svn 仓库 本地 连接_svn 仓库的创建和删除
  2. Docker(十二)2375的血泪
  3. 计算机网络——MAC地址
  4. TTS生成wav格式音频添加报头信息
  5. 大连海事大学与重邮计算机,中国最低调的10所大学, 有实力不张扬, 实力确很强!...
  6. 倒计时 jquery countdown
  7. 两顺序栈共享Java_数据结构与算法(三),栈与队列
  8. Plone学习-PloneBook中文版
  9. Windows Service服务程序的原理及实现(0)服务主函数 控制处理函数
  10. 【简单动画:快乐的小黑】