griflib 2.2026.923

dotnet add package griflib --version 2.2026.923
                    
NuGet\Install-Package griflib -Version 2.2026.923
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="griflib" Version="2.2026.923" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="griflib" Version="2.2026.923" />
                    
Directory.Packages.props
<PackageReference Include="griflib" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add griflib --version 2.2026.923
                    
#r "nuget: griflib, 2.2026.923"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package griflib@2.2026.923
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=griflib&version=2.2026.923
                    
Install as a Cake Addin
#tool nuget:?package=griflib&version=2.2026.923
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • 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