从 0 开始学游戏开发
蔡能
原网易游戏引擎架构师,资深游戏底层技术专家
37243 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 42 讲
从 0 开始学游戏开发
15
15
1.0x
00:00/00:00
登录|注册

第14讲 | 如何制作游戏资源包和保存机制?

装备内容
分数
人物ID
坐标
地图ID
异曲同工于地图编辑器中保存地图的原理
Python内置zip模块
使用现成的压缩软件库
结束符
素材本体
文件长度
文件偏移量
资源包目录/素材文件名
是否压缩
资源包版本
资源包头
厘清游戏素材和存放结构
《GTA》中汽车损毁复原的原因
导出成脚本文件
记录内容
原理
制作方法
格式内容
目的
思考题
游戏的保存机制
资源包的制作

该思维导图由 AI 生成,仅供参考

我们要做一款打飞机游戏,里面有飞机图片、背景图片、飞机音效、碰撞音效等等非常多的素材。如果将这些资源都放置在一个目录下,将会变得非常混乱。如果按照素材内容来划分目录,程序读取的效率就不高,所以我们需要将这些素材打包在一个资源包内,然后将每个素材都放置在一个虚拟目录内。
因此,今天我们就来如何制作讲解资源包。简单来说,所谓的资源包,就是将游戏的所有资源和素材,进行打包分类,并且进行资源整合,亦或将资源和素材进行压缩,减少游戏体积。

什么是资源包?

我总结了一下,可以从这三个角度来理解什么是资源包。
资源包是一种将游戏的资源和素材进行分类、梳理,并且打包的一种包裹。
资源包可以用来压缩游戏资源和素材,减少游戏体积。
资源包里存在任何可能性,比如它可以包含图片文件、模型文件、音频文件、脚本文件等等,具体要看游戏开发人员的配置需求,来决定资源包里的内容。
现在很多游戏公司都不会编写特殊的资源包格式。因为设计一种资源包格式,需要经过一系列复杂的动作,包括包头、包身和包尾。
关于这个格式的设计,一会儿我会给你仔细分析。因为,和我们自定义网络协议包一样,一个好的资源包,能够很方便进行解包、打包、删除文件、插入文件的操作,以及游戏的在线更新、补丁更新、资源包的解包、打包、删除、插入、更新文件等操作。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入介绍了游戏资源包的制作和游戏保存机制,为游戏开发人员提供了重要参考价值。首先,文章详细解释了资源包的概念和格式,包括虚拟目录结构、素材文件名和偏移量等内容,强调资源包的整洁性和对游戏运行效率的提升。其次,作者强调了游戏保存机制的重要性,类比地图编辑器中保存地图的原理,强调了记录关键信息的必要性。最后,提到了将游戏保存文件导出成脚本文件的做法,以便程序读取数据。总的来说,本文内容涵盖了游戏资源包的制作和游戏保存机制的要点,对游戏开发人员具有一定的参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《从 0 开始学游戏开发》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(4)

  • 最新
  • 精选
  • Geek_King@技术爱好者
    老师,想请教一下那些一帧帧精灵图是怎么做出来的,用软件生成的吗,还是要一帧一帧的画

    作者回复: 用软件一帧一帧画

    2018-07-06
  • 爱晴天
    汽车损坏的数据可能只存在内存中,并没有持久化,所以重新加载后就恢复了初始化的样子。
    2018-07-03
    8
  • 三硝基甲苯
    因为游戏储存的时候只是把有什么道具存放进去而已。并没有把道具的状态存放进去。可能是考虑到游戏储存文件的大小和读取处理简易才这样的吧。
    2018-07-08
    3
  • Night's Watch
    仔细看了一遍,知道了
    2018-09-17
收起评论
显示
设置
留言
4
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部