记一次半吊子逆向工程的…不那么艰难的过程。
「逆向学习笔记 - Cocos2d Lua逆向提取资源 」难弟篇
前言
最近刷到一款某道换皮手游,玩法和美术风格都是我喜欢的类型。于是想着做点逆向学习,顺便捞一手美术资源。
动手
一个某道换皮手游,解压安装包:
1 | ├── AndroidManifest.xml |
记一次半吊子逆向工程的…不那么艰难的过程。
「逆向学习笔记 - Cocos2d Lua逆向提取资源 」难弟篇
最近刷到一款某道换皮手游,玩法和美术风格都是我喜欢的类型。于是想着做点逆向学习,顺便捞一手美术资源。
一个某道换皮手游,解压安装包:
1 | ├── AndroidManifest.xml |
有向无环图(Directed Acyclic Graph,简称 DAG)是一种图结构,由若干顶点和带方向的边组成。与普通有向图不同的是,DAG 中不存在环路——也就是说,不可能从某个顶点出发,沿着边的方向走一圈,最终又回到原点。
项目QueryBuilder模块初始指标依赖层级相对固定,但版本多次迭代后,指标之间逐渐形成了复杂的依赖路径。原有的逻辑已无法支持,所以引入有向无环图(DAG),用于对指标依赖关系进行建模和解析。
DAG 中的每个节点只关心两类关系:我依赖的 和 依赖我的。
1 | type Node struct { |
两次随机选择法(Power of Two Choices,简称 P2C)是一种高效的负载均衡算法。
实现连接池负载均衡
连接池
1 | type ConnPool struct { |
服务器在保存玩家数据时的频次和触发机制怎么设计
定时保存可以通过设置定时器来实现,但也有两种方式:服务器定时、玩家定时。
玩家下线后立即保存数据,保证玩家的数据被完整存档。
记一次 Cocos Creator3.x 的 Protobuf 使用
1 | $ npm i long |
1 | { |
因为客户端直连服务器会出现很多潜在的风险,比如暴露服务器 IP 地址导致被攻击等问题,所以增加一个网关服务器。
网关服务器是介于客户端与游戏服务器之间的服务,包含以下功能:
维护游戏客户端的连接。
负责将客户端的请求分配到空闲的游戏服务器。
检查协议格式,如有多协议服务器也可以做协议格式转换。
拦截非法请求,隐藏游戏服务器 IP 地址(避免 DDOS 攻击)。
想给小游戏做个时装功能,在游戏中一般来说换装分为两种:
整体时装
局部换装
2D 游戏中一般用到的骨骼动画 Spine 和 DragonBone(龙骨)。这里主要学习一下 Spine 换装的相关实现
tag:
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent:
meta: false
pages: false
posts:
title: true
date: true
path: true
text: false
raw: false
content: false
slug: false
updated: false
comments: false
link: false
permalink: false
excerpt: false
categories: false
tags: true