Inspiration

Procedural generation often runs into the problem of repetitiveness. Although there are millions of possibilities, there is little meaningful difference between individual items. The lack of perceived variety is a major drawback and can hurt the replayability of a game.

What it does

Lindengen attempts to approach the problem of procedural generation from the other direction. Instead of procedurally generating locations and worlds, Lindengen attempts to generate stories to play. Using a set of user definable rewrite rules, it generates a graph representing key elements the game.

How I built it

I used Sprache, a C# library, to parse the grammar for the language and processed the graph transformations in C#.

Challenges I ran into

Graph rewriting is much harder than string rewriting. Also, identifying subgraphs is tricky.

Accomplishments that I'm proud of

Being able to parse expressions where the terms of the expressions don't match exactly.

What I learned

A good amount of graph theory.

What's next for LindenGen

Integrating the output into an actual game.

Built With

Share this project:

Updates

Submission history