Hi, nice to meet you!

如何开发一个问答类游戏

问答类游戏,在开发过程中还算是比较简单的一个分类,核心的内容就是问题与答案。抽象来讲,问题可能是文字,也可以是图片,也可以是声音等等,而对应玩家可以选择的答案,也可以不同的表现形式。例如看电影海报猜电影名字,听音乐片段猜歌曲等等

【诗仙与诗魔】,是一个诗词挑战类游戏,本质上也算是一个答类游戏,问题变成了某一首诗中的某一句,而答案就是从给定的类似诗句中选择正确的那一句。接下来我将从技术有角度来解析一下这个游戏的整个开发过程。

这个游戏现在可以直接从商店下载体验,在 AppStore 或 TapTap 搜索 诗仙与诗魔 即可找到。

如何开发一个问答类游戏

Unity 2D 游戏背景适配

在开发2D游戏的时候,不同的设备分辨率下,经常需要将背景以高或以宽来适配。如果以高适配,即背景图的高度填充整个屏幕,然后去缩放宽度。最终效果图如下

注意,我们的背景图片 Pixel Per Unit 的值保持默认的 100,如果用了其他的值,那计算时也要对应修改

Unity 2D 游戏背景适配

Unity Sprites Full-Rect 和 Tight 设置

在开发2D游戏的时候,对于图片的 Mesh Type 设置我们应该选择 Full Rect 还是 Tight 呢?

Unity Sprites Full-Rect 和 Tight 设置

Unity 接入 Topon 报错解决

最近在接入Topon广告聚合SDK是,导出XCode工程后,编译报了一堆错误,搞了好久,这里记录一下解决过程。

主要是将第三方的 framework 和 bundle 文件在XCode中配置的问题。遇到错误,首先拿错误的关键字,去Google搜索一下,看一下是属于Apple的哪一个Framework,然后将Framework添加到 TARGETS -> UnityFramework -> Link Binary With Libraries 中即可解决。

Unity 接入 Topon 报错解决

Unity XCode 自动设置签名

Unity ios导出XCode工程后,通常需要手动设置签名,就像下图中的样子。只要简单的两部设置,就可以自动选择我们想要的签名。

Unity XCode 自动设置签名

Unity 接入 Sigmob SDK

在 Unity 项目中接入Sigmob 时,遇到很多问题,他们的文档写的也不是很清楚,特别是对于 Android 开发没有很深入了解的情况,读起来很困难,这篇博客记录了详细的 Sigmob 广告 sdk 接入过程。

1. 注册 Sigmob 开发者账户

这一步不需要过多解释,直接注册就行

2. 下载 Sigmob SDK 并导入到工程中

这一步,我接入的是 Sigmob SDk, 而不是聚合 SDK,看下面的图下载

Unity 接入 Sigmob SDK

理解 Boids

Boids 可以理解为类似鸟群的东西,就是多个个体之间的相互作用。在游戏开发中经常会用到。例如 RTS 游戏,控制一个坦克战队,如何保持行进方向的一致性,以及坦克之间互相有一定有间隔,又不会间隔太大,这里就可以使用 Boids 相关的理论来实现。

在众多这方面的文章中,基本上会涉及到三个方面,跟随分离聚合。跟随,就是说整个群体有一个行进的大方向。分离,则是个体与个体之间有一定的间隔,不至于发生碰撞。而聚合,就是个体不能离群体太远,不能脱离群体。

对于上面提到的三个方面,简单来说,就是一个力的叠加。

理解 Boids

Apk 上架前的签名操作

在 APK 包上传到一些应用市场时,通常要求开发者对 APK 进行签名,下面记录一下签名步骤。

这里的签名操作,与 Unity Build APK 时是否使用了 keystore 无任何关系。

Apk 上架前的签名操作

Unity 接入友盟SDK

友盟游戏统计 SDK 可以很方便的统计一些游戏数据。使用他们的自定义事件,来统计自己项目关心的数据。现在接入 SDK 已经比以前方便了很多,不需要再导出 Android 工程去修改 Java。下面将一步一步详细说明。

要使用友盟 SDK,一共有以下几步

  • 在友盟后面新建应用
  • 在友盟后面建立自定义事件
  • 下载并导入 SDK
  • 调用 SDK
Unity 接入友盟SDK

游戏项目资源管理

在游戏开发的过程中,整个项目的资源管理是很重要的一部分。涉及到与美术、策划等同事的协作,以及资源的打包,和后续运行时资源的更新,加载,卸载,内存管理等方面。规划好资源的的各个目录存放,以及资源的分类,会为后续的开发工作节省不少时间。这一篇博客主要来聊一下到资源的存放问题,而 AssetBundle 打包,以及运行时的更新和资源管理,将在后面的博客中详细说明。

游戏项目资源管理