游戏开发资源与工具整理

游戏开发过程中资源管理是个重要环节,这里整理一些常用的资源和工具。

开发资源下载

MSDN我告诉你

网址: https://msdn.itellyou.cn

这是一个非常全面的操作系统和开发工具资源下载网站,包含以下内容:

资源类型 包含内容
操作系统 Windows全系列、Windows Server
开发工具 Visual Studio、SQL Server
应用程序 Office全系列
设计工具 Adobe系列

特点:

  • 资源来自官方原版镜像
  • 提供SHA1校验值
  • 下载速度快且稳定
  • 无需注册即可下载

ADT下载

网址: http://tools.android-studio.org/

Android开发工具包(ADT)下载站点,提供Android Studio和相关工具的历史版本下载。

游戏素材处理

纹理压缩与ETC格式

在移动游戏开发中,纹理压缩是优化内存和加载速度的重要手段。ETC是OpenGL ES 2.0标准支持的纹理压缩格式。

PKM格式转PNG

使用Mali Texture Compression Tool:

  1. 下载安装

  2. 命令行转换

1
2
3
4
5
# 进入安装目录
cd "C:\Program Files\ARM\Mali Developer Tools\Mali Texture Compression Tool v4.3.0\bin"

# 执行转换命令
etcpack.exe input.pkm output_dir -ext PNG

示例输出:

1
[malitc-1] Decompressing. Output file: .\1001_role.png

常用纹理压缩格式对比

格式 压缩比 质量 支持平台 透明度
ETC1 6:1 中等 所有Android 不支持
ETC2 6:1 较好 OpenGL ES 3.0+ 支持
PVRTC 6:1 较好 PowerVR GPU 支持
ASTC 可变 最好 现代GPU 支持

Plist文件格式详解

Plist文件是Cocos2d-x等引擎常用的资源配置文件,用于描述纹理图集的布局信息。

Plist字段说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>frames</key>
<dict>
<key>sprite1.png</key>
<dict>
<key>frame</key>
<string>{{2,2},{100,100}}</string>
<key>offset</key>
<string>{0,0}</string>
<key>rotated</key>
<false/>
<key>sourceColorRect</key>
<string>{{0,0},{100,100}}</string>
<key>sourceSize</key>
<string>{100,100}</string>
</dict>
</dict>
</dict>
</plist>

字段含义详解

字段名 类型 说明
frame Rect 小图在大图中的位置和尺寸 (x, y, width, height)
rotated Boolean 是否旋转90度,true表示顺时针旋转90度
sourceSize Size 小图原本的大小,即Sprite的原始尺寸
sourceColorRect Rect 去掉透明部分后的小图位置和尺寸
offset Point 新图中心相对于原图中心的偏移量

Offset计算示例

1
2
3
4
5
6
7
8
9
10
11
12
已知条件:
- sourceSize = (112, 63)
- sourceColorRect = {(4,4), (106,59)}

计算过程:
1. sourceSize中心点 = (112/2, 63/2) = (56, 31.5)
2. sourceColorRect中心点 = (4,4) + (106/2, 59/2) = (57, 33.5)
3. 偏移量offset = (57-56, 31.5-33.5) = (1, -2)

结论:
- x方向向右偏移1像素(正方向)
- y方向向下偏移2像素(负方向,Cocos2d-x坐标系y轴向上为正)

MovieClip动画数据格式

标准数据格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
"mc": {
"animationName": {
"frameRate": 24,
"labels": [
{
"name": "start",
"frame": 1,
"end": 10
}
],
"events": [
{
"name": "@onStart",
"frame": 1
}
],
"frames": [
{
"res": "frame_001",
"x": 100,
"y": 100
}
]
}
},
"res": {
"frame_001": {
"x": 0,
"y": 0,
"w": 64,
"h": 64
}
}
}

字段说明

mc对象字段:

字段名 类型 必填 说明
frameRate int 动画帧率,默认24fps
labels array 帧标签列表
events array 帧事件列表
frames array 关键帧数据列表

labels对象字段:

字段名 类型 说明
name string 标签名称
frame int 标签起始帧
end int 标签结束帧

frames对象字段:

字段名 类型 必填 说明
res string 该帧显示的图片资源名
x float 图片显示x坐标,默认0
y float 图片显示y坐标,默认0

res对象字段:

字段名 类型 说明
x int 资源在纹理集中的x坐标
y int 资源在纹理集中的y坐标
w int 资源宽度
h int 资源高度

游戏开发工具推荐

2D动画工具

工具名 特点 适用平台
Spine 专业2D骨骼动画 全平台
DragonBones 免费开源 全平台
Live2D 二次元风格 全平台
Creature 程序化动画 全平台

纹理打包工具

工具名 特点 输出格式
TexturePacker 功能强大 plist, json
Zwoptex 简单易用 plist
ShoeBox 免费 json
Free Texture Packer 开源免费 json

版本控制工具

工具 特点 适用场景
Git 分布式,功能强大 代码管理
SVN 集中式,简单易用 美术资源
Perforce 大文件支持好 大型项目

游戏设计理论

Roguelike游戏设计思路

Roguelike游戏的核心设计要点:

1
2
3
4
5
6
7
8
9
10
11
核心要素:
├── 随机性
│ ├── 地图生成
│ ├── 道具掉落
│ └── 敌人配置
├── 永久死亡
│ └── 增加游戏紧张感
├── 回合制/即时战斗
│ └── 根据游戏类型选择
└── 资源管理
└── 血量、道具、金币等

中小团队开发建议:

  1. 关卡设计简化

    • 重点设计通路宽窄而非复杂结构
    • 注重垂直维度设计(动作游戏)
    • 关注通路衔接流畅度
  2. 内容设计重点

    • 怪物种类搭配
    • 出怪点位置规划
    • 关卡风格统一
    • 世界观一致性
  3. 降低开发成本

    • 使用程序化生成减少手工关卡制作
    • 复用美术资源
    • 模块化设计便于扩展

SDK集成指南

一键登录SDK

代表产品:

  • 极验OneLogin
  • 移动认证(中国移动)
  • 联通认证
  • 电信认证

工作原理:

1
用户设备 → 运营商网关 → 获取手机号 → 一键登录

接入限制:

条件 要求
网络要求 必须开启手机数据流量
WiFi环境 支持(只要有数据流量)
关闭数据 不支持

适用场景:

  • 用户注册简化
  • 快速登录
  • 手机号验证替代短信验证码

推送SDK

友盟推送常见问题:

问题: device-token全部失败

原因: 推送证书P12文件选择错误

正确选择:

  • 必须使用”Apple Push Notification service SSL (Sandbox & Production)”证书
  • 不是开发证书
  • 不是发布证书

数值单位对照表

计算机存储单位

1
2
3
4
5
6
1 KB = 1024 B      // 千字节 (kilo)
1 MB = 1024 KB // 兆字节 (mega)
1 GB = 1024 MB // 吉字节 (giga)
1 TB = 1024 GB // 太字节 (tera)
1 PB = 1024 TB // 拍字节 (peta)
1 EB = 1024 PB // 艾字节 (exa)

常用单位换算

单位 字节数 近似值
1 KB 1,024 B 10^3
1 MB 1,048,576 B 10^6
1 GB 1,073,741,824 B 10^9
1 TB 1,099,511,627,776 B 10^12

总结一下

整理了游戏开发中的资源管理和工具使用:

主题 关键内容 推荐工具
资源下载 MSDN我告诉你 官方镜像
纹理压缩 ETC/PKM格式转换 Mali Texture Compression Tool
资源配置 Plist文件格式 TexturePacker
动画数据 MovieClip格式 Spine, DragonBones
SDK集成 一键登录、推送 极验、友盟

掌握这些工具和技术规范,能提高游戏开发效率。

参考:

  1. MSDN我告诉你:https://msdn.itellyou.cn
  2. Mali开发者工具:https://developer.arm.com/tools-and-software/graphics-and-gaming/mali-texture-compression-tool
  3. Cocos2d-x文档:https://docs.cocos2d-x.org/
  4. 极验文档:https://docs.geetest.com/