Posted by
| Nick Gammon
Australia (23,042 posts) bio
Forum Administrator |
Message
| This is a good question. :-)
In many ways I think that MUSHclient is feature-rich, fast and stable. Thus there isn't a huge motivation to do heaps of work on it. I don't necessarily think that software for which updates are released every week is better than software which is occasionally updated. For example, Lua is only occasionally improved.
Having said that, there is room for improvement:
- The user interface could be improved (eg. adding drag-and-drop, better organisation of lists of triggers, etc.)
- The code could be cleaned up - I learnt a lot in the 15 years I have been developing it. For example, STL could be used more.
- Some things which are done in a number of different ways could be done in a more standard way (eg. the GetInfo function calls)
- Better handling of incoming lines (to make changing text simpler for one thing) could help
- A GUI interface to databases would be nice (eg. for databases of equipment, rooms, mobs etc.)
Also new features could be added, especially in conjunction with server-side changes, which were discussed fairly recently on the mudstandards.org forum. For example:
- MUD mapping
- Status bars, group/raid info
- Chat panes
- Inventory panes
- Character equipment panes
- Spell info
(Some of these are currently available as miniwindow-based plugins).
[EDIT] (April 2015) Warning: Domain name mudstandards.org has been abandoned. That site is now an adult products shop.
However, there was resistance to major changes to standards at the server side, particularly if they involved some sort of GUI interface.
Probably the big issue for me is, given I have only a finite amount of time to spend on programming, which is the best use of my time? Possible directions are:
- Major improvements to MUSHclient
- Something that makes a lot of money
- Something that is very popular
- An improved text-based MUD client written from scratch
- Some sort of graphical RPG client (and maybe write a server to go with it)
- Improvements to the server end (examples are my recent projects to download mapper information, caching frequently-sent data, and a Lua-based quest system)
- Some other sort of game, not directly related to MUDs
- Something that runs on the iPad / iPhone / iPod.
- Something involving 3D graphics (eg. Blender / OpenGL)
- Some sort of game-maker system (eg. a program that generates MUD game servers from a parameterized list)
- An improved Area Editor for Smaug (the old one doesn't read the new file formats)
- Training videos (eg. on YouTube) showing how to use MUSHclient, or run a MUD, or program in Lua, or something like that
- Getting involved in some other development team (eg. for a graphical MMO game, in some capacity)
- Making podcasts / vodcasts about subjects that interest me
Some of these possibilities are more "modern" than continuing to make huge changes to MUSHclient. For example, YouTube wasn't around in 1995, so doing YouTube training wasn't an option on those days. Nor was 3D graphics as easy to implement.
It seems to me that the games / genres that have remained popular are the ones that evolved with technological advances. For example the old Diablo I and Diablo II games, eventually morphed into World of Warcraft. The old "fixed camera, top-down view" is rather old hat these days. Meanwhile the old "tower defence" games morphed into Plants Vs Zombies, a rather addictive game available on both the PC and iPhone / iPad.
This is why I found some of the discussions on the mudstandards forum a bit frustrating. There was a school of thought that we shouldn't change anything that wouldn't be backwards compatible with old clients. It would be like if World of Warcraft's designers were told the game had to run on the old 25 x 80 character terminals, in text only. It wouldn't have flown.
My brief answer is, I intend at present to keep supporting MUSHclient in this way:
- Answering questions on the forum, particularly ones that others cannot easily answer, and which are not in the FAQ
- Fixing demonstrated bugs (eg. crashes / loops / incorrect behaviour)
- Making small improvements where the benefit can be shown to be worth the effort (for example, the recently-added mouse scroll wheel support).
- Fixing documentation problems
- Writing plugins to demonstrate what the client can do - sometimes the power is there but it is not obvious how to use it.
- Doing more training videos to show how to accomplish specific tasks
Since the source has been released publicly, anyone who wants to make more changes is welcome to do so. However a "better" option (depending on your needs) might be to write a new client from scratch, using the existing public code as a guideline on how to do things like embed scripting, do miniwindow graphics, handle sound, etc. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | top |
|