|You suggested recently a requirement for rotating images (which you did not provide suggested source for). I agreed that could be useful (although haven't seen it "in the wild" however) but I did it within a couple of days of being asked. |
I could see the benefit in this case of spending time on it.
For me, using my time involves a cost/benefit analysis. I'm not talking cash here, but a reward for time spent.
For example, adding miniwindows was a major time expenditure (even yesterday I spent the entire day improving documentation until my eyes went blurry). But the benefits are fairly obvious. MUDs I know of (like Aardwolf, God Wars, Achaea, et. al.) are using it to good effect to provide maps, gauges, chat logs, XP bars etc.
But rewriting the regular expression handler internally? This wouldn't have any tangible benefit to players. Or redoing the script engine? Now I am the first to admit that when I added scripting I hadn't heard of Lua, and didn't know much about the WSH. So it is really crappy, I admit that. But despite that, it seems to work. I get few complaints, if any, that simple scripting has major flaws or crashes.
It's a bit like Jumbo Jet designers wanting to provide 240v power, 110v power, 50 Hz and 60 Hz, NTSC and PAL on their jets for their customer's use "just in case" someone has a shaver or laptop charger that doesn't work with the supplied standard. But, people accept the limitations and work around them.
I have said time and time again that I know the source can be improved. It could be rewritten to get rid of MFC and then you could compile with g++. You could change all the MFC lists and maps to STL ones. You could improve the graphics. Scripting could be reworked. The GUI interface could be modernized and improved. The scripting functions could be tidied up to remove duplicates and inefficiency. The help file could be dragged into this decade. The installer could work better under Windows 7. The places files are put could be improved (eg. Documents folder).
Let's say I did that (or you did that). And let's say it took 100 hours. Probably twice that if the changes required documenting. That's a guess mind you. It might be 500 hours.
Now the question is, is that 100 to 500 hours better spent doing something else? Like maybe writing a new client from scratch using wxWidgets? Or making a fantastic mapper that works on every known MUD? Or writing a new client/server from scratch, maybe one that uses 3D graphics?
There are benefits to redoing the source, I can see. I probably won't be supporting it for the next 20 years, or even the next 10. So if it was rewritten to be easier to modify, that would be a help. But will people really be using MUSHclient in 10 years time? I am getting the feeling that with new consoles coming out (and even things like the iPhone/iPad with games on it) the market for MUD games will gradually dwindle.
Now it probably won't ever die, but could not MUSHclient in its current form, maybe with minor tweaks, not be used to service that "market" indefinitely?
Meanwhile, back to the scripting engine. Even making minor changes is likely to make existing scripts fail. I was worried that my change to the way the metatables are set up might even do that. Last month alone mushclient443.exe got 3424 hits on the web server, plus 685 hits for MUSHclient_4.43.zip. And those figures are generally consistent from month to month.
So, something like 4000 downloads a month, that's a lot of angry people if things change so that existing plugins don't work, or existing examples on this forum become invalid.
Here, let me show you something. I just logged into Aardwolf and typed their "clients" command, which shows how much each client is used based on its telnet identifications string.
| Clients in use on Aardwolf |
| Alclient | 1 |
| Ansi | 4 |
| Atlantis | 3 |
| Cmud | 35 |
| Dumb | 2 |
| Kildclient | 1 |
| Kmuddy | 1 |
| Mudlet | 3 |
| Mushclient | 123 |
| Mxit | 16 |
| Tf | 4 |
| Tintin | 8 |
| Tmc | 1 |
| Vt100 | 12 |
| Xterm | 1 |
| Zmud | 108 |
| Unidentified Clients | 29 |
| Unknown Clients | 2 |
I just want to point out that MUSHclient in its current form is the most popular one, easily. The second-most popular one is no longer being actively supported, particularly on Vista and Windows 7. Other clients, some of which have had more modern interfaces and a lot of work going into their design and implementation, have very low usage counts.
Once again, I am happy to make changes, or incorporate changes, that have some tangible end-player benefit. For example, rotating images, playing multiple sounds, playing background music, mappers, health bars, stuff like that. But I draw the line at changes for the sake of improvements to the code, where such changes may only benefit one or two people, those who actually read the source. And in fact, if major changes were made there it would simply make it harder for me to maintain the code, so that would actually be a negative change.
- Nick Gammon
| top |