自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

蓝萧的专栏

把力所能及的事情做到最好

  • 博客(18)
  • 资源 (3)
  • 收藏
  • 关注

原创 基于skynet设计游戏服务端框架

skynet并不是一个开箱即用的服务端框架,游戏后端在开展业务时,需要根据自身业务特点,合理设计相应的服务端框架。在这里我根据自身的设计目标,写下各方面的选择与取舍。设计目标设计一个高性能低成本的游戏服务端框架。数据满足最终一致性,牺牲一定的可用性与数据一致性,换取高性能。高性能我将其排在考虑的首位,因为我认为流畅的游戏体验至关重要,而且低性能的服务器框架,成本肯定高。高性能是低成本的必要条件。强一致性与高性能是矛盾的,所以我只需达到最终一致性的目标,这里的最终一致性,也可以进行部分牺牲,牺牲在服务

2022-03-17 16:48:44 10830

原创 游戏任务系统设计

任务系统概述现在的手游中,几乎每一个游戏都有任务,比如玩家升到多少级,杀掉多少个怪,抽多少次卡等等,完成任务就给奖励。游戏中为什么会存在任务这种东西?个人认为,任务给了玩家一个清晰的目标,可以非常方便的引导玩家进行游戏流程。像《塞尔达传说-荒野之息》以建筑,怪物聚集地等隐晦的方式引导玩家使得游戏设计难度增加,所以在目前国内游戏设计水平普遍不高的情况下,任务,在现在的游戏系统中几乎必不可少,是引导...

2021-01-08 18:45:24 7990 2

原创 抽卡系统-欧皇还是非酋?

目录前言随机机制限量抽取分库抽取保底机制前言万恶的抽卡系统到底怎么回事?为啥我什么都抽不到?抽到都是蓝天白云,什么时候是闪光最佳抽卡时机,SSR,SP为何与我无缘?一位从业多年,头发渐无的老者来解析其中缘由。随机机制所有的抽卡逻辑都是写在服务端,服务端一般会有全服统一的一个随机数生成器,我们这里的随机数生成器本身就是伪随机。开服时,一般以时间作为随机种子。策划会对所有可以抽出来的道具设置权...

2020-04-08 22:11:45 3650 2

原创 lua依赖关系图谱

在游戏的业务逻辑比较复杂时,很容易发生依赖关系抽象错误的情况,最严重的就是发生循环引用。error loading module 'logic.mission.handle' from file './src/logic/mission/handle.lua': ./src/logic/mission/handle.lua:682: too many C levels (limit is 200) in function at line 670 near 'target'在项目中如何及

2022-04-06 15:12:42 1334

原创 Java C# Lua Redis中Hash实现及其对比

哈希表,是所有高级语言都有的一种数据结构,只是叫法可能不同,有些叫做字典(dict),有些叫哈希(hash),有些叫图(map),其实说的都是同一种东西。阅读源代码可以深入细节,让我们来看看Java C# Lua Redis这些编程语言或者应用对于哈希表的实现有哪些异同点。先来看一张总结的表格:实现版本数据结构/类哈希冲突解决方式装载因子rehash扩容Java8Hashtable拉链法0.75阻塞,分配两倍内存Java8Hashmap拉链法0.75阻

2022-03-22 18:46:00 2147

原创 为啥要造轮子?redis消息队列

为啥造轮子?redis消息队列

2022-02-16 19:17:38 1118

原创 断线重连机制

游戏在运行过程中,由于网络原因导致和服务器的长连接断开,需要使用重连机制来确保游戏稳定运行。重连是指和服务器重新建立连接,并且无需重新登录。在手机上,断线重连机制显得额外重要,我们在接打电话,切换应用,锁定屏幕,进入电梯等日常行为中都会导致游戏产生网络问题。那么断线重连如何实现呢?多问问题在哪些情况下需要重连?哪些情况需要重新登录?重连流程是什么样的?如何重新验证客户端身份?断线前,客户端未收到的消息,如何处理?重连成功后,是否停留在当前界面?如果停留,是否会造成卡死?给出自己的见解

2022-02-06 17:17:02 3823

原创 游戏后端自增id选型

多问几个为什么!什么是自增id?为什么游戏后端需要自增id?使用唯一id不行吗?自增id有哪些方案?我选择什么方案?为什么这么选择?给出自己的见解自增id是指 一个接口返回的值是一个正整数,且该接口多次调用后不断增加(可能每次不是加1)且不重复。游戏业务中包含角色等 初始配置相同,可重复获得,不可堆叠的的元素,需要使用唯一id加以区分。自增id有唯一id的特性,并且对数据库插入操作更加友好。自增id有多种方案方案性能优点缺点使用关系数据库主键自增低实现方

2022-02-05 17:23:31 2581

原创 排行榜功能

游戏中的排行榜功能太常见了。各种战力排行榜,积分排行榜,连抢红包都有排行榜。时间复杂度分析后端程序实现的时候,第一个想到的肯定是排序算法,把要进行排行的数据收集起来,使用排序算法排好序,第一个元素排名为1,依次类推。我们知道,排序算法,使用快排的平均时间复杂度为O(nlogn), 获取玩家的排名,需要遍历计算排名,时间复杂度为O(n)。 那么更新玩家积分并获取玩家最新排名,这个操作的时间复杂度为 O(nlogn) + O(n), 对于少量玩家排行榜系统来说,是可以接受的。但是对于100万,甚至1000万

2022-02-05 15:18:24 4716

原创 商店系统 -- 卖的是啥?

游戏商城的核心

2022-02-04 16:22:21 370

原创 深入游戏任务系统细节

之前的任务系统篇,感觉还缺了点什么,是的,亿点点细节,策划们花样繁多的任务条件设计,后端程序在实现的时候,真的是有非常多要注意的地方,一不小心就是一个BUG。先来上需求成就任务任务条件model强化1件稀有装备到20级强化2件稀有装备到20级强化5件稀有装备到20级强化10件稀有装备到20级收集10种不同的家具收集20种不同的家具收集30种不同的家具满星通关副本10次满星通关副本20次满星通关副本30次

2022-02-02 20:40:43 1199

原创 聊天系统设计

游戏社交对于大部分网络游戏,社交是一个非常重要的功能,社交建立了玩家与玩家间的纽带,可以在游戏内部进行“友好”交流。玩家社交的基础设施,表现在游戏开发,就是聊天系统。聊天系统包括文字和语音两大分类文字包括 普通文字,表情,链接语音包括 离线语音 实时语音聊天按类别分,可以分为 世界聊天,组队聊天,工会聊天,个人聊天。有时候,战斗系统的消息,NPC的消息也会归并到聊天系统中来。所有聊天都采用订阅发布机制实现,对应观察者设计模式。玩家订阅相应的聊天频道,相应的频道消息会广播给所有订阅玩家。个人聊

2021-11-20 14:46:26 4264

原创 游戏邮箱系统设计

游戏中的邮箱系统简介功能需求糟糕的设计方案功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入简介在玩游戏的过程中,邮箱绝对是玩家喜欢的东西,邮箱代表着有新的更新说明,或者官方发放的奖励。特别是一键领取,看着亮晶晶的奖励不停弹出,那

2021-03-05 15:11:27 11757

原创 sudo的全称

用sudo习惯了,突然想知道这个命令的全称。查找了一下,是 substitute user do, 翻译过来是替代用户做XXX事情。那是谁替代谁呢?当然是超级用户root替代当前用户。

2020-08-21 15:48:11 1570 2

原创 Lua Bus error错误

记一次由于lua循环引用导致的Bus error错误。在lua中有package.path和package.cpath, 一般情况下package.path寻找lua文件,package.cpath寻找so文件。如果有文件 ww.lua, 和 ww.so,并且ww.lua还使用 require "ww",那么会出现Bus error错误。...

2020-06-11 11:50:31 301

原创 mysql使用docker配置GTID主从复制

索引前言安装docker设置国内镜像源拉取镜像创建docker-compose.yml启动主从数据库配置主数据库配置从数据库实验是否成功前言为了方便游戏服务器扩展,我需要了解mysql主从复制,并在本地部署实验。为啥我选择使用docker安装?因为我被mysql本地配置主从配置搞疯了。历经2个小时,处理各种因为启动用户,文件权限,文件缺失的问题,我放弃了。安装dockerdocker安装可以去官网寻找安装文件 ,这个是mac版本的链接。因为墙的存在,可能会经历痛苦的下载过程。这时候可以选择阿里云的

2020-05-12 17:16:27 338

原创 诺亚幻想抽卡——玩家控制概率的抽卡系统

玩家控制概率?和传统的抽卡方式消耗单一资源(钻石,金币,十连抽礼券)不同,《诺亚幻想》的抽卡,是需要消耗多种资源,每一种资源玩家都可以配置相应的数值,相当于在真正的抽卡逻辑之前,进行了策划的配置权重的工作,相应的,配置好数值之后,对于所有英雄抽卡获得的概率都会改变。这种抽卡被玩家称之为诺亚幻想大建,每个英雄对应的最佳的各种资源的数值被称之为大建公式,从最终的抽卡体验来看,很多玩家都觉得这是谜一样...

2020-04-15 18:04:31 644

原创 游戏服务器开发心得记录

作为游戏服务器开发已经多年,希望在这里记录和总结一下自身开发经历。服务器开发需要具备的基础知识比较多,每个公司由于框架不一样,开发语言不一样,在处理特定问题时,方法也不统一。在这里做一个以lua语言为主的各游戏系统开发记录,和同行们相互交流。- 大致列一下目录,坚持写完~奥利给1. 抽卡系统2. 任务系统3. 邮箱系统4. 聊天系统5. 匹配系统6. 商店系统7. ...

2020-04-07 14:17:36 351

牛津-朗文-剑桥-柯林斯-mac字典dictionary格式.zip

四合一版本 dictionary格式,已经转换好,可以直接使用。打开词典->文件->词典文件夹->解压后复制dictionary文件

2020-05-13

Playmaker1.7.8.3

The powerful visual scripting solution used in Hearthstone and Dreamfall Chapters. Check out our Studio Showcase for more! Quickly make gameplay prototypes, A.I. behaviors, animation graphs, interactive objects, cut-scenes, walkthroughs... Artists and Designers: Realize your creative vision without coding! Unlock the power of Unity. Programmers: Add a powerful visual state machine editor to your toolbox. Interface with scripts or extend Playmaker with Custom Actions. :: NEW Public beta of 1.8.0 Update! :: NEW Unity 5 and WebGL Compatibility. :: Build behaviors in an intuitive Graph View. :: Drag-and-Drop Actions - no syntax errors! :: Save time with Copy/Paste and Templates. :: Access scripts and third party plugins. :: Enjoy powerful runtime debugging: :: Watch States, Variables, and Events. :: Pause and Rewind time with Debug Flow. :: Download Action Packs for popular plugins: :: NGUI, 2DToolkit, Photon, iTween... :: Extend Playmaker with Custom Actions. :: Watch tutorials on our YouTube Channel. :: Join an active online community.

2016-02-25

World Composer

WorldComposer is a tool to extract heightmap data and satellite images from the real world. It can run as a standalone or as an extension for TerrainComposer. Its powerful features let you create high resolution AAA quality real world terrain with a few clicks. Demo | Forum Tutorial video's: * Getting started. * Huge multi-resolution terrains (like in the showcase videos). * Shadow removal. Features: - Works with Unity Pro and Free, also on Mac. - Supports Unity 3.5.x, 4.x and 5 beta. - Elevation Heightmaps resolution of max 10 meter per pixel. - Satellite images resolution of max 0.25 meter per pixel. Jpg/png/raw format supported. - Content aware fill to remove shadows, snow, etc. from combined raw images. - Create huge multi-resolution terrains with different layers of detail. - Combine raw images to 1 big raw image. E.g. for editing in Photoshop. - Split combined raw file into tiled images. - Create terrains directly from exported areas with a click of a button. - 3 different satellite images types, Aerial, Aerial with labels and roads. - Global coverage. - Convert ArcInfo ASCII heightmaps to 16 bit raw grey scale heightmaps. - Create unlimited regions and areas and export any heightmap size or amount of image tiles. - Export multiple areas. - Scroll interface like Google maps. - Exporting is Multi-Thread. - Automatic version update inside WorldComposer. - Works with TerrainComposer (as an extension). - Works with RTPv3 (Optional).

2016-02-25

空空如也

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

TA关注的人

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