fuzzball icon indicating copy to clipboard operation
fuzzball copied to clipboard

Use a "Real" DB for Backend

Open tanabi opened this issue 5 years ago • 1 comments

So right now we've got a weird home-brew database format that's basically a big text file. This is okay, and not terribly hard to parse, but when the MUCK has the DB loaded you can't interact with it other than through the MUCK. Further, the MUCK source code has hundreds of lines (maybe even thousands) dedicated to dealing with the database, properties, different data structures, etc.

The proposal is to replace that with a standard DB. I would recommend using a driver interface that enables multiple possible backends (SQLite, PostgreSQL, and MySQL being the likely amigos) but default to using SQLite, which we can even bundle with the code if we want to.

We can then clear out a lot of code and also get rid of a lot of weird inefficiencies (for example, all the times we loop over the entire DB just to do something basic). It would also enable third party programs to integrate with the DB -- for instance, a web-based room editor would be possible. Or admin management GUI tools that connect straight to the DB and perform operations.

Let the people who are experts at making DB's make DB's, and let's just make our game :)

tanabi avatar Apr 24 '19 02:04 tanabi