C++爱好者博客
内外相应,言行相称
http://www.cppfans.org-
Unity3D 2017.x Failed to start Unity Package Manag
升级到U3D 2017.x后,发现打开任何工程都会卡在Starting server处,经查看Editor.log后发现,是重试了几次后超时了,导致无法连接 UnityPackageManager,网上搜了下之后,用如下方法解决的。先记录下, 修改hosts记录,将UNITY_NOPROXY设置为127.0.0.1 Windows下: 打开 C:\Windows\System32\ …阅读全文 -
ArkGameFrame开源跨平台游戏服务器框架0.2.0版本发布
各位朋友好,ArkGameFrame 0.2.0 版本发布了,Ark 是一个游戏服务器框架,主要提供了抽象的数据组织结构和通用的服务器架构,主要特性包括: 抽象且通用的数据组织框架 面向数据和接口编程 事件和数据驱动模式 插件化和模块化 自由组织的分布式架构 跨平台 Excel 配置文件(对策划友好) …阅读全文
-
说说协程coroutine
近几年来,协程的概念和使用被越多越多的人提到了,确实帮助很多人解决了很多问题,例如网络上的问题,异步逻辑流程控制等。我的工作中也接触到一些,所以打算总结下。 简单来说,协程就是一种用户态、编程语言层面的轻量级线程。 然而线程与协程又有很多差异的地方,线程是靠操作系统OS本身来调度,是抢占式的任务处理方式,谁抢到算 谁的,所以大部分多线程程序中都要单独调用sleep来让出CPU给其他线程; …阅读全文 -
我为什么离开MK
近半年都没发过文章了,工作比较忙,自己也懒得写。近期因为我辞职在家休息,有了一个短暂的空闲期,所以打算总结下这一段时间的收获。 先说说工作上的事情,从13年底进MK,先是开发了《全民无双》,然后短暂9个月运营后,又去挑头开发了《择天记》项目,然后因为种种原因,现在辞职了。 说说为什么辞职,马云说过:员工辞职,只有两个原因,一个是钱不爽,一个是人不爽。本文无意吐槽老东家的事情,只能将我的 …阅读全文 -
ArkGameFrame游戏开发实战11–打怪升级
下副本打怪升级是大部分RPG类游戏的共同点,而NF比较关注的是这些公共模块的处理思路,这篇文章主要是通过讲NF如何实现副本打怪升级,从而展示NF的逻辑处理方 式。 抛开副本进入、离开、怪物创建、伤害等逻辑不说,这个不是本文要讨论的内容。 先说下副本打怪升级的思路,主要分为以下几个步骤, * 关注怪物HP,对应NF逻辑 -> 增加怪物类型的HP属性回调 * 按照死亡怪物I …阅读全文 -
ArkGameFrame游戏开发实战6–上线,进入城镇
接上篇,我们创建完角色后,下来该正式进去游戏世界了,本篇主要分析进入游戏的整体逻辑处理流程,下面分几个步骤详细说下。 进入游戏 加载角色数据 创建游戏角色对象 切图,进入城镇 角色间数据同步 1.进入游戏 客户端创建完角色后发送进入游戏世界协议,具体协议内容详见代码,不做讨论。服务器收 …阅读全文 -
[转]并发编程:Actors模型和CSP模型
一、前言 不同的编程模型与具体的语言无关,大部分现代语言都可以通过巧妙地结构处理实现不同的模型.杂谈的意思是很杂,想到哪儿写到哪儿,不对正确性负责 :D. 二、Actors模型 传统的并发模型主要由两种实现的形式,一是同一个进程下,多个线程天然的共享内存,由程序对读写做同步控制(有锁或无锁). 二是多个进程通过进程间通讯或者内存映射实现数据的同步. Actors模型更多的使 …阅读全文 -
ArkGameFrame游戏开发实战2–连接数据库
通过前面的一些设计类的文章,大家可能已经发现一个共同点了,Ark的开发者都很懒,更愿意用一套接口来实现变化的需求,因为懒惰,所以世界在进步,而Ark的数据库 插件也是采用了此种方式。 一般数据库的操作无非增删查改等一些操作,DCL类操作没权限,DDL类操作(主要的命令有CREATE、ALTER、DROP等)基本是不会用到,DML类操作( SELECT、UPDATE、INSERT、DELETE) …阅读全文 -
ArkGameFrame游戏开发实战1–初始化网络库
说起服务器编程,大多数人脑海里就会出现网络编程,linux,libevent,libuv,asio等。 在很多年前最开始写程序的时候,我就想以后有一套网络库 ,写好后可以一直复用,再也别改了!现在想起那时候未免很傻很天真,但是,ArkGameFrame的网络库NFNet,却做到了一大半!因为考虑到跨平台,也需要效 率高,因此首选了成熟的libevent作为底层库使用,封装成仅仅需要几行代码即可使 …阅读全文 -
ArkGameFrame实战系列文章说明
ArkGameFrame 是一个面向中小型企业的开源游戏服务器敏捷开发框架,继承自 NFrame ,主要是项目的管理方式不同,这块经过沟通,很难有一个大家都满意的结果,所以暂时新作一个组织结构来管理这几个项目,后面再看结果是否合并。 关于这个框架的设计过程的介绍文章,请查看 NF博客 。 前面我们已经通过一系列ArkGameFrame架构和设计的文章来 …阅读全文