Luffy Blog

一生想做浪漫极客

本地化工具的开发及流程

将策划表转为protobuf/csv 并插入sqlite

前言 项目需要发行海外版本,就涉及到将项目中的中文转换为对应的外文。所需要完成的工作主要分为两部分:1.策划配表;2.界面UI。 主要实现步骤分为:将需要翻译的文字转换为Excel表格;翻译好后,转换为程序可用的数据。本篇主要介绍一下在转换过程中的主要思路和所使用的工具。 工具介绍 为提高转换的效率,编写了一些bat文件进行控制,使操作更加自动化。主要使用了commandLine,对于Ex...

Protobuf学习

protobuf原理及游戏中应用

前言 在之前的博客中提到了关于序列化的相关知识。考虑一下这种情况:策划配置好相应的游戏数据表格,想要将excel表格转化为程序中可以使用的数据,那么你会采用什么样的策略呢?xml或是二进制?或是本文介绍的Protobuf? Protobuf protobuf提供一种十分高效、灵活的序列化结构化数据的方式,可以更加容易生成源码,来更加高效的读写结构化数据。具体可查看Protobuf的开发者文档...

序列化的实际应用

序列化的含义,以及在c#和U3D中的具体应用

前言 游戏实践当中,序列化是一个十分关键的概念。wiki的定义是: 序列化是将结构化数据或物体转化为可以存储格式(文件、内存缓存等)的过程。 序列化用途: 传递message 存储数据 RPC等 下面介绍在c#和U3D中如何使用序列化。 在C#中使用序列化 Stream 首先了解一下流(stream)的概念。参考自StackOverflow,stream代表按顺序排...

Foreach实现原理及性能分析

foreach、GC及协程

前言 考虑以下在U3D中的代码: public List<int> testList = new List<int>(); void Start() { for(int i = 0; i<10; i++) testList.Add(i); } // Update is called once per frame void Update (...

值与引用类型的转换

装箱拆箱、string、统一类型

前言 在学习U3D的GC性能分析时,影响GC性能的一个因素是装箱操作。频繁的装箱如foreach操作会使GC更加频繁导致游戏性能变差。而装箱的核心概念是c#值类型与引用类型的转换,所以今天学习一下相关基础知识。 值类型与引用类型 统一类型系统 c#提供一个统一类型系统,在c#语言中,所有的数据类型都继承自同一个跟类型object。统一类型的好处有很多,例如可以保证类型安全、可以定义通用的类...

U3D性能优化学习笔记

性能测试工具学习

前言 在游戏开发过程中遇到刷新界面卡顿等现象,决定学习一下Unity相关的优化工作。首先要做的就是了解Unity相应的性能测试工具以找到性能的瓶颈。依据U3D官方文档和google上的一些文档,熟悉相关的性能测试工具。 Profiler window U3D内置的性能分析器,可以分析游戏中各个模块相应的性能,找出性能瓶颈并修复相应问题. profiler的工具条可以控制Prof...