Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.

Due to spam on this forum, all posts now need moderator approval.

 Entire forum ➜ MUDs ➜ Announcements ➜ Introducing Mudlet

Introducing Mudlet

It is now over 60 days since the last post. This thread is closed.     Refresh page


Posted by Vadi2   (5 posts)  Bio
Date Sat 04 Oct 2008 11:44 PM (UTC)

Amended on Sat 04 Oct 2008 11:45 PM (UTC) by Vadi2

Message
Hi!

I'd like to announce a new mud client, Mudlet ( http://mudlet.org/ ). It's being made from scratch, designed to be fast, easy to use, and easy to script with - while also offering some very powerful features. In short, the best of all clients without the bugginess or complexities (and we know what we're doing, too!)

The client will also feature some really nice things not found in existing clients - like Mud Styles ( http://mudlet.org/63/mud-styles-update/ ), advanced scripting support (linear and multi-threaded approaches, along with support for many scripting languages such as Lua, Python, Perl, Ruby), built-in app store, and other nice stuff.

More information is available here: http://mudlet.org/about/ .

Beta testing

The client isn't out yet, but you're welcome to sign up for the beta test notifications here ( http://mudlet.org/download/ ). The beta will be open - so anyone who'd like to give it a try will be welcome to.

Ideas

Have an idea you'd like to see implemented in the client? Yours thoughts are welcome. Feel free to post all your stuff here: http://forums.mudlet.org/forum/fresh-ideas . We have many of our own, but new input is always useful.

Windows? Linux? Mac?

The client will definitely run natively on Windows and Linux. Macs - chances are looking good too, but no guarantees.

Cost?

Zero, zilch, nada. The client is free software and open source. Really! That also means you're welcome to contribute to making it better :)

Technical stuff

The client is coded in C++, using Qt 4 as the gui toolkit. Lua, Python, Perl and Ruby will be the supported scripting languages at first - and more will be added as they're needed.

Forums

We got forums over here ( http://forums.mudlet.org/ ), feel free to post stuff.


Comments? Questions? :)
Top

Posted by David Haley   USA  (3,881 posts)  Bio
Date Reply #1 on Sun 05 Oct 2008 12:04 AM (UTC)
Message
Isn't it a little bad form to advertise a client on another client's website, especially when you imply that other clients are buggy and their writers don't know what they're doing compared to you?

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
Top

Posted by Vadi2   (5 posts)  Bio
Date Reply #2 on Sun 05 Oct 2008 02:26 AM (UTC)
Message
Just thought I'd let people know about this. In regards to a buggy client, I'm sure you would know that MUSH doesn't fit this - but it does fit the complex part unfortunately. zMUD and cMUD are buggy.

Been waiting for Nick's wxWidgets client that I heard of for a long while, but since nothing much (that I heard) seems to be moving, decided to start out myself.

Though, if this thread is inappropriate, please remove it.
Top

Posted by Worstje   Netherlands  (899 posts)  Bio
Date Reply #3 on Sun 05 Oct 2008 04:23 AM (UTC)
Message
Frankly, I think you'll have a small chance of succeeding. What you have looks nice, but somehow I can't shake the feeling that it lacks a solid foundation.

I have personally never been fond of cross-platform GUI toolkits - simply because I have never seen it done right. Every implementation of one that I have seen feels odd, bulky, out of place and tends to have redraw glitches. In my opinion, the mere fact you are considering HTML based displays means I doubt the performance will remain good over time. Sure, existing browser engines like Gecko and Webkit are opensource and could be adjusted, but from scratch there is nothing you can make with half the features and efficiency.

But, not to sound too grim, I hope your claims are going to be true and that it will be a very good client. There must be a market for the mudstyles thing. :)
Top

Posted by Nick Gammon   Australia  (23,173 posts)  Bio   Forum Administrator
Date Reply #4 on Sun 05 Oct 2008 06:04 AM (UTC)

Amended on Sun 05 Oct 2008 06:53 AM (UTC) by Nick Gammon

Message
I don't have a problem with the announcement - after all MUSHclient is free, so another free client isn't going to reduce my revenue. :-)

I acknowledge that MUSHclient has some features that I would do differently if I had the energy to rewrite the client from scratch - for example script functions could be more consistent, and with less duplication of the way things can be done.

I see from your forum that you have people busily describing what they dislike about MUSHclient/zMUD/cMUD/MM2K so that is healthy starting point. What perhaps is more subtle and easier to miss is the things that work smoothly perhaps without your noticing it. In other words, a lot of things in MUSHclient are the result of design decisions, tradeoffs if you like, where a feature that doesn't quite work the way you want, actually helps something else work well.

I see a comment about the user interface in other clients to be "quite cluttered". This is hard to avoid, either you have big cluttered dialogs, or lots of small dialogs, where you start wondering under which dialog a feature is to be found. Still, hopefully you solve that, and do it in a way we will all want to copy. :)

I hope you incorporate Lua scripting - I would recommend that in any case. [EDIT] I notice when re-reading your post you mention Lua, sorry for not reading more carefully.

Lua would also be a good choice for saving the world file - saves writing an XML writer and parser, especially if you are using Lua anyway.

The thing about big programs like zMUD and MUSHclient is that they gradually evolve - in their cases over something like over 13 years. It is easy to look back after 10 years and say "oh, I wish I had done that differently". Hopefully you will learn from our mistakes and not repeat them.

The source for MUSHclient is publicly available, so you are welcome to browse it for useful routines (eg. base 64 decoding, UTF8 handling and so on). I hope that anything that I have clearly written myself will be attributed, and the same for other authors. I am sure that we are all working together for the good of the MUD community and that this will not be a problem.

I think some sort of module / plugin system is a must - that lets people extend the client without worrying about what triggers / scripts / datanames other scripters might be using.

I had a look at wxWidgets a while ago - this gave Windows / Linux / Mac compatability, however I found that, at the time, it was a bit flaky. If you are using that, hopefully it has improved since then.

I notice a comment on your forum:

Quote:

So, the buddy package must access a variable set in the session. Thus, now you have a namespace question. The buddy package could document that the session should define a variable called "buddylist". But, what if some other package you want to use decides to use the same name?


This is solved in MUSHclient by plugin state files - something like a buddy list (or ignore list, etc.) can be in a state file. There is a state file per plugin, per world. Thus the plugin itself doesn't have to have buddy lists in it, and presumably you have different buddies on different worlds, so the state file idea works well there.




You have some good ideas there - and every now and then another one pops into my head too. ;)

I was thinking of better SQLite support, an SQL database would be good for sharing things (eg. names of spells) between different characters, who play on the same MUD.

All the best with the new project, and maybe some of the regular posters here will drop in on your forum and add some more suggestions too.




- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Vadi2   (5 posts)  Bio
Date Reply #5 on Sun 05 Oct 2008 02:03 PM (UTC)
Message
Quote:
I have personally never been fond of cross-platform GUI toolkits - simply because I have never seen it done right.


Neither have I, but there are two good ones (GTK+ and Qt) that we considered, and went with Qt. Google Earth fyi uses Qt, so it's sort of a "tested" technology.

Quote:
In my opinion, the mere fact you are considering HTML based displays means I doubt the performance will remain good over time.


We've just implemented a secondary, plain-text display for people on old hardware / speed freak types. Html rendering is slower than plain text rendering, and combined with the fact that we're fully supporting Unicode (means a ton of languages are supported, but more data to process), will slow things down too. But more programs use unicode as it is.

Quote:
I see a comment about the user interface in other clients to be "quite cluttered". This is hard to avoid, either you have big cluttered dialogs, or lots of small dialogs, where you start wondering under which dialog a feature is to be found. Still, hopefully you solve that, and do it in a way we will all want to copy. :)


I'm definitely trying, as I'm really big into good interfaces now. Hopefully the result will impress with intuitiveness and functionality :)

Quote:
Hopefully you will learn from our mistakes and not repeat them.


We definitely are, so of course credit will be given where it's due.

No, we aren't using wxWidgets, I dislike it as it seems to be the "jack of all trades, master of none". Doesn't manage to fit in any desktop that I've seen it tried, it tends to draw it's widgets differently. Qt here - looks native on Windows, KDE, and Mac, and half-native on Gnome (the last part makes me grumpy, but what're you going to do when half of the team likes it).
Top

Posted by David Haley   USA  (3,881 posts)  Bio
Date Reply #6 on Sun 05 Oct 2008 02:58 PM (UTC)
Message
Sorry if I sounded a little miffed: it was more the "we're better than everyone" than the fact that it was a new client that bothered me. :) If MUSHclient doesn't fit into the buggy category you were talking about, that satisfies me...

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
Top

Posted by Vadi2   (5 posts)  Bio
Date Reply #7 on Sun 05 Oct 2008 04:37 PM (UTC)
Message
Not at all, and sorry that I didn't make that clear :)
Top

Posted by Vadi2   (5 posts)  Bio
Date Reply #8 on Sat 08 Nov 2008 02:46 PM (UTC)
Message
See http://mudlet.org/134/mudlet-pre-alpha/. Beta was delayed, but a pre-alpha started - if you have good lua experience, please give this a try!

Sneak peek at what you can do: input manipulation. Heiko made this small sample script...

regex: say.*(\w+).*(\w*).*(.*)
command: sendRaw( "say " .. matches[3] .." " .. matches[1] .." ".. matches[2] )

result:
http://www.ubuntu-pics.de/bild/5401/screenshot_02_W81vdU.png

And other interesting stuff. If you know Lua well, please join in the testing smile.gif.
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


29,153 views.

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.