Blog

欢迎, 这里是我的博客。

在 org-mode 中内嵌源代码

我们知道在 org-mode 中,单独的源代码块环境是使用 #+BEGIN_SRC#+END_SRC. 但是在很多情况下,我们可能在一句话中内嵌一句代码,这时候用 #+BEGIN_SRC 就无法做到了。

陪老 K 学 Rust (一)

开始之前的环境配置, 本节是繁琐的准备工作,已经完成的同学可以跳过。

推荐一个 Rust 教程

Rust 语言既时尚,又安全,又难学。最让人崩溃的一点是文档虽然多,但是质量却不好,主要是 Rust 入门的曲线比较陡峭。今天给大家推荐一个曲线不错的教程。

HHKB + Karabiner-Elements 神器配置

Karabiner-Elements 是 MacOS 系统下键盘映射的神器, 以前的名称叫做 Karabiner, 自从 MacOS 升级到 10.12 以后, 由于键盘驱动的修改导致了 Karabiner 不能正常工作, 作者自己由开发了一个新版本, 并且名字改成了 Karabiner-Elements. 现在其版本为: 12.8.0, 功能已经非常完善了. 那 Karabinner-Elements 有什么神奇的功能呢? 下面就以我的 HHKB 键盘为例, 逐一道来.

把 Markdown 格式的文件转换成 org-mode 格式

正在把以前的 jekyll 博客迁移到新的 ox-hugo 上,虽然没有几篇,但是如果手工把 markdown 转换成 org-mode 还是有不小的工作量的, 还好有 pandoc, 转换完成后稍微修改一下就可以了。

显摆下 HHKB Pro2 TypeS

知道这个世界上有 HHKB 的时候, 立刻入手了一个. 不过还在习惯中. 因为我是 vi 党, 所以难度不是很大.

在 VirtualBox 上安装蓝点 Linux2.0

这两天折腾 Win8 的时候翻出来了当年 蓝点 Linux 2.0 的光盘。想当初一屋子的 2.0 的光盘没卖出去, 我就拿到家里了一套 2.0,应该还有一套 蓝点 Linux 1.0FreeBSD 的 “双响炮” 的,一直没找到,现在网上也没有下载的。现在回想起来,应该拿几套豪华版,留作纪念也好。

游戏对象模型设计与实现(四)

最近几个月一直在写一些与游戏无关的程序放到 AppStore 上, 主要是用了一些 FRP 的东西. 关于 FRP, 以后再写一些文章介绍. 期间抽空在 iOS 把 Artemis 实现了一遍, 开始做一个横版 2.5d 的动作游戏. 等实现完了发现有人把另外一个 Objective-C 的实现放到了 GitHub 上. 不过 GitHub 上的版本貌似是基于 Artemis 0.96 的, 其中后来 Artemis 的一些优化比如 Aspect 等并没有同步进去. 我是直接基于 Artemis 的最新版本做的, 也不算重复发明轮子了.

游戏对象模型设计与实现(三)

由于本人对游戏实现认识不足, 总结一下几种游戏设计模式的区别仅供参考, 也许你有更深入的认识, 欢迎交流. 对于我这种菜鸟来说, Entity-System 比较适合.

基本上所有的运行期动态游戏对象实现的目的大部分是为了实现数据驱动的方式. 数据驱动的好处就在于可以明确分离 程序 - 策划 在游戏实现环节的工作.也很方便 程序 开发一些编辑工具给 策划 使用,提高 策划 的工作效率,满足 策划 高度定制游戏的需求.

游戏对象模型设计与实现(二)

严格来说,一个游戏的实现框架有三种:

  • Object-Centric:面向对象方式的。
  • Component-Based:面向组件的。
  • Entity-System:实体系统?

我们依次来分析这三种实现方式的优点和缺点.

游戏对象模型设计与实现(一)

准备做一个 RPG 的游戏。由于以前没有做过游戏,首先学习了 cocos2d-iphone 的一些资料,再从网上看了一些写游戏的教程,自认为可以动手开始写框架的时候,发现遇到了相当大的困难。

cocos2d-iphone 的教程或者网上的一些其他教程有一个共同点:都是拿一个 太空大战 或者 坦克大战 之类的作为实现的例子。诚然这种简单的游戏可以充分考虑展现游戏框架本身的特点,但是从游戏编程上来说,有很大的误导之嫌。再加上由于没有游戏编程的经验,同时受这些教程或者书籍中的这些例子的误导,思维上还是以写软件的方式来写游戏,认为游戏不过是一种特殊的软件。