Tool for parsing game data files - does it exist? Is it needed?
Posted: Wed Apr 16, 2025 1:39 pm
I'm working on some tool for Factorio. If and when it's finished I'll share more about it.
For this purpose, I need to be able to parse prototypes from the game .lua data files and extract some of their properties.
Since I'm not completely sure what are the properties I'll need, I've been working (with some help from Claude) on a general framework that will take the files and parse all of their properties into strongly typed C# classes.
But this is getting a bit complicated and I'm wondering if I should continue expanding the parser, or if I should simplify things and focus only on those properties that I actually need.
So I've been wondering - does such a parsing tool already exist, in which case I could just integrate it into my project?
If not - is there demand for one? I figure that if there is such an open-source tool with data structures and parsing for the data, people could use that to handle the prototypes programmatically for a variety of applications. And if that is the case, it would make more sense to invest the time into making this framework fully general.
For this purpose, I need to be able to parse prototypes from the game .lua data files and extract some of their properties.
Since I'm not completely sure what are the properties I'll need, I've been working (with some help from Claude) on a general framework that will take the files and parse all of their properties into strongly typed C# classes.
But this is getting a bit complicated and I'm wondering if I should continue expanding the parser, or if I should simplify things and focus only on those properties that I actually need.
So I've been wondering - does such a parsing tool already exist, in which case I could just integrate it into my project?
If not - is there demand for one? I figure that if there is such an open-source tool with data structures and parsing for the data, people could use that to handle the prototypes programmatically for a variety of applications. And if that is the case, it would make more sense to invest the time into making this framework fully general.