自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (6)
  • 收藏
  • 关注

转载 游戏服务器之内存数据库redis客户端应用

本文主要介绍游戏服务器的对redis的应用。介绍下redis c++客户端的一些使用。存储结构设计:(1)装备道具的redis存储结构为例(Hashes存储类型)存储结构为:    key : EQUIPMENTBAG角色id  frield: 装备位置 value:装备信息存储一个装备道具到redis(使用hset 命令)一次存储玩家的装备背包里的所有道具(使用命令hmset)一次获取一个玩家的...

2018-05-26 17:55:26 513

转载 redis系列之数据库与缓存数据一致性解决方案

数据库与缓存读写模式策略写完数据库后是否需要马上更新缓存还是直接删除缓存?(1)、如果写数据库的值与更新到缓存值是一样的,不需要经过任何的计算,可以马上更新缓存,但是如果对于那种写数据频繁而读数据少的场景并不合适这种解决方案,因为也许还没有查询就被删除或修改了,这样会浪费时间和资源(2)、如果写数据库的值与更新缓存的值不一致,写入缓存中的数据需要经过几个表的关联计算后得到的结果插入缓存中,那就没有...

2018-05-26 11:44:46 272

转载 C++连接redis

redis是很好机遇key-value的缓存数据库,但是一直缺乏一个好的C++调用接口,官方有个hiredis的C接口,但是只能在linux下用这里简单介绍了一个开源的基于C++11和boos::asio的跨平台redis接口,可以实现C++操作redis,本文在windows环境下使用的,linux同理来源github地址:https://github.com/nekipelov/rediscl...

2018-05-25 10:43:46 6402 1

转载 c操作redis数据库

原文地址: c语言操作redis数据库前言下面简单介绍使用c语言操作redis数据库.准备内容hiredis 这是redis官方推荐的基于C接口的客户端组件 在redis的源码包的deps/hiredis下就有源码,也可以另行下载hiredis 安装方法,进入deps/hiredis目录,执行命令makemake installmkdir /usr/lib/hiredis\#下面两条影响运行...

2018-05-25 09:48:06 2871

转载 服务器优化

本文只是提供一些游戏服务器优化思路,其中一些思路是用在不同场合的,不是同个架构的。需要根据应用场景选用合适方式。本文的引用的文章都是在自己写的在本博客内的,也都是上线开几百个服的成熟项目的。 一、框架设计优化1、分静态服务器和动态服务器。2、动态服务器使用两层负载均衡:多网关  和 多场景。网关的选择是登陆服务器根据网关的负载来选择。场景则作为分线和副本等分开。框架图参考:http://blog....

2018-05-23 16:46:51 260

转载 负载均衡之加权轮询算法

  在介绍加权轮询算法(WeightedRound-Robin)之前,首先介绍一下轮询算法(Round-Robin)。  一:轮询算法(Round-Robin)  轮询算法是最简单的一种负载均衡算法。它的原理是把来自用户的请求轮流分配给内部的服务器:从服务器1开始,直到服务器N,然后重新开始循环。  算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。   假设有N台服务器...

2018-05-22 16:37:33 13931 1

转载 Redis和MySQL的结合方案

方案由从易到难的顺序,但无论哪种方法,都需要保证的是Reids和MySQL的数据一致性。方案一:程序同时写Redis和MySQL读Redis方案二:程序写MySQL, 使用Gearman调用MySQL的UDF,完成对Redis的写读Redis参考 《利用Gearman进行Mysql到Redis的复制》方案三:程序写MySQL, 解析binlog,数据放入队列写Redis读Redis参考 《利用Ca...

2018-05-22 16:09:52 23777

转载 redis+mysql游戏数据服务器

1、数据服务器详细设计数据服务器在设计上采用三个层次的数据同步,实现玩家数据的高速获取和修改。数据层次上分为:内存数据,redis数据,mysql数据设计目的:首先保证数据的可靠,防止数据丢失,保证数据完整。然后实现数据的高速访问,减少由玩家数量增加对数据服务器性能造成的影响。最后实现运维数据的入库,以及数据持久化。在这个基础上数据服务器不再是一个单一服务器,它涉及到与其他服务器之间的交互。数据服...

2018-05-22 11:21:13 3427

转载 封装hiredis

  在菜鸟教程自学了redis,总想着像Mysql一样,在C/C++中进行对接。于是查询了一些资料,最后找到了hiredis。然而直接用它的话,难免有点不方便。于是,对其进行封装。  hiredis直接去git上克隆,地址:https://github.com/redis/hiredis。  下载好之后,由于其自带Makefile,只要make一下就编译出静态库与动态库了,接着把头文件和静/动态库...

2018-05-22 11:10:54 646

转载 protobuf网络框架

前言:        protobuf是google的一个开源项目,主要的用途是:1.数据存储(序列化和反序列化),这个功能类似xml和json等;2.制作网络通信协议;一、资源下载:1.github源码地址:https://github.com/mgravell/protobuf-net2.google项目源码下载地址(访问需翻墙):https://code.google.com/p/proto...

2018-05-22 10:31:12 1686

转载 Protobuf在游戏开发中的运用

  最近在研究protobuf在项目中的使用,由于我们项目服务端采用的是C++,客户端是cocos2dx-cpp,客户端与服务端的消息传输是直接对象的二进制流。如果客户端一直用C++来写,问题到不大,但是后期有想法将客户端用lua来写(可以实现苹果平台的新增更新),这个时候问题就出现了(传输的消息定义无法在lua中得到扩展)。这个时候就想到了protobuf。  protobuf原本是google...

2018-05-22 10:25:58 1374

转载 LeetCode 226 Invert Binary Tree题解

题目地址:https://leetcode.com/problems/invert-binary-tree/题目:Invert a binary tree.反转一颗二叉树 4 / \ 2 7 / \ / \1 3 6 9to至 4 / \ 7 2 / \ / \9 6 3 11)解题思路:方法一:递归的交换...

2018-05-18 10:12:08 160

转载 Lua C++交互机制

一、Lua与C++的交互机制——Lua堆栈1)交互机制Lua和C++ 的交互机制的基础在于Lua提供了一个虚拟栈,C++ 和Lua之间的所有类型的数据交换都通过这个栈完成。无论何时C想从Lua中调用一个值,被请求的值将会被压入栈,无论何时C想要传递一个值给Lua,首先将整个值压栈,然后就可以在Lua中调用。 栈中每个元素都能保存任何类型的Lua值(实际上Lua的任何类型的值包括字符串、表等等,最终...

2018-05-18 10:06:30 229

转载 Lua和C++交互机制详解

一、Lua堆栈要理解Lua和C++交互,首先要理解Lua堆栈。简单来说,Lua和C/C++语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。在Lua中,Lua堆栈就是一个struct,堆栈索引的方式可是是正数也可以是负数,区别是:正数索引1永远表示栈底,负数索引-1永远表示栈顶。如图: lua的栈类似于以下的定义, 它是在创建lua_State的时候创建的:             T...

2018-05-18 09:41:48 313

转载 游戏AI之有限状态机

一。游戏AI介绍                游戏AI,是一个非常值得挑战的部分。一个游戏好不好玩,游戏AI占了很大的分量。游戏中人物看起来比较智能,会让玩家觉得不是在和电脑作战,而是和真真的有思想的人来决斗。当然,真要做到那一步,很难,不过我们可以使用各种各样的方法,来模人工智能。        一般来说,人工智能有模式,条件模式,有限状态机,决策树,神经网络,遗传算法和模糊逻辑等等。而有限状...

2018-05-17 17:32:50 2355

转载 游戏中的AI算法总结与改进

参考文章:http://games.sina.com.cn/zl/duanpian/2014-03-11/105973.shtmlhttp://www.oschina.net/translate/understanding-steering-behaviors-collision-avoidance?cmphttp://blog.csdn.net/ityuany/article/details/5...

2018-05-17 17:13:35 4021

转载 FSM(状态机)、HFSM(分层状态机)、BT(行为树)

游戏人工智能AI中最常听见的就是这三个词拉: FSM这个不用说拉,百度一大堆解释,简单将就是将游戏AI行为分为一个一个的状态,状态与状态之间的过渡通过事件的触发来形成。比如士兵的行为有“巡逻”,“追击敌人”,“攻击敌人”,“逃跑”等行为,响应的事件就有“发现敌人”,“追到敌人”,“敌人逃跑”,“敌人死亡”,“自己血量不足”等。那么可以写成这样一个状态机:1.士兵 “巡逻”,如果 “发现敌人”,那么...

2018-05-17 16:41:41 1524

转载 游戏AI FSM

  在很久很久以前,受限于计算机性能和图形效果,游戏往往是以玩家为唯一主动对象的,玩家发出动作,游戏响应结果。除此之外,不需要系统在玩家没有发出动作时产生响应。可以说,玩家的动作与游戏是“同步”的。  随着计算机的处理能力的发展,更绚丽的游戏逐渐产生。玩家就不能只满足盯着屏幕上静态的一张张图片进行游戏。也就是说,游戏应该有自己的方式能够与玩家主动沟通。这样才能使游戏更加生动,虚拟的环境显得更加真实...

2018-05-17 16:37:14 332

转载 有限状态机FSM详解及其实现

有限状态机,也称为 FSM(Finite State Machine) ,其在任意时刻都处于有限状态集合中的某一状态。当其获得一个输入字符 时,将从 当前状态 转换到 另一个状态 ,或者仍然保持在当前状态 。任何一个FSM都可以用状态转换图来描述,图中的节点表示FSM中的一个状态,有向加权边表示输入字符时状态的变化。如果图中不存在与当前状态与输入字符对应的有向边,则FSM将进入“消亡状态 (Doo...

2018-05-17 15:28:56 2733

转载 FSM:网络游戏开发中的有限状态机(实践篇)

上一篇文章《FSM:网络游戏开发中的有限状态机(理论篇)》中,讲解了FSM的基础知识。这里,我结合图形及具体例子,讲解下FSM在实际开发中的运用。首先,图解下上篇文章中提到的各种action。1.InputAction:某状态下收到某事件,输出相应动作。这里不发生状态变更,只是对输入事件的一个响应。属于瞬时动作。2.LeaveAction:离开某一状态时的相应动作。这个动作以后,到达下一状态。3....

2018-05-17 10:01:09 922

转载 FSM:游戏开发中的有限状态机1

游戏系统的本质是输入加输出。我们把游戏系统划分为多个不同状态,不同的状态在不同输入下产出不同输出。按照这种思想,我们可以把游戏中复杂的子系统,比如战斗系统,划分成多个不同状态,然后我们要做的只是,对于不同的战斗操作输入,转换相应状态,执行相应状态下的动作输出。那么什么是有限状态机? 我们要说的状态机输入和输出都是离散的、有限的;在这个基础上,我们所说的有限状态机就是描述这一类问题:在有限的输入里,...

2018-05-17 10:00:07 321

转载 了解C++11新特性

什么是C++11C++11是曾经被叫做C++0x,是对目前C++语言的扩展和修正,C++11不仅包含核心语言的新机能,而且扩展了C++的标准程序库(STL),并入了大部分的C++ Technical Report 1(TR1)程序库(数学的特殊函数除外)。C++11包括大量的新特性:包括lambda表达式,类型推导关键字auto、decltype,和模板的大量改进。本文将对C++11的以上新特性进...

2018-05-16 21:34:37 256

转载 微信SDK使用

由于第一次接微信SDK。沿路踩过一个又一个大大小小的坑,以此做一下记录。对于安卓版来说。前期一些基本jar导入。xml配置什么的都基本不会有什么问题,按照微信文档来就可以了。第一个坑在出在签名上,第三方应用要拉起微信必须保证2点:1.应用中的包名(Mainfext.xml中的package)必须与后台配置的一致。2.应用生成不能是debug包,必须是正式的签名包。这个签名必须与后台配置的一致。在第...

2018-05-16 10:58:23 2498

转载 cocos2d 由导出文件.csb反推出cocosUI工程

最近遇到一个需求,只有cocos studio导出的UI资源(.csb)文件,但是需要修改UI工程,我就想有没有方案通过csb反推出一个UI工程。首先需要理解csb文件是如何解析的,新建一个简单的cocos工程,创建一个简单的UI工程,导出一个csb文件,然后打断点跟踪代码,发现csb文件的解析代码都在CSLoader.cpp中,重点的方法是nodeWithFlatBuffers。通过nodeWi...

2018-05-09 11:44:47 1140

转载 Cocos2d-x 3.1 环境搭建和创建工程

Cocos2d-x 3.x改版了很多,之前搭过一次环境,但是没截图,这次趁着重装电脑,一边搭建一边截图。此博文只是为了记录而不是为了教学,所以更多讲的是搭建过程。本文基本上参考这篇博客:http://www.idcfree.com/article-1488-1.html,这篇博客比我讲的详细多了,但是我的是菜鸟教程,喜欢看图的可以参考我的博客。安装工具:1、下载JDK下载地址:http://www...

2018-05-05 17:22:14 620

转载 Windows下新建Cocos2d-x V3.10项目(cocos2d-x lua)

cocos2d-lua V3.10。在新建工程上还有些问题,通过几天研究,终于实现了。第一步:首先用V3.10软件新建一个项目,如图所示:第二步:用VS编译新建立的项目:第三步:加入Win32控制输出台,否则看不到Log信息1)在项目中的main.cpp中加入如下代码:代码:[cpp] view plain copy#ifdef USE_WIN32_CONSOLE      AllocConsol...

2018-05-05 10:38:20 1067

转载 Cocos2d-x项目的MVC框架简介

文章来自http://www.cocos.com/doc/tutorial/show?id=2218Cocos2d-x项目的MVC框架与其说Cocos2d-x项目的MVC框架,还不如说是我个人对MVC框架在Cocos2d-x项目上的理解,因为我也算是半个野生的,运用的并不是很好,请各位看官见谅。本篇所用的Cocos2d-x版本为:Cocos2d-x 3.2当我们已经开始搭建好项目,着手开始写代码的...

2018-05-05 10:12:21 1037

转载 cocos2d-x 内存优化技巧

文章来自 http://gad.qq.com/article/detail/13680内存优化原理为优化应用内存使用,开发人员首先应该知道什么最耗应用内存,答案就是纹理! 纹理几乎会占据90%应用内存。所以尽量最小化应用的纹理内存使用,否则应用很有可能会因为低内存而崩溃。 本文介绍Cocos2d-x游戏通用的两条内存优化原理指导。认识瓶颈寻找方案什么样的纹理最耗应用内存?或这些纹理会消耗多少内存?...

2018-05-05 10:07:41 982

转载 我所理解Cocos2d-x 3.6(Lua):初识MVC

文章来自http://www.cocos.com/doc/tutorial/show?id=2922 最近的游戏项目中使用了Lua脚本来开发,项目中用到了MVC框架。从Cocos2d-x 3.6创建lua demo, 简单分享一下思路和一些开发中的技巧。先简单说说MVC,即Model View Controller。Model(模型):一般负责数据的处理View(视图):一般负责界面的显示Cont...

2018-05-05 09:41:33 718

mytestupload.html

测试车牌识别ocr页面文件

2022-04-28

LandAI.zip

斗地主AI程序,斗地主机器人, 实现斗地主AI算法,可以进行人机对战, 单机测试版本, 欢迎大家提出建议。

2019-11-23

mysql-essential-5.6.1-m4-win32.rar

mysql 5.6.0版本安装包,安装数据库,此版本mysql数据库稳定好用,。

2019-06-11

斗地主AI程序

斗地主AI程序, 单机测试版本, 欢迎大家提出建议

2019-03-22

WXHttpTester

WXHttpTester用于微信开放平台接口测试,方便调试和使用微信开发平台接口。

2019-01-28

protobuf vs版本

protobuf visual studio 编译版本. 下载后,解压到一个目录中,用vs打开vsprojects目录中的protobuf.sln

2019-01-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除