本页目录

《系统震撼》(System Shock)PowerMac 版官方 GPL 源码

shockmac · NightDive-Studio/shockmac

Night Dive Studios 以 GPL 发布的《System Shock》PowerMac 版源代码,主要用 C 语言编写。仓库只含源码,不含游戏数据;游戏数据仍受原 EULA 约束。README 说明:构建需 PowerPC 机器或 SheepShaver 等模拟器、Metrowerks CodeWarrior...

音乐节奏 其他 其他 游戏状态管理 动画系统 音频系统 UI 系统 中级
★ Stars 3,831 Forks 2,605 License GPL-3.0 更新 2026-11-06

国内开发环境适配

Windows
官方声明支持
Linux
官方声明支持
macOS
官方声明支持
引擎 / 框架:其他 暂无中文教程标记 未标记站长实测
README 指向的依赖安装与编译流程需参考 docs/COMPILING.md,Haxe/hxcpp 工具链及依赖下载在国内网络下可能较慢,建议配置代理或镜像;Newgrounds、itch.io、Google Play、App Store 等分发渠道在部分网络环境下访问受限,具体可用性待核验。

中文项目介绍

Friday Night Funkin'(玩家常简称 FNF)的 GitHub 仓库是这款节奏音乐游戏的官方源码本体,而不是教程、模板或引擎项目。按 README 说明,游戏使用 HaxeFlixel 制作,最初是为 Ludum Dare 47 创作的作品;开发团队在 README 中写明,这款游戏是带着对 Newgrounds 及其社区的感情做出来的,并特别感谢 Newgrounds 创始人 Tom Fulp。因此,这个仓库同时具备三重身份:一款已完整发布、多平台可玩的商业级开源游戏源码,一个可供 Mod 作者二次创作的底座,以及一份可供 Haxe 游戏开发者参考的大型项目工程样例。

从内容定位看,它属于典型的节奏音乐游戏:玩家在音乐节拍中完成操作,与对手进行曲目对决。README 首屏给出了标题画面(Title Screen)与主菜单(Main Menu)两张运行截图,可以看到项目在美术、动画和 UI 上的投入。README 附带的制作名单也反映出团队分工的完整度:编程侧由 ninjamuffin99 担任主程序,EliteMasterEric 等参与程序开发,MtH 负责谱面(Charting)并参与程序,ZackDroid 担任移动端主程序,另有多位移动端开发者;美术与动画由 PhantomArcade3K、Evilsk8r 负责,Moawling 绘制第 6 周像素美术,IvanAlmighty 负责部分 UI 设计;音乐由 Kawaisprite 创作,BassetFilms 为曲目 Monster 作曲并参与角色设计;配音方面,JohnnyUtah 为 Tankman 配音,L0Litsmonica 为 Mommy Mearest 配音。

工程组织上,一个值得注意的细节是代码与资产分离:完整致谢不仅写在游戏内,也以 credits.json 的形式存放在独立的 funkin.assets 仓库(exclude/data/credits.json 路径)中。README 里的 credits.json 链接直接指向该资产仓库,说明本仓库侧重代码与逻辑,图片、音频等体量较大的资源另有归属。这种拆分对想要打包分发或做本地化二次开发的人是必须了解的前提:只克隆代码仓库,往往不足以直接跑起完整游戏。

核心功能

核心特性

技术栈方面,仓库的 topics 标注为 game、gamedev、haxe、haxeflixel、openfl,与 README 的描述一致:Haxe 语言配合 HaxeFlixel 框架,底层基于 OpenFL。这套技术路线的好处是一套代码基础可以向多个目标平台编译输出,从桌面系统到移动端再到浏览器均可覆盖,这也是 FNF 能同时提供网页试玩、桌面下载和手机安装包的基础。项目并未自研引擎,而是在成熟的开源 Haxe 游戏框架上构建完整玩法与工具链。

获取方式在 README 中被明确区分了「玩」与「改」两条路径。只想体验游戏的玩家,README 用醒目提示要求直接使用官方链接:Newgrounds 上的网页试玩版、itch.io 上面向 Windows、Mac 和 Linux 的 Demo 构建、Google Play 的 Android 版本,以及 App Store 的 iOS 版本。主页字段指向的正是 Newgrounds 试玩页。只有想从源码构建的人,才需要继续往下读文档。

面向开发者与贡献者,README 给出了三个入口:docs/COMPILING.md 编译指南,用于说明如何安装必要依赖并从源码编译游戏;docs/CONTRIBUTING.md 贡献指南,说明如何参与开发;以及独立的 Mod 文档站点 funkincrew.github.io/funkin-modding-docs,供想学习给游戏做 Mod 的人起步。从文档分工可以看出,项目把「玩家」「Mod 作者」「核心贡献者」三类人群的需求分开处理,这对希望建立社区生态的开源游戏是很好的组织示范。

技术架构分析

技术要点

适合从这个仓库学习的内容包括:在 Haxe/HaxeFlixel 上组织一个内容量可观的完整游戏项目;如何用同一代码库管理桌面、移动与网页多端发布;如何把资产拆到独立仓库并以 JSON 维护致谢等结构化数据;以及如何为 Mod 生态编写面向外部作者的文档。需要注意的是,README 面向的是使用者而非教学,编译流程依赖外部工具链与文档指引,不同平台的构建条件差异较大;README 本身也没有提供性能数据或项目热度指标,具体以仓库页面与官方文档为准。国内开发者在拉取依赖、访问 Newgrounds、itch.io、应用商店等外部资源时可能遇到网络问题,建议提前准备代理或镜像,相关细节待核验。

开源许可证与版权说明

许可证标识:GPL-3.0。源码、资源与依赖许可可能不同,请以官方仓库为准。本站仅做索引,不托管源码。

相似项目