- 博客(63)
- 资源 (35)
- 收藏
- 关注
原创 游戏服务器架构:基于匿名函数的高性能异步定时器系统
本文主要介绍适用于MMO/RPG游戏服务端的、基于匿名函数做定时器回调函数的、高性能异步触发的定时器系统的设计方案,以解决常规线程loop-run-check模式的弊端。本文使用伪代码简明阐述理论。
2024-08-25 17:37:27
570
原创 AIGC:基于ON-DO模型的AA游戏脚本规范(AA Game Script)
AIGC在游戏应用需要模型抽象不要指望AI能有0-1输出一个完整无误的MMORPG游戏客户服务端代码及配置表。AI和游戏中间必需有一层抽象来简化AI的操作。本文是配置层的抽象。像lua这样的脚本是一门泛行业的脚本,她神通但又逻辑性太强,对于游戏策划来说能掌控好她也不容易。本文介绍一种以特定游戏需求为抽象的脚本规范,均可以用文本表达式或者lua脚本完成。她的目的是抽象和简化配置逻辑,让和AI。
2024-08-04 19:49:49
1162
原创 浅谈数学模型在UGC/AIGC游戏数值配置调参中的应用(AI智能体)
众所周知,无论UGC还是AIGC,都面临一个同样问题:复杂的参数调教和简单的人机交互(含AI)的矛盾。UGC毕竟他是U,没有B的强大实力,U肯定希望简单工作就能高效产出。同样,AI还不是完美的,AI也希望简单化以提升AI成品合格率,这和U的需求相吻合。借旧图抛砖引玉:本文将阐述以数学模型为基础提出简化数值调参的一些思路。
2024-07-14 15:56:54
1427
1
原创 游戏工厂:AI(AIGC/ChatGPT)与流程式游戏开发
开发周期长、人工成本高、成功率低等使得游戏公司融资比较困难。有的公司凭一个爆款游戏一骑绝尘之后再无亮点新作,有的公司经过漫长开发没等到游戏上线公司就挂了,有的公司游戏一上线公司就挂了(数据不好再无财力持续)。好莱坞电影剧本审核流程:第一步先讲一页纸的故事,第一步Pass了再到第二步讲10页纸的故事……剧本流程通过了再到下一个流程,所以多数好莱坞电影有着不错的票房。《流浪地球2》在拍摄的时候就有很多电影学院的学员跟随记录每天遇到的问题,就是为了不断的总结和完善科幻电影的制作流程。
2024-06-23 12:05:13
1021
原创 游戏高度可配置化(二)用“模型抽象”化解游戏策划和程序员的江湖恩怨
众所周知,由于游戏策划的丰富想象力导致游戏服务端引擎实现起来非常艰难。因为紧迫的工期和不断变化的需求,在策划和程序之间还上演了不少江湖恩怨。本文主要介绍模型抽象在游戏服务端引擎开发中的应用。确切的说本文是上篇的补充(游戏高度可配置化(一)[1])。抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。抽象的意义在于通过抽象能透过事物的表面现象抓住事物的本质。[2]
2024-06-23 11:56:11
802
1
原创 游戏高度可配置化(一)通用数据引擎(data-e)及其在模块化游戏开发中的应用构想图解
在插件式模块化软件开发当中,既要模块高度独立(解耦)又要共享模块数据,最好的方法是有个中间平台(中间件)提供标准的接口来进行数据的交换,这在很多行业软件开发中已经广泛应用。但是,由于中间件的抽象和封装没有具备通用性的前提,使得在实际应用中受到了很大的制约。本文将以“数据引擎”的概念来阐述通用数据中间件的理论和构成,以及以“通用数据引擎在游戏开发中的应用构想”来作为其的应用范例。本文主要针对服务端开发,但客户端也可以参考。
2024-06-23 11:28:58
1203
原创 一个单生产-多消费模式下无锁方案(ygluu/卢益贵)
本文介绍一个“单生产(低频)-多消费”模式下的无锁哈希类方案,这个方案的性能优于golang的RWMutex,因为它永远不会因为“写”而导致与消费者发生碰撞而导致互斥同步。关键词:生产者-消费者模型、无锁队列、golang、RWMutex。一个单生产-多消费模式下无锁方案。
2024-03-23 19:07:33
548
原创 游戏服务端配置“热更”及“秒启动”终极方案(golang/ygluu/卢益贵)
众所周知,游戏服务端配置信息热更有几大问题(非lua架构):1、因配置对象的指针被场景对象引用而导致热更复杂度提高2、信息量大的配置表热更导致游戏卡顿、玩家闪断3、一般重载后的配置信息仅影响重载后新创建的对应场景对象,不能影响已存在的场景对象4、在高度解耦的模块化开发模式下导致热更复杂度提高本示例代码将使用通用方法来演示在“高度解耦、模块化、模板化”的开发模式下对上述问题的解决方案,并提出游戏服务器秒启动的辅助方案。同时给出了完整示例代码及下载连接(见后)。
2024-03-17 02:10:58
2041
1
原创 【数据中台战略】可配置化数学建模的应用案例图解
无论再深奥的数学理论,数学建模最终产物是:数学公式和流程步骤。这是程序能理解和执行的数学模型。我们在数学建模的生产活动中,数学模型经常需要修改和调参,甚至推到重新建模,面对修改代码繁琐代价,痛点是:如何将数学建模活动独立在代码之外。本文将以前述的机车系统经验为基础并加以提炼,阐述可配置化数学建模。
2022-11-06 19:05:46
708
原创 插件式模块化软件框架的思想图解三(数据交换系统和条件系统)
文本主要介绍独立模块之间用于数据交换的数据交换系统、条件系统和公式系统组成的数据平台的设计思想,以及介绍围绕数据平台的生产-消费模型。
2022-05-15 22:54:00
1580
原创 插件式模块化软件框架的思想图解二(案例篇)
一、前言本人推崇模块化设计,不是基于技术深度,而是基于管理高度(如何在多变的项目需求中提高开发效率、缩短开发周期)。本文将通过一个《火车在途实时信息系统》的火车实时和历史轨迹显示部分的简要阐述来“插件式模块化软件框架思想”的理解和应用(实际项目设计要复杂得多)。本文涉及项目截图均已向社会公众公开,本文仅阐述行业惯例或通用做法部分,不涉及商业秘密和专利核心技术。阅读本文前最好先阅读本人上一篇博文《插件式模块化软件框架的思想图解一(框架篇)》:https://blog.youkuaiyun.com/gues
2021-08-29 20:09:35
1992
原创 C++高效低延时有锁队列测试程序
C++高效低延时有锁队列测试程序, 经过多次优化之后性能达到了最大化:10年华硕老本测试,队列速率1000万+,低延时(Pending数量少)。下载地址:https://download.youkuaiyun.com/download/GuestCode/21098156图1图2优化前通过满队列方式以提升队列通过率(图3),优化之后队列积压明显减少通过率还略有提升(图1):图3...
2021-08-15 21:19:06
499
原创 插件式模块化软件框架的思想图解一(框架篇)
插件化(模块化)软件框架思想的总结图解(码客/卢益贵)关键字:插件化 模块化 软件框架 C++ Golang Rust Delphi一、前述关于模块化的好处在此省略1000字,网络资源很多不再赘述。从本人20多年多个行业众多项目经历来说,无论是一个人、两个人开发,还是多人协同开发,模块化在实际应用中有非常高的实效性。本文讨论的是源代码插件化框架思想,而非二进制Dll之类的插件化。如果没有特别说明,本文提及的插件和模块是同一个实体概念。二、模块化原则1、高度独立要达到高度独立必须实行高
2021-08-15 02:37:02
8100
3
原创 git(gitlab)子模块功能在团队协同开发和生产环境中的应用(git,gitlab,TortoiseGit,CI/CD,Jenkins,docker-compose,分支合并,开发环境,测试环境)
git(gitlab)子模块功能在团队协同开发和生产环境中的应用目录git(gitlab)子模块功能在团队协同开发和生产环境中的应用一、前言二、先决条件三、创建gitlab项目(项目管理员操作)四、关联子模块(项目管理员操作)五、开发环境提交代码(团队开发人员操作)六、生产或测试环境合并代码(项目管理员操作)一、前言gitlab不仅能够提供便捷的CI/CD流程控制的方式,也能为开发团队提供便捷的版本库控制方式。在多人协同开发时,如果一个大型的开发...
2020-08-14 21:49:07
2799
原创 小团队大开发:iogo微服务集群框架(golang/grpc/http/protobuf/etcd/freetoo/5G物联网/服务发现/负载均衡/一致性哈希/码客/卢益贵)
小团队大开发:iogo微服务集群框架KeyWord: iogo,golang,grpc,protobuf,etcd,zookeeper,microservice,distributed lock,service discovery,cluster,load balancing,k8s,docker,redis,mamcache,5G物联网,微服务框架,分布式集群,分布式锁,分布式文件系统,分布式数据库,高速缓存集群,服务发现,负载均衡,容器编排,一致性哈希目录小团队大开发:iogo微..
2020-08-12 17:18:43
1740
原创 一个人写一个集群:基于GRPC的golang微服务框架iogo(grpc/protobuf/etcd/freetoo/码客 卢益贵)
一个人写一个集群:基于GRPC的golang微服务框架iogokeyword:iogo,golang,grpc,protobuf,etcd,zookeeper,microservice,distributed lock,service discovery,cluster,load balancing,微服务,分布式锁,服务发现,负载均衡1 iogo的初衷iogo微服务框架是对高效的远程...
2019-01-26 22:33:59
1292
原创 一键部署高可用etcd集群(TLS,ubuntu)(freetoo、码客、卢益贵)
一键部署高可用etcd集群(TLS,ubuntu)(freetoo、码客、卢益贵) 这是一个便捷高效的部署高可用etcd集群(TLS)的脚本工具。下载链接:https://download.youkuaiyun.com/download/guestcode/10798474一、【功能说明】 1、自动安装cfssl 2、一键生成ssl秘钥 3、一键安装到目标主机 二、【使用方...
2018-11-21 15:09:35
707
原创 项目管理级别的自动万能通用makefile模板:t-makefile (freetoo)
项目管理级别的自动万能通用makefile模板:t-makefile (freetoo) t-makefile源码及示例项目下载链接(会不定期更新):https://github.com/freetoo/t-makefile 一、t-makefile解决的痛点和难点往往在一个项目工程中,目录名改变了、子目录变更位置了都需要去修改makefile,目录繁多的时候修改ma...
2018-07-27 00:25:36
1567
原创 t-makefile:自动万能通用makefile模板(freetoo 码客 卢益贵)
t-makefile:自动万能通用makefile模板(freetoo 码客 卢益贵) 关键字: make makefile shell find grep wildcard notdir patsubst findstring wordlist suffix foreach gcc g++ c++11 嵌入脚本 静态链接库 动态链接库 静态动态混合编译链接 语法 内嵌函数 函数嵌套执行 ...
2018-07-22 11:02:24
700
原创 自动万能makefile(linux ubuntu gcc/g++),让makefile的编写不在烦人
自动万能makefile(linux ubuntu gcc/g++),让makefile的编写不在烦人keyword: wildcard notdir patsubst findstring wordlist suffix foreach 功能: 1、自动以makefile的父目录名为Target文件名称 2、自动搜索源码文件(含子目录) 3、自动搜索头...
2018-05-31 21:40:27
1703
转载 共享windows文件夹给VMware的ubuntu server虚拟机
共享windows文件夹给VMware的ubuntu server虚拟机 把宿主机的文件夹共享给VMware的ubuntu server虚拟机,需要安装VMware tools工具包。1、在VMWare设置共享文件夹:a、先关闭虚拟机b、在VMware虚拟机窗口,选择菜单虚拟机->设置->选项->共享文件夹c、在共享文件页面选择“添加”增加共享文件夹d、并勾选...
2018-05-11 08:01:46
1645
原创 Ubuntu 14.04 + xRDP + Xfce 实现Windows远程桌面连接
Ubuntu 14.04 + xRDP + Xfce 实现Windows远程桌面连接1. 安装xRDP及vncserversudo apt-get install xrdpsudo apt-get install vnc4server tightvncserver 2. 安装Xfce桌面环境sudo apt-get install xubuntu-desk
2017-02-12 02:59:15
3704
原创 一个极其简单的用golang net写的tcpip echoserver
一个极其简单的用golang net写的tcpip echoserver 关键字:linux golang tcpip echoserver 虽然然效率不是很理想,但是可以给初学者参考package mainimport ( "fmt" "net" "os" "runtime")func doEcho(c net.Conn) { defer
2015-12-06 13:17:16
2588
原创 linux安装nginx并设置https(openssl)
一、安装依赖包1.$sudo apt-get install openssl 或者$sudo apt-get install libssl-dev2.$sudo apt-get install libpcre3 libpcre3-dev二、安装nginx1.$cd /usr/local/src2.sudo wget http://nginx.org/download
2015-12-06 13:08:08
22059
原创 IOKING真正无锁服务器引擎之消息引擎模块Demo(no-lock)
关键词:no-lock interlocked lock-free tcp/ip socket server engine epoll iocp server out-of-orderexecution无锁 原子锁 原子操作 原子指令 锁无关 开放锁 通讯服务器 引擎 高并发 大数据 搜索引擎 完成端口服务器 cpu乱序并行执行 内存栅栏IOKING 真正无锁服务器引擎之消
2015-08-27 23:06:47
3795
原创 linux(centos/ubuntu)使用subversion
1、安装:sudo apt-get install subversion subversion2、从远程检出到本地,如果不指定DestPath,默认到当前路径svn co svn co svn://192.168.1.168/wuliu/code DestPath3、上传到远程,CD到要上传的目录下:将新建的文件或文件夹加入到版本控制svn add × 提交所有
2015-04-26 18:09:42
1382
原创 linux(centos/ubuntu)下支持exFat格式
1、sudo add-apt-repository ppa:relan/exfat2、sudo apt-get update3、sudo apt-get install exfat-utils
2015-04-24 21:23:40
3117
原创 linux下安装sublime_text (linux(centos ubuntu) install sublime_text)
1、下载并安装 Sublime Text 3,下载地址:http://www.sublimetext.com/32、给 Sublime Text 3 安装 Package Control:打开 Sublime Text 3,按下 Ctrl + `(反引号,Tab 键上面),输入如下内容并回车:import urllib.request,os; pf = ‘Packa
2015-04-24 21:20:23
3939
原创 linux下安装mongodb (linux(centos ubuntu) install mongo)
1、打开并编辑文件:sudo gedit /etc/apt/sources.list 2、 在最后一行加入: deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen 保存退出 3、加入GPG Key(终端命令): sudo apt-key adv --keyserver k
2015-04-24 21:12:18
1550
原创 linux下安装redis(linux(centos/ubuntu) install redis)
一、检查是否安装gcc和tcl,没有的要安装: yum install gcc-c++ yum install -y tcl 二、下载redis: wget http://download.redis.io/redis-stable.tar.gz 三、解压redis: tar xvzf redis-stable.tar.gz 四、编译redis:
2015-04-24 21:07:18
2108
原创 linux下安装beego(linux(centos/ubuntu) install beego)
1、下载安装:$ go get github.com/astaxie/beego $ go get github.com/beego/bee 2、将 $GOPATH/bin 加入到你的 $PATH 变量中。3、检测安装:$ cd $GOPATH/src $ bee new hello $ cd hello $ bee run hello
2015-04-24 17:52:38
8468
原创 linux下安装gocode(linux(centos/ubuntu) install gocode)
1、安装gitsudo apt-get install git2、下载gocodego get github.com/nsf/gocode3、安装gocodego install github.com/nsf/gocode
2015-04-24 17:42:55
4608
原创 linux下安装golang(linux(centos/ubuntu) install golang)
1、安装在devtoolsmkdir $HOME/devtoolstar -xzf go1.4.2.linux-amd64.tar.gz -C $HOME/devtools2、增加环境变量:sudo gedit /etc/profile在打开的文件后面加export GOARCH=amd64export GOOS=linuxexport GOROOT
2015-04-24 17:37:46
4506
原创 'IOKING' TCP Transmission Server Engine ('云猴'©TCP通讯服务器引擎)(预告版)
关键词:IOKING IOCP TCP Transmission Server Engine Lock Free Interlocked云猴完成端口TCP通讯服务器引擎 无锁 原子锁(函数)'IOKING' TCP Transmission Server Engine ('云猴'©TCP通讯服务器引擎)(预告版)下载连接:http://download.csd
2014-06-10 02:06:14
3972
原创 游戏中防止加速的一种方法
关键字:游戏 服务器 客户端 防外挂加速游戏当中有些动作要求必须间隔一定时间才能执行,比如跑步等动作。如果仅在客户端限制的话往往都被加速器(外挂)所破坏。本文假定客户端必须间隔400毫秒的数据包传输,提出服务器端解决加速问题的一种方法。一、客户端发送若干数据包t1=tc;Send(…);t2=tc;Send(…);…t6=tc;Send(
2014-02-09 12:40:13
9408
原创 服务器端沾包处理的copy效率问题
本文说的基于数据包(有头尾标示并且独立被处理的数据区)的高效通信要求下,阅读需要有一定的沾包处理经验。沾包是tcp流传输的一个特点,形成沾包的主要原因是,数据包小于接收缓冲时,对方不断发生数据包,接受方连续接收数据放入接收缓冲导致的。要想不产生沾包现像,可以采用一发一答方式,就是我发送一个数据包过去之后,对方应答了再发送下一个数据包;还有就是规定数据包头2个字节(假定)代表数据包长度,每次先接
2014-01-16 02:47:58
4817
原创 G-Sockets2.5 发布说明
关键字:Iocp Tcp Server 完成端口服务器 压力测试工具 回射服务器 内存加载DLL下载链接:http://blog.youkuaiyun.com/guestcode/article/details/7538636更新说明:1、修补发送GBuf可能导致乱序的Bug,2、Delphi版增加内存加载DLL的功能,3、增加授权证书功能,未经授权的不保证其能
2014-01-13 05:18:29
3694
原创 自扩充的无锁(Lock-Free)并发环形队列算法
注:这是好早就发资源上的了,现在看起来似乎有更好的方法,先发帖吧,有兴趣的可讨论再做修改。文档下载:http://download.youkuaiyun.com/download/guestcode/3022300自扩充的Lock-Free并发环形队列算法卢益贵 中国广西南宁市QQ:48092788 E-Mail: gcode@qq.com Blog:http:/
2013-09-23 01:44:48
5153
原创 沉默3年了,该写点什么呢——什么是网络通讯?
确确的说,应该是“什么是tcp通讯”。我不说严谨的学术定义,其实我那学历水平也说不出来,嘿嘿。网络通讯嘛,其实两个socket连接就OK了,是吗?!过去这么多年,处理解决了很多tcp通讯的问题,是应该写点东西了,要不然这个博客就沉陷下去了。先看看这小段代码:......Send(s, buf1, len1, 0);Send(s, buf2, len2, 0);C
2013-09-23 01:32:44
3820
3
git_tortoissegit.rar
2020-08-14
golang_iogo_install.rar
2020-08-12
自扩充的Lock-Free并发环形队列算法
2011-02-15
强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)(再次补丁版)
2010-07-23
强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)(补丁版)
2010-07-23
强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)
2010-07-23
强大的TcpServer压力测试工具源码(附突破连接限制的方法和工具)
2010-07-23
代码客:G-Socket(IOCP) 1.0 (Server/Client)例程源码+Server体验程序+强大的压力测试工具
2010-05-26
代码客:G-TcpServer(IOCP) 1.0 正式版及Demo源码
2010-04-29
代码客:Iocp Tcp Server(G-TcpServer) 1.0 Demo源码
2010-04-20
功能强大的IOCP Socket Servre模块例程源码
2009-09-20
内存管理(AWE)——例程源码完成端口通讯服务器(IOCP Socket Server)设计(二)
2009-08-27
功能强大的串口工具:GhostyComm 4.0(万能通讯精灵)
2009-08-05
Windows mobile 透明/半透明控件组(皮肤控件)
2009-08-05
高性能的socket通讯服务器(完成端口模型--IOCP)
2009-08-04
Windows mobile 透明/半透明控件组(皮肤控件)
2009-08-04
通用 vscode linux c++ 项目CMakeLists和bulid模板(含AI提示词)
2025-04-19
游戏服务端配置“热更”及“秒启动”终极方案(golang/ygluu/卢益贵)
2024-03-17
游戏服务端配置“热更”终极方案(golang/ygluu/卢益贵)
2024-03-17
Data Engine(数据引擎)用于独立模块间数据共享(Data Engine, For data sharing betwe
2023-09-17
amc(Asynchronous Microservice Cluster)异步微服务集群库
2023-09-17
一键安装高可用etcd集群(TLS)
2018-11-21
自动万能makefile(linux ubuntu gcc/g++)
2018-05-31
ioking真正无锁的服务器引擎之消息引擎模块(nolock)修订版
2015-08-31
ioking真正无锁的服务器引擎之消息引擎模块(nolock)
2015-08-27
ioking无锁线程通讯(no-lockl)demo
2015-04-09
G-Sockets 2.5
2014-01-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人