游戏文件系统(a11s)

主题:用于解决大量的零散的文件的分布,管理,版本控制以及升级的一套组件

为什么要把文件打包?

不可否认,玩家都是天才,只有天知道他们会对你脆弱的系统做如何的"改进".想想一下,当你面对一个游戏,而且他的全部资源都摆在你的面前.如果是我,一定会产生某些邪恶的思想.(周星星当年就说过:"曾经有一堆游戏资源文件摆在我面前....") Er... 这仅仅是一个方面.因为就算是打包后的文件依然有执着的人想办法提取内部的文件.是否加密,也是值得注意的一个问题.但是打包之后至少起到了防君子的效果.(虽然我的思想很邪恶,但是还不至于变态到去破解XX游戏的文件格式注意,这里的邪恶跟变态完全不是一个等级的..) 大量的文件易于管理,但是分布后呢?很多配置文件可以合并,但是这对于灵活来说反而会降低.不要指望我们的美工会去在一个ini里面分析你的header然后把一个图片的名称坐标,hotpoint array写入这个ini.他们更喜欢找一个同名的ini来配置单幅图像的信息.如此散乱的文件需要管理.如果问题这么简单倒是还好.如果对于经常更新的东西.下载下来,覆盖,每次都要保证全部的版本是一致的,每次都要验证全部的文件?天啊,你的游戏如果是网络游戏的话,一定相当脆弱.一旦出现"不可预知的问题"(比如用户喜欢你的资源文件然后Ctrl+X了或者用伟大的鼠标拖拽跑了...)那么对于你的系统来说似乎只能重装了...然后还有以往的update....

实现什么样的功能?

如果您看完的一条仍然无动于衷,那么您可以忽略这一条,然后请盖茨去喝咖啡商讨下一代操作系统的文件管理应该具备的功能(如果可能我们建议您这样做!)否则就请帮助我们设想一下这个可爱的组件应该具备的功能

1 文件打包成一个独立的pak(或者更神秘的扩展名)

2 pak文件里面可以有目录管理

3 pak文件可以方便的管理版本信息,甚至多个版本的同一个文件可以同时存在.当然,您也可以剔除掉过早的版本

4 可以将零散的配置文件合并,或者单独做一个配置文件信息提取的办法(Windows注册表就是一个比较好的例子,将众多的ini=>reg)

5 加密?有必要吗?

6 多个pak文件之间可以同时使用.构建成文件组的形式.比如某些部分是不会变的,某些是不经常变的,某些是专门用来更新的.

7 调用一定要简单.比如 XPak.getFile("img\test1.bmp") 或者XPak.GetObject("obj\test1") 或者 XFile.GetSettings("config.test1.width")

8 允许访问目录下非pak的文件,当然,我们不强制avi也放进pak,比如我,就非常喜欢看那些游戏动画,过分隐藏了也不好.会造成太多的怨念...

9 网络更新的支持.其实吧,同步部分跟游戏内容根本就没关系.所以单独做成一个产品多好?

如何实现?

实现的办法很多 目前想起了三种,但是我更希望大家把更狡猾的办法都提出来.然后我一起整理.(占位中..)

感兴趣的话我们就专门成立一个办公室,定义一个project来开始做这件事情.要知道,这仅仅是一个想法,欢迎大家来抄袭剽窃.总之我们的目的是有一套现成的可以用的文件管理系统.报名的话可以回复.sil.yo负责人事管理.

posted on 2006-05-21 12:03 a11s.net 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/a11s/archive/2006/05/21/405524.html

游戏文件系统(a11s)相关推荐

  1. 如何击败腾讯_要击败这个新的电子游戏,请对其重新编程

    如何击败腾讯 真正击败Double Fine Productions的新视频游戏 Hack'n'Slash的唯一方法是对其进行重新编程. 但是,玩游戏,一个sendup传统的冒险游戏像塞尔达传说,这对 ...

  2. cocosd-x 下 2D 骨骼动画编辑器选择的闲聊

    前言:没想到好多年没来,CSDN 竟然支持了 Markdown 的编辑,而且还是直接 fork 了 StackEdit 过来的,开始我还在想是否要换个写博客的地方,毕竟我不是一个很勤快的人,而且我也想 ...

  3. 《Linux内核剖析》(Yanlz+VR云游戏+Unity+SteamVR+云技术+5G+AI+Makefile+块设备驱动+字符设备驱动+数学协处理器+文件系统+内存管理+GDB+立钻哥哥+==)

    <Linux内核剖析> <Linux内核剖析> 版本 作者 参与者 完成日期 备注 YanlzLinux_Kernel0.12_V01_1.0 严立钻 2020.02.06 # ...

  4. 《Linux游戏编程》——理解Linux文件系统标准

    Linux游戏编程 Programming Linux Games [美]John R. Hall 著 作者:[美]John R. Hall 单位:Loki Software, Inc. 时间:200 ...

  5. 【面试题】网易互娱(游戏)2021校园招聘在线笔试 - 服务端开发工程师[文件系统]

    昨晚做网易互娱的笔试,比较尴尬的是只能用C/C++/Java,而本人对C/C++的了解仅限于大一的课程设计(而且一年多没用过C写代码了),Java差不多看得懂代码但是没有系统的学过.无奈最后只能用py ...

  6. 猜数游戏python_Hello,Python!小鲸教你学Python(九)之文件操作

    昨天小鲸带大家感受了进阶版的Python猜数小游戏,今天,小鲸给大家介绍几个Python对文件操作的实用小例子,让大家工作更简便! 在Python中,对文件的操作有很多种,常见的操作包括创建.删除.修 ...

  7. mysql 不同的文件系统_文件系统,数据库管理系统,操作系统之间有什么联系?...

    这仨名字里都有个"系统",但完全不是一个东西,也谈不到谁包含谁的问题. 简单的说他们之间的关系:文件系统和操作系统可以看作一种"合作"关系,而数据库管理系统则是 ...

  8. Linux系统(一)文件系统、压缩、打包操作总结

    序言 当前的形势,.Net已经开源,.Net Core 正在跨平台,可见微软巨人在努力,在改变,在进步,在走向春天.从前被微软供作上帝的.Net从业者,如果不打开心扉面向开源,改变自己,那么很可能在不 ...

  9. 腾讯,百度,网易游戏,华为笔面经验

    应届生上泡了两年,一直都是下资料,下笔试题,面试题.一直都在感谢那些默默付出的人. 写这个帖子花了我两个夜晚的时间,不是为了炫耀,只是为了能给那些"迷惘"的学弟学妹,一点点建议而已 ...

  10. 创建游戏场(实战演习)

    用到的指令: 在创建游戏场之前,先要复习一个关于链接的知识: ln 命令即可创建硬链接,也可以创建符号链接.可以用其中一种方法来使用它: ln file link 创建硬链接,和: ln -s ite ...

最新文章

  1. 牛逼!硬核图解 Tomcat 整体架构
  2. Ecplise 恢复刚刚删除的文件
  3. CSS中clear属性的both、left和right浅析
  4. ASP.NET - 演练:创建网页以显示 XML 数据
  5. qt .pro文件
  6. JS复制内容到剪贴板
  7. 如何做好性能压测丨压测环境设计和搭建
  8. 数字0-9的数量(51Nod-1042)
  9. 动态修改实体类转json的属性名
  10. 《剑指 Offer I》刷题笔记 11 ~ 19 题
  11. [转载] python中dtype的使用规范_Python numpy.dtype() 使用实例
  12. Fiddler代理配置
  13. Atitit uri url格式规范与解析器 .URIparser 理解URI和URL的区别,我们引入URN这个概念。 URI = Universal Resource Identifier 统一资
  14. 抓取必应在线词典的英语音标
  15. 数据抓取的艺术(一~三):Selenium+Phantomjs数据抓取环境配置
  16. 体彩大乐透模拟机选随机号码_模拟
  17. 测井曲线wis文件格式转换为ASCII文本格式小软件的开发(C与Python结合开发)
  18. 将多个excel合并成一个excel
  19. 笔记本触摸屏\板使用小技巧,没有鼠标也能轻松使用电脑
  20. 怎样设置计算机u盘启动程序,BIOS如何设置U盘为第一启动项

热门文章

  1. (转)知乎:维度灾难
  2. (转)李开复哥伦比亚大学演讲:如何才能不错过人工智能时代
  3. CCF为何能吸引6.8万付费会员?
  4. java中getHeight是什么意思_Java PImage.getHeight方法代码示例
  5. 【脑电信号】基于matlab小波变换DWT脑电信号ECG去噪【含Matlab源码 1622期】
  6. 【财务预警】基于matlab BP神经网络财务预警【含Matlab源码 494期】
  7. 【背包问题】基于matlab量子免疫克隆算法求解背包问题【含Matlab源码 424期】
  8. 人脸检测用什么模型_人脸检测模型:使用哪个以及为什么使用?
  9. php如何判断一个类是否存在,PHP利用判断类是否存在函数class_exists用法的简单示例...
  10. html让font居中,用CSS做将如何字体居中?