2018-07-11
《猎头专家》动态资源加载与释放技巧

本文作者: 射手座团队 阿森

游戏总杜绝不了 BUG,每当出现一个 BUG 时,程序猿们总是需要搅破脑汁去解决,这是一件很不愉快的事情。但如果 BUG 的出现暴露出了更严重的其它问题时,也算是不幸中的万幸了。我们在《猎头专家》的运营过程中就遇到过这么一个事。

《猎头专家》中有一个 无限模式 的玩法,可以用有限的复活次数不停挑战难度越来越高的电脑关卡,技术好的玩家一般能打到十多层。但某次更新版本后,我们发现有个玩家居然挑战到了 23 层,而且复活次数为 0 ,我们整个团队都震惊了…… 为了研究玩家如何做到的,我们也进入无限模式不断尝试,结果发现这种奇异的现象居然是由于一个 BUG 导致的!!! 阅读此文

2018-07-09
《猎头专家》产品立项

为什么要做猎头专家

《猎头专家》对标的游戏是 Bowmasters ,这款游戏的打击感和操作都很不错,评分相当高。但它是一款单机功能为主的休闲游戏,联网对战功能很弱,画面太血腥,不适合年龄较小的玩家和女性玩家。 阅读此文

2018-07-06
做个天生的射手!谈谈《猎头专家》的开发历程

三个月了,终于有时间坐下来写一点东西了。

在这个系列里,我将制作《猎头专家》的过程进行梳理,作为射手座团队开发第一款小游戏的小结。希望对小游戏行业的朋友们有用。

我会详细阐述《猎头专家》这个产品从立项到技术选型的过程,在开发过程中遇到的有代表性的问题以及我们的解决方案,欢迎大家批评指正。 阅读此文

2018-01-05
处理 Emoji

2018-04-12更新: 加入使用 unicodedata 的代码范例。


Emoji 是 Unicode 字符集的一部分。目前我看过的最好的介绍 unicode 的文章是这一篇: 写给程序员的 Unicode 入门介绍

程序员经常要处理 Emoji 。在微信流行起来之后,许多使用微信作为第三方账号登录的 App/Game 都面临处理 Emoji 的问题,因为微信的昵称中可以包含 Emoji。

本文介绍一些处理 Emoji 的相关信息,不展开。 阅读此文

2018-01-03
解决 Java 软件 macOS 上启动慢的问题

最近感觉 Java 软件在 macOS 上启动明显偏慢。例如我的 IntelliJ IDEA CE 启动居然耗时 2 分钟,Spine 启动耗时 30 秒。

表现为,在启动后迟迟看不到 splash 界面,只能看到一个标题栏名称.

查了一下资料,发现原因是 java.net.InetAddress 在 macOS Sirra 上的运行速度导致: java.net.InetAddress: getLocalHost() slow after MacOS Sierra upgrade?

可以通过设置 hostname 来解决这个问题:

  1. 运行 hostname 得到本机的值,例如我的机器为 zrong-mbp ;
  2. 编辑 /etc/hosts 文件,增加或者修改下面的配置:
1
2
127.0.0.1   locahost zrong-mbp
::1 localhost zrong-mbp

如此处理后,上述软件显示 Splash 界面的时间降低到 3 秒。

全文完

2017-11-28
Flask+uWSGI 的 Logging 支持

我在 部署Flask + uWSGI + Nginx 一文中详细讲解了如何部署一个 Flask 应用。但这篇文章忽略了生产环境的一个重要的功能: Logging 。 阅读此文

2017-11-24
在 Python+uWSGI 应用中使用缓存

uWSGI 采用的是多进程模式。如果在 uWSGI 中运行的 Python 需要共享数据,可以使用第三方服务如 Redis/Memcached 等。如果数据量不大,还可以使用 uWSGI 提供的 缓存框架 阅读此文

2017-11-04
在 Flask-SQLAlchemy 中联表查询

SQLAlchemy 是一个功能强大的 ORMFlask-SQLAlchemy 是一个 Flask 插件,它让我们在 Flask 框架中使用 SQLAlchemy 变得更容易。

本篇介绍我在使用 Flask-SQLAlchemy 2.1 时进行联表查询的一些经验。 阅读此文

2017-10-15
Windows10 下安装 PyCrypto 以及迁移到 PyCryptodome

在 Windows 10 上安装 PyCtypto

PyCrypto 是一个 Python 加密库,核心使用 C 实现,因此在安装的过程中需要编译。

最简单的按照方法莫过于寻找编译好的 exe 版本进行安装。但由于这个库已经 3 年多没有维护了,目前能找到的编译好的版本基本上都针对较老的 Python 版本,例如 Python 3.3/3.5 等等,这些 exe 版本都无法在我需要的环境中安装成功。

我的环境:

  • Windows 10 x64
  • Python 3.6.2

要成功安装,首先必须安装 Microsoft 的编译工具。如果已经安装了 Visual Studio ,则可以跳过这一步。若还没有,而且后续也没有使用 VS 的需求,可以下载独立的编译工具 Visual C++ 2015 Build Tools

使用 pip 安装:

1
pip install pycrypto

在安装过程中会出现编译失败。这是由于新的 python 源码 include\pyport.h 不再包含 #include < stdint.h > ,导致 intmax_t 未定义。

我们需要在编译环境中设置 CL 参数才能成功编译。 阅读此文

2017-10-08
lftp [FEAT negotiation...]

lftp 是我一直在使用的 ftp 客户端。今天将其更新到 4.8.2 之后,出现了下面的错误: 阅读此文