griflib 2.2026.923
dotnet add package griflib --version 2.2026.923
NuGet\Install-Package griflib -Version 2.2026.923
<PackageReference Include="griflib" Version="2.2026.923" />
<PackageVersion Include="griflib" Version="2.2026.923" />
<PackageReference Include="griflib" />
paket add griflib --version 2.2026.923
#r "nuget: griflib, 2.2026.923"
#:package griflib@2.2026.923
#addin nuget:?package=griflib&version=2.2026.923
#tool nuget:?package=griflib&version=2.2026.923
GrifLib
GrifLib is a C# library designed to be used for running games and handling game data.
Overview
GrifLib is the engine library for GRIF, a game runner for interactive fiction games. It is designed to be a simple but extensible engine that can handle various styles of interactive fiction.
GrifLib can be integrated into other applications to provide game support such as scripting, in-memory data storage, and save/restore functionality.
Features
- Supports GRIF and JSON game formats
- DAGS scripting language for game logic
- In-memory data storage for static and modified game data
- Automatic save and load functionality with a top-level overlay
- Can return interleaved results including media information
- Can handle system events such as sleep
- Can stack multiple GRIF files for modular game design
- Outchannel support can be customized for different output methods
- Handles 64-bit integers for larger data values
- Scripts can have local variables for internal processing
- Many new built-in script functions
- @return command for exiting scripts immediately
- @while...@do...@endwhile loop structure
- @break and @continue commands for @for and @while loops
- IFGame and IFParser classes for interactive fiction game management
- IFGame provides Input and Output event stacks for external handling
- Improved IFParser with better adjective and preposition support
- @datetime() for getting local or UTC dates and/or times
- Colorized scripts when supported by calling application
- Built-in searchable help library
Sections
"GRIF" stands for "Game Runner Interactive Fiction". GRIF is a file format used to store interactive fiction game data. GrifLib provides the necessary tools to load, run, and manage these games files.
"GROD", or "Game Resource Overlay Dictionary", is a key component of GrifLib for managing game data. These are layered dictionary objects containing key/value pairs. Searching for a key starts at the top and proceeds through the layers until it is found. Modifications only happen to the top layer, so it can be used to save/restore the current game state.
"DAGS", or "Data Access Game Scripts", is the scripting language used in GrifLib for creating interactive fiction games. DAGS has functions to directly access GROD game data, to perform calculations and manipulations, and to output the results.
"IFGame" is a ready-built class for running GRIF games. It has an Initialize() routine to prepare the game, an Intro() routine to begin the game, and a GameStep() routine to manage each move. It has event handlers for input and output which can be redirected. It will handle OutChannel commands sent to the parent program from the game data, such as commands to save and load files.
"IFParser" can be used to parse the entered commands. It reads the GROD layers to determine verbs, nouns, adjectives, and prepositions. It will determine the proper script command to be run from the entered text, which is then passed to DAGS to run.
You can see all this come together in the Grif console application, found on Github.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.2026.923 | 70 | 9/24/2026 |
| 2.2026.5.25 | 205 | 5/25/2026 |
| 2.2026.5.15 | 133 | 5/15/2026 |
| 2.2026.4.11 | 146 | 4/12/2026 |
| 2.2026.3.31 | 138 | 3/31/2026 |
Version 2, for use with GRIF version 2