Boxingbruin/Pandemonium
GitHub: Boxingbruin/Pandemonium
一款受 Elden Ring 启发的 N64 暗黑奇幻类魂 Boss 战游戏,为 2025 N64brew Game Jam 而作,基于 libdragon 和 Tiny3D 构建并完全开源。
Stars: 89 | Forks: 4
# Pandemonium
## 故事
魔王给这片土地带来了长达一个世纪的黑暗。守护国王的骑士们饱受折磨,几近崩溃。你就是其中一员,被贬为奴,被迫屈从于国王的意志。Pandemonium 是一款受 Elden Ring 启发的原创暗黑奇幻类魂游戏。
## 操作
摇杆:移动
A 键:闪避
B 键:攻击
C-Pad:视角
Start 键:暂停菜单
Z 键:切换 Z 轴锁定
长按 Z 键 + C-Pad 左/右:切换 Z 轴锁定目标
## 2025 N64brew Game Jam - Pandemonium
- 12月1日 - 2月1日
- 主题于12月8日公布
- 主题:修复(或同义词)
- 我们致力于打造一场内容丰满的 Boss 战。兼具 Elden Ring 的美学与机制。并将“修复”的主题融入 Boss 战中。
## 功能:
- 类魂 Boss AI,具备多种不同的攻击方式和动画。
- 角色控制器具备多种动画状态和锁定机制。
- 武器碰撞系统,可混合使用不同类型的碰撞体。
- 实时过场动画。
- 另一段以视频形式播放的过场动画。
- 采用 32 位帧缓冲(framebuffer)以呈现更清晰的画面。
- 基于距离的 SFX 系统。
- 武器拖尾效果及多种不同的反馈系统。
- 对话系统。
- 几乎完全采用 64x64 纹理配合顶点颜色(vertex colors)以实现更高分辨率。
- 专为本次 Jam 制作了从零开始的资产和音乐(或进行了大量修改)。
- 蒙皮网格(skinned mesh)上的滚动纹理。
## Jam 游戏要求(简版)
- 仅限提交 1 个项目
- 必须能在 PAL/NTSC 系统上运行。可选择在模拟器上测试
- 团队最多 5 名成员
- 允许使用任何 N64 SDK(libultra/libdragon 等)
- 游戏源代码必须永久开源
- 游戏代码应主要出自团队之手
- 允许使用第三方资产,但必须注明出处
- 必须可游玩,不接受纯视觉或音频演示
## 截图
## 构建
- 安装 libdragon (preview)
- 安装 Tiny3D (main)
- 运行 make file
## SummerCart64
使用 [sc64deployer](https://github.com/Polprzewodnikowy/SummerCart64/releases) 通过 USB 部署到 [SummerCart64](https://github.com/Polprzewodnikowy/SummerCart64)。请在开发者 / USB 上传模式下连接卡带,以便 `sc64deployer list` 能够成功运行。
**Makefile(先构建 `pandemonium.z64`,然后上传):**
- `make deploy` — 直接将 ROM 上传至卡带(EEPROM4K 存档类型;可通过下方的环境变量选择性配置 `--save`)。
- `make upload-sd` — 将 `pandemonium.z64` 复制到 microSD 路径 `Games/Homebrew/Pandemonium.z64`(可通过 `SC64_SD_DEST` 覆盖)。
- `make sc64-bootloader` — 运行 `sc64deployer reset` 使卡带恢复正常的 bootloader / 上电启动行为。
**脚本(行为相同;如果你已有 `pandemonium.z64`,请使用 `--no-build`):**
- `./scripts/deploy.sh` — 构建 + 部署,或 `./scripts/deploy.sh --no-build`
- `./scripts/upload-sd.sh` — 构建 + SD 卡拷贝,或 `./scripts/upload-sd.sh --no-build`
- `./scripts/upload-sd.sh --reset-first` — 如果 SD 卡被 N64 锁定,先重置再上传(也会重置卡带配置)
- `./scripts/sc64-bootloader.sh` — 仅重置(等同于 `make sc64-bootloader`)
**环境变量:**
- `SC64_DEPLOYER` — `sc64deployer` 二进制文件的路径,或包含该文件的解压后 release 文件夹路径(否则使用 `PATH` 中的 `sc64deployer`)。
- `SC64_SAVE` — 如果设置,则作为 `--save` 传递给部署命令(在上传过程中保留 EEPROM),例如 `SC64_SAVE=./pandemonium.eep`。
- `SC64_EXTRA_ARGS` — 额外的部署器参数(以空格分隔),例如 `SC64_EXTRA_ARGS="--direct"`。
- `SC64_SD_DEST` — `upload-sd` 在 SD 卡上的目标路径(默认为:`Games/Homebrew/Pandemonium.z64`)。
## 创建 release(GitHub)
- **更新版本号**:修改 `VERSION`,提交并推送。
- **构建带版本号的 ROM**:
- `make clean && make versioned`
- 生成文件:`Pandemonium-$(cat VERSION).z64`
- **为 release 打标签**:
- `git tag -a "v$(cat VERSION)" -m "v$(cat VERSION)"`
- `git push && git push --tags`
- **在 GitHub 上发布**:GitHub → *Releases* → *Draft a new release* → 选择标签 `vX.Y.Z` → 附加 `Pandemonium-X.Y.Z.z64` → *Publish release*。
## 团队成员
BoxingBruin:
- Github: BoxingBruin
- Discord: BoxingBruin
- Bluesky: boxingbruin.bsky.social
HelloNewman:
- Github: HellooooNewman
- Discord: HelloNewman
## 许可协议
- 代码采用 GPLv3 授权。详见 LICENSE。
- 对于所有非代码资产,包括图像、音乐和 3D 模型。详见 LICENSE_ASSETS。
## 构建
- 安装 libdragon (preview)
- 安装 Tiny3D (main)
- 运行 make file
## SummerCart64
使用 [sc64deployer](https://github.com/Polprzewodnikowy/SummerCart64/releases) 通过 USB 部署到 [SummerCart64](https://github.com/Polprzewodnikowy/SummerCart64)。请在开发者 / USB 上传模式下连接卡带,以便 `sc64deployer list` 能够成功运行。
**Makefile(先构建 `pandemonium.z64`,然后上传):**
- `make deploy` — 直接将 ROM 上传至卡带(EEPROM4K 存档类型;可通过下方的环境变量选择性配置 `--save`)。
- `make upload-sd` — 将 `pandemonium.z64` 复制到 microSD 路径 `Games/Homebrew/Pandemonium.z64`(可通过 `SC64_SD_DEST` 覆盖)。
- `make sc64-bootloader` — 运行 `sc64deployer reset` 使卡带恢复正常的 bootloader / 上电启动行为。
**脚本(行为相同;如果你已有 `pandemonium.z64`,请使用 `--no-build`):**
- `./scripts/deploy.sh` — 构建 + 部署,或 `./scripts/deploy.sh --no-build`
- `./scripts/upload-sd.sh` — 构建 + SD 卡拷贝,或 `./scripts/upload-sd.sh --no-build`
- `./scripts/upload-sd.sh --reset-first` — 如果 SD 卡被 N64 锁定,先重置再上传(也会重置卡带配置)
- `./scripts/sc64-bootloader.sh` — 仅重置(等同于 `make sc64-bootloader`)
**环境变量:**
- `SC64_DEPLOYER` — `sc64deployer` 二进制文件的路径,或包含该文件的解压后 release 文件夹路径(否则使用 `PATH` 中的 `sc64deployer`)。
- `SC64_SAVE` — 如果设置,则作为 `--save` 传递给部署命令(在上传过程中保留 EEPROM),例如 `SC64_SAVE=./pandemonium.eep`。
- `SC64_EXTRA_ARGS` — 额外的部署器参数(以空格分隔),例如 `SC64_EXTRA_ARGS="--direct"`。
- `SC64_SD_DEST` — `upload-sd` 在 SD 卡上的目标路径(默认为:`Games/Homebrew/Pandemonium.z64`)。
## 创建 release(GitHub)
- **更新版本号**:修改 `VERSION`,提交并推送。
- **构建带版本号的 ROM**:
- `make clean && make versioned`
- 生成文件:`Pandemonium-$(cat VERSION).z64`
- **为 release 打标签**:
- `git tag -a "v$(cat VERSION)" -m "v$(cat VERSION)"`
- `git push && git push --tags`
- **在 GitHub 上发布**:GitHub → *Releases* → *Draft a new release* → 选择标签 `vX.Y.Z` → 附加 `Pandemonium-X.Y.Z.z64` → *Publish release*。
## 团队成员
BoxingBruin:
- Github: BoxingBruin
- Discord: BoxingBruin
- Bluesky: boxingbruin.bsky.social
HelloNewman:
- Github: HellooooNewman
- Discord: HelloNewman
## 许可协议
- 代码采用 GPLv3 授权。详见 LICENSE。
- 对于所有非代码资产,包括图像、音乐和 3D 模型。详见 LICENSE_ASSETS。标签:Game Jam, N64自制游戏, 动作角色扮演, 客户端加密, 游戏开发, 类魂游戏