项目简介
微型抽象鱼游戏引擎(Small Abstract Fish, SAF)是一个极简的C语言接口,为小型游戏机(如Pokitto和Arduboy)打造了简单易用的游戏开发环境。它不仅能在小型游戏机上运行,还可在PC等“大型”平台使用,适用于开发游戏及其他“玩具”程序。其设计秉持“少即是多”理念,强调简单、轻量和高效,助力开发者快速创建简单复古风格游戏。
项目的主要特性和功能
- 极简接口:提供简单的接口和库,包含基本功能(如LUT sin/cos等),避免开发者重复实现与调试。
- 多平台支持:支持SDL2、CSFML、Emscripten、X11、ncurses、Pokitto、Arduboy等多种平台,确保游戏可移植。
- 低资源需求:能在低规格硬件上运行,支持64x64分辨率、256色和25FPS,适合8位和16位游戏机。
- 自由软件:遵循自由软件和公共领域理念,所有代码和资源为CC0 1.0(公共领域),可自由使用、修改和分发。
安装使用步骤
假设用户已经下载了本项目的源码文件:
1. 编译环境准备:确保开发环境已安装必要的编译工具和依赖库。若选择使用SDL2前端,需安装SDL2库。
2. 编写游戏代码:使用SAF提供的接口编写游戏代码,需实现SAF_init
(用于初始化)和SAF_loop
(用于每一帧的更新)两个函数。
示例代码:
```c
define SAF_PROGRAM_NAME "hello"
define SAF_PLATFORM_SDL2
include "saf.h"
void SAF_init(void) { }
uint8_t SAF_loop() { SAF_clearScreen(SAF_COLOR_WHITE);
SAF_drawText(4,15,"HELLO!", SAF_frame() & 0x04 ? SAF_COLOR_RED : SAF_COLOR_BLACK,2);
return 1;
}
3. **编译游戏**:根据所选前端平台,使用相应编译命令进行编译。以SDL2前端为例,使用命令:
sh
gcc -o hello hello.c -lSDL2
```
4. 运行游戏:编译成功后,运行生成的可执行文件启动游戏。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】