littlebot
Published on 2025-04-08 / 3 Visits
0

【源码】基于C语言的微型抽象鱼游戏引擎

项目简介

微型抽象鱼游戏引擎(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】