- Rebuild the flags table - Right now, flags are defined as individual variables. I want to be able to have a flag name, value, abbreviation in one hash table.
- Change all db objects to true Object-Oriented code objects - Right now it's an array of hashes. I want an array of objects, indexed by dbref. If that's greek to you, no worries. I'll likely write a more eloquent and explanatory post in the near future about the objects and what they do and why I want to use them.
- XML db format. I want to dump out the db when it's saved into XML format. This will allow for portability, and a few other things. Plus, XML's cool. Again, proof of concept.
- Update the % substitutions - Lots of work here. %r and %t (carriage return and tab) aren't supported, ansi's not supported, and the way it's currently programmed is...inefficient, imnsho.
- think command - Unbelievably useful for testing things. Not currently supported and easy to implement.
- @chown needs to work better, for changing ownership.
- Encrypt passwords - Dear gods! Passwords are stored in plain text in the db. Have to encrypt those.
- Logging - Various levels of logging need to be done, including connection logging, system event logging (db dumps, @reloads, etc), and eventual support for the SUSPECT flag for command logging of suspect players.
- Ability to use 'create' on the login screen - Players need to be able to create themselves at the login screen.
- Break out config options in a .cnf file for the MU* to load.
- @doing should have a string length limit
- Autosay sucks. I hate it. Right now if you type something in that doesn't match a command, it will just say it. Now, some people might like this, so I will retain the feature, but as a flag. Not as a default hardcoded behaviour.
- ; (semicolon) needs to be changed so that it does an emote with no space between the character's name and the text. Right now, it's for something else. I want the behaviour of this codebase to be very similar to established "standards" for MU*ing.
- All code projects have to have a README and a Changelog. I will have to write these. Bleh.
- PerlMUD comes with a built-in 'topics' feature. I will redesign this to implement channels. Should channels log? Hmmm.
- Gender is currently part of @set, like a flag. I don't like that. We need a standardized @sex command.
- We need to be able to do non-standard attributes, so that we can move towards custom locks and things like that. &blah #123=Blah.
- @mail is needed - Have to harvest some ideas on best way to do this.
- I am going to hardcode the BBS. Myrrdin's +bb system is so universal. Every game has a BBS. So, this one will too, but it will be a better system, hardcoded.
- @moniker from MUX. I love having ansified names. I will do this. Yes, I will.
- An idea from Ti'Anna - @paste. This is a command from MOO where you type @paste
, hit enter. THen you paste in a whole whack of text that you want to show them, and type a . on a line to signify that you're done. Then, they get it spammed on their screen. I like this, I will do this. - The commands table will need to be rebuilt at some point. I know how I did it before and I don't think I want to do that again. I will have to come up with something new for that.
- IP/Site stored as attributes on a player. Currently the game doesn't record what IP you connected from. I may build in a +alts-style command, at some point.
- Standard error message of Huh? (Type "help" for help.)
- Guests - Guests on a MU* are limited in what they can do. They're like a player...with FAS. If that sounds mean, too bad.
- WHO - Oh gods...WHO. I hate the current WHO. I have to get it to behave like a regular WHO. And that means building an admin WHO as well.
- Look shows d/c'ed or dark players. Cannot have this.
- examine - See WHO. Oy.
- Recycle Bin - This was something I had done before. When you @recycle an object, it goes into the recycle bin, and can be @restore'd. One time only. Once something else is @recycled, your object is lost.
- inventory - See examine, see WHO. Oy x 2.
- Help files need to be reformatted, rewritten, and constantly, constantly, constantly updated. Ow. Programmers hatelovehatelovehate documentation.
- news file functionality - It's gotta be there. Why? Cause it's a standard.
- Ansi in the connect splash. Gotta be done. Just gotta be. :)
- Rebuild setting the various standard attr's (fail, ofail, succ, osucc, etc). Each one has its own subroutine, which is just dumb.
- Book objects need to be revisited. Not sure on these.
- Substitutions/evaluations need to be done on ALL messages, whether it's a page, an osucc, a whisper, whatever.
- Names need to be able to have spaces.
- @teleport needs to have arrive, depart, oarrive, odepart messages.
- I seem to remember that @find/@search stunk. I may have to revisit this.
- xyzzy will be added, as an homage. :) If you don't know what that is, Wikipedia is your friend.
- Aliases need to be enabled through @alias.
- @aconnect - Things to do when you connect.
- @dolist - Make a list of things to do and do them.
- Time and Date format - Again, needs to be standardized. Currently does it as a single value (1d, 32s, 14h). Needs to be in 00:00 format.
Thursday, February 28, 2008
ToDo List
Well, I had to get started somewhere. I've talked earlier about having to take out the http server engine from the PerlMUD code and reformat a lot of the code for stylistic and syntactic consistency. This is my first fell swoop of 'making it mine'. Now, I shall list a rather sizable list of bullet points that represent things that I am going to be doing on Purl to develop it.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment