Welcome to OSRlib.NET!
OSRlib.NET is a .NET Core class library written in C# that provides an API for turn-based role-playing games (RPGs) in the Old School Renaissance (OSR) style.
It's designed for use as the core rules engine of a computer role-playing game (CRPG) in the Dungeons & Dragons Basic/Expert (or B/X) flavor, and lends itself well to Bard's Tale-style turn-based game play.
Add your own UI to interact with the OSRlib.NET API and you have yourself a turn-based RPG.
Object model
The object model of OSRlib is intended to be simple and intuitive. The following sections describe the primary classes and their relationships.
Being
A Being is any living entity that can initiate interaction with another entity within the game world, or can be interacted with by another Being. Player characters (PCs), non-player characters (NPCs), and monsters are all Beings.
Party
A Party is a collection of Beings. Two Party objects are added to an Encounter, whose Beings can then battle.
Adventure, Dungeon, & Encounter
An Adventure consists of one or more Dungeons. Each Dungeon is comprised of one or more Encounters.
An Encounter is typically populated with a monster Party. Adding a player Party to the Encounter starts the Encounter (begins the battle).