Other

项目介绍

hyvanmielenpelit/GnollHack 是一个托管在 GitHub 上的开源项目,主要使用 C 编写,采用 Other 许可证,目前获得 167 个 Star、15 次 Fork。

仓库全名
hyvanmielenpelit/GnollHack
开源许可证
Other
Star 数
167
Fork 数
15

README 摘要

GnollHack A modern, cross-platform graphical roguelike built on the classic NetHack engine Website · Wiki · Features · Developer Docs · Gnoll Overseer AI Assistant · Leaderboards          Overview GnollHack is a turn-based, traditional roguelike role-playing game derived from NetHack 3.6.2. It preserves the deep gameplay of the original while modernizing presentation for desktop and…

完整内容见 GitHub 原始 README 或本页 。

常见问题

GnollHack 用什么语言开发?

主要使用 C 编写,采用 Other 许可证,目前有 167 个 Star。

GnollHack 可以免费商用吗?

仓库标注的许可证为 Other,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 GnollHack 的源码?

可以直接克隆仓库:git clone https://github.com/hyvanmielenpelit/GnollHack.git,默认分支为 master;安装与运行步骤见仓库 README。

GnollHack 最近还在维护吗?

仓库最近一次更新为 23 小时前,当前没有未关闭的 Issue;Star 数为 167,可作为社区活跃度的参考。

关于

Modern evolution of the classic roguelike game NetHack

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

简要分析

热度分
200
价值分
105
活跃状态
活跃

语言占比

AppleScript
Assembly
Awk
Batchfile
C
C#
C++
DIGITAL Command Language
GAP
Gnuplot
HTML
JavaScript
Lex
Makefile
Max
OpenEdge ABL
Perl
PowerShell
Rez
Shell
Yacc
sed

README

GnollHack Emblem

GnollHack

A modern, cross-platform graphical roguelike built on the classic NetHack engine

Release Platforms .NET MAUI Language License: NGPL Discord

Website · Wiki · Features · Developer Docs · Gnoll Overseer AI Assistant · Leaderboards


GnollHack Gameplay on Windows

Available on Steam   Get it on Google Play   Download on the App Store   Get Release on GitHub

Overview

GnollHack is a turn-based, traditional roguelike role-playing game derived from NetHack 3.6.2. It preserves the deep gameplay of the original while modernizing presentation for desktop and mobile platforms.

On the gameplay side, GnollHack expands the classic formula with:

  • Reagent-based spell system with 12 spell schools
  • Item quality tiers and mythic/legendary affixes
  • Seven difficulty levels
  • Multiple gameplay modes ranging from classic permadeath to non-permadeath progression

On the presentation side, it features:

  • Graphical user interface
  • Animated 2D tile graphics
  • Original music
  • Sound effects
  • Full voice acting

All assets have been created by human artists, composers, and voice actors. The game contains no AI-generated assets.

Area Highlights
Visuals & Animation Over 23,000 hand-drawn 64×96 base tiles (with monsters up to 192×192 pixels), animations, spells, rays, and explosions.
Audio & Voiceovers Over 1,100 sound effects powered by FMOD, 37 music tracks (14 original compositions), and 5,000+ lines recorded by 96 voice actors across 111 roles.
Expanded Mechanics 200+ spells across 14 levels, playable Gnoll race, level 50 progression cap, weapon set hot-swapping, and full in-game item and monster information.
Online Features GnollHack Account (global leaderboards), cross-player bones file sharing, tournament integration, and the optional Gnoll Overseer AI game assistant.

Architecture & Technology Stack

GnollHack connects the C code base from NetHack to a modern, multi-threaded C# / .NET MAUI frontend. The C game loop runs on its own background thread and communicates with the C# user interface through P/Invoke callbacks based on NetHack’s window interface.

Layer Technology Role in GnollHack
Core Game Engine C99 Extended NetHack 3.6.2 game logic
Native Bridge C / C# P/Invoke Interop layer marshaling map layers, menus, and input events
Cross-Platform Client .NET MAUI (C# / XAML) Single app for Windows (WinUI 3), Android, and iOS / macOS (Apple Silicon)
2D Graphics Engine SkiaSharp (Skia) GPU rendering of the multi-layer tile map and parts of the user interface
Audio Middleware FMOD Studio Sound effects, music, and voice playback
Data Compilation Pipeline makedefs, levcomp, dgncomp, dlb Build-time C tools that generate headers, compile .des level scripts into binary .lev files, and pack the nhdat archive

Repository Layout

GnollHack/
├── dat/                 # Game data sources, text databases, and level descriptions (.des)
├── DEVEL/               # Coding style guidelines (code_style.txt) and performance benchmarks
├── doc/                 # Classic manual pages and guidebook sources
├── include/             # C core engine header files (.h)
├── src/                 # C core engine source files (.c)
├── sys/                 # Platform-specific bootstrap and system integration code
├── util/                # Build-time compilers and generators (makedefs, levcomp, dgncomp, dlb)
└── win/win32/           # Solutions, native wrappers, and cross-platform frontend code
    ├── vs/              # GnollHack.sln — C engine, build utilities, and native platform libraries
    └── xpl/             # Cross-platform client
        ├── GnollHackM/      # GnollHackM.sln — .NET 10 MAUI client (Android, iOS, Windows WinUI 3)
        ├── GnollHackX/      # Shared C# game client logic, SkiaSharp renderer, and XAML sources
        ├── gnollhackwin/    # Native Windows C library project (gnollhackwin.dll)
        ├── gnollhackdroid/  # Native Android C library project (libgnollhackdroid.so via WSL)
        ├── gnollhackios/    # Native iOS C library project (libgnollhackios.a via macOS build host)
        └── libshare/        # C native bridge connecting the C core to the C# frontend

Building from Source

GnollHack uses a two-solution build pipeline in Visual Studio 2026:

  1. Native & Asset Pipeline (win/win32/vs/GnollHack.sln) — Compiles the build utilities (makedefs, levcomp, dgncomp, dlb), processes game data into the nhdat archive, compiles the native C engine libraries (gnollhackwin.dll, libgnollhackdroid.so, libgnollhackios.a), transforms shared XAML views into .NET MAUI format, and stages external tile sheets and FMOD sound banks.
  2. Managed Client (win/win32/xpl/GnollHackM/GnollHackM.sln) — Compiles and packages the .NET MAUI frontend together with the staged native libraries and assets from Step 1.

Because tile sheets (GnollHackTileSet) and FMOD sound banks (GnollHackSoundSet) are maintained in dedicated asset repositories, read the build overview before building for the first time:

Contributing & Community

License & Credits

GnollHack is developed and maintained by Sound Mind Games (Hyvän mielen pelit ry), a Finnish nonprofit organization working in the fields of gaming and mental health.

评论

暂无评论