Database concerns
Posted: Wed Mar 19, 2008 4:30 pm
A few things have come up in day-to-day over at Exodus, where the system is getting very active use, that bear some discussion over here with a mind to improving the system and avoiding undue frustration. Both stem from our use of PC name as a unique identifier.
1. Character rebuilds. These inevitably happen with some frequency. Player X forgets to take the feat they'd meant to, chooses the wrong diety, doesn't realize that tracking is based on Survival, etc. Everyone is used to the old routine- ask a DM to wipe your vault, then re-roll the PC. Except now, with the same name and CDKey, the "rebuilt" PC inherits the same DB records, losing starting gold, getting default armor, any differences in attributes become permanent stat damage, the list goes on. Is there a way we could purge some or all of the data on a particular CharID via scripts, or force a new one to be assigned somehow?
2. Name changes. The flip side of this is the troublesome SetName() script- we've disabled this from PC DMFI tools, but it's still in the DM tools for use on NPCs and such. Inevitably, some DMs are going to miss the memo that says "never change PC names under any circumstances", when PCs get renamed, the next time they log in, they're treated like a brand new PC, issued new starting gold, and whatever they were wearing in the armor slot is irrevocably destroyed by the scripts that normally clean up default starting armor- and, of course, all their lifetime of persistency data for the PC is severed. PCs want name changes for all sorts of reasons, I'd say maybe a third of all rebuilds (problematic for reasons above) are to get new names. If we could tie pwdata to CharID, and record OriginalName along with CurrentName in characters, maybe we could get around the sticky mess.
On the other hand, maybe it's easier just to find the DMFI DM-renaming tool and block it vs. PCs to stopgap the problem. Still doesn't help us with the rebuild issues, though.
1. Character rebuilds. These inevitably happen with some frequency. Player X forgets to take the feat they'd meant to, chooses the wrong diety, doesn't realize that tracking is based on Survival, etc. Everyone is used to the old routine- ask a DM to wipe your vault, then re-roll the PC. Except now, with the same name and CDKey, the "rebuilt" PC inherits the same DB records, losing starting gold, getting default armor, any differences in attributes become permanent stat damage, the list goes on. Is there a way we could purge some or all of the data on a particular CharID via scripts, or force a new one to be assigned somehow?
2. Name changes. The flip side of this is the troublesome SetName() script- we've disabled this from PC DMFI tools, but it's still in the DM tools for use on NPCs and such. Inevitably, some DMs are going to miss the memo that says "never change PC names under any circumstances", when PCs get renamed, the next time they log in, they're treated like a brand new PC, issued new starting gold, and whatever they were wearing in the armor slot is irrevocably destroyed by the scripts that normally clean up default starting armor- and, of course, all their lifetime of persistency data for the PC is severed. PCs want name changes for all sorts of reasons, I'd say maybe a third of all rebuilds (problematic for reasons above) are to get new names. If we could tie pwdata to CharID, and record OriginalName along with CurrentName in characters, maybe we could get around the sticky mess.
On the other hand, maybe it's easier just to find the DMFI DM-renaming tool and block it vs. PCs to stopgap the problem. Still doesn't help us with the rebuild issues, though.