Yarnspin是一个简单的讲故事引擎,它拥有自己内置的脚本语言和图形处理功能,可以将高分辨率照片转换为低分辨率像素图。
它有一种自定义脚本语言,允许你定义带选项的对话,并设置带描述和图像的位置。它自带一千张肖像图片,当然你也可以添加自己的图片。
Yarnspin游戏可以在Windows、Mac、Linux上运行,也可以通过WebAssembly在浏览器中运行。
目前文档还很简略 - 只有这个正在进行中且可能不完整的readme文件 - 但它附带了一个示例"游戏",这个游戏也是一个解释关键概念的教程。还有一个用Yarnspin制作的小游戏,名为No Sunshine,它是开源的,可以在这里找到:https://github.com/mattiasgustavsson/no_sunshine
文档
Yarnspin的文档可以在这里找到:docs/yarnspin.md
编译代码
不使用构建系统,只需从命令行调用编译器即可。
Windows
在Visual Studio开发者命令提示符中,执行:
cl source\yarnspin.c
要构建最终发布版本,你可能需要启用所有优化。在仓库的build
文件夹中有一个辅助脚本(Windows批处理文件),它将启用完全优化并包含应用程序图标。它还会调用编译后的exe来生成yarnspin.dat
数据文件,然后将该文件附加到可执行文件的末尾,为你提供一个包含代码和数据的单一exe文件以供分发。无需包含yarnspin.dat文件。详细信息请参见build\build_win.bat
文件。
Mac
clang source/yarnspin.c `sdl2-config --libs --cflags` -lGLEW -framework OpenGL -lpthread
需要SDL2和GLEW - 如果你没有安装,可以使用Homebrew运行以下命令进行安装:
brew install sdl2 glew
Linux
gcc source/yarnspin.c `sdl2-config --libs --cflags` -lGLEW -lGL -lm -lpthread
需要SDL2和GLEW - 如果你没有安装,可以在Ubuntu(或其他支持apt-get
的系统)上运行以下命令进行安装:
sudo apt-get install libsdl2-dev
sudo apt-get install libglew-dev
WebAssembly
使用WAjic:
wasm\node wasm/wajicup.js -embed yarnspin.dat yarnspin.dat source/yarnspin.c yarnspin.html
注意,在运行此构建命令之前,你必须先生成yarnspin.dat
文件(通过运行一次yarnspin可执行文件)。
需要WebAssembly构建环境。你可以在这里下载(适用于Windows):wasm-env。
解压缩,使zip文件中的wasm
文件夹位于你的仓库根目录。
wasm构建环境是node、clang/wasm-ld、WAjic和wasm系统库的紧凑分发版。
对于最终发布版本,你可能希望嵌入的网页看起来更漂亮一些 - 有一个辅助构建脚本build\build_web.bat
可以实现这一点,它指定了一个模板HTML文件。