Resolvería su problema abandonando C# y escribiendo su programa en Inform7. Inform7 es el lenguaje de programación más increíble que he visto y está específicamente diseñado para resolver su problema.
Lo increíble de Inform7 es que escribes tu aventura de texto en un lenguaje que se asemeja a las aventuras de texto. Por ejemplo, he aquí un fragmento de una de las aventuras código fuente de la muestra:
The iron-barred gate is a door.
"An iron-barred gate leads [gate direction]."
It is north of the Drawbridge and south of the Entrance Hall.
It is closed and openable.
Before entering the castle, try entering the gate instead.
Before going inside in the Drawbridge, try going north instead.
Understand "door" as the gate.
Esto añade un objeto para el juego - el objeto es una puerta, se le llama 'la puerta de barrotes de hierro'. Se entiende que una puerta está entre dos habitaciones, en este caso, el puente levadizo y el hall de entrada. Si el jugador intenta "entrar al puente levadizo", la lógica del juego sabrá que esto es lo mismo que "ir al norte", y entonces la lógica de la puerta determinará si la puerta está cerrada o no. Y así. Hace que escribir aventuras de texto sea extremadamente fácil.
¿Hay algún motivo particular por el que desee utilizar C# en lugar de un lenguaje específico de dominio como Inform7? Si su objetivo es aprender a escribir el código C# o cómo construir un analizador sintáctico o lo que sea, entonces hágalo usted mismo. Si su objetivo es escribir una aventura de texto, entonces usaría un lenguaje diseñado para eso.
Algunos 'Bases de datos' son más ligeros que otros, hay una razón algo así como sqlite no te conviene? – Textmode