Database-Driven MUD design

Started by
0 comments, last by jHaskell 10 years, 11 months ago

I have relatively recently began coding a proprietary MUD game engine based upon a database backend (due to the wrapping of ADO.NET compliance it is a kind of non-issue having to plead fealty to one database solution rather than another). There are many different scenarios to consider in the design of the table structure but I believe I could very realistically use SQL in place of an accessory scripting language processed through an interpreter. Does it sound realistic to store every specific piece of data in the multi-user world in the database to the point of all interaction taking place ( as well as all displayed information ) through the dynamic manipulating of that data asynchronously by queries sent from each thread?

My current framework has both a 'Commands' and a 'States' table of which both have related records in the 'Effects' table. Ideally I would like to have all of the queries for database manipulation stored in the 'Effects' table. A command would trigger a related effect and an entity would have a state that would trigger a related effect on an interval of main game loop ticks in terms of that particular players thread and scope.

Could anyone think of any sort of action I would not be able to accommodate through abstracting away from this foundational system? If I am unclearly communicating anything just let me know and I would be more than happy to answer any questions or elaborate! (I am new to the whole forum thing).

Advertisement

My current framework has both a 'Commands' and a 'States' table of which both have related records in the 'Effects' table. Ideally I would like to have all of the queries for database manipulation stored in the 'Effects' table. A command would trigger a related effect and an entity would have a state that would trigger a related effect on an interval of main game loop ticks in terms of that particular players thread and scope.

It kinda sounds there like you're trying to make your backend database into more of a middle end core of capabilities. Can you give an example of a specific command? IE, if I enter "attack target", what records in what tables are used to resolve that command?

This topic is closed to new replies.

Advertisement