Your ideal client

by Unknown

Back to Mechanic's Corner.

Unknown2008-07-10 02:32:19
Okay, so I'm undertaking the endeavor of building a custom client. I'm using the MUSHclient code as my base (licensing to be worked out eventually, if I even reach that bridge), so keep that in mind. However, I'm not just hacking up the MUSHclient code. I started my own brand new project and have been pulling in select portions of the MUSHclient code to make the basics work first.

So far, I have simple triggers, simple aliases, and Lua scripting integrated. I need to re-design and re-write the colors code, I think, because the way MUSHclient handles the custom colors and styles has always bugged me a bit.

I'm planning to use XML for saving and loading settings, and I want to integrate the Scintilla editor code (used in CMUD for scripting). Apart from this, I don't yet have a clear picture of where the application will go or how it will end up.

I figured I might as well get feedback from the community as to what features you feel are lacking or could just be improved from the clients you use. Note that my client will be geared towards Lusternia (in fact, I plan to make it only connect to the Lusternia server, allowing you to configure different characters only) and it is completely custom code. I'm able to do this in any way I like, and I'm a fairly decent coder, especially with C++. That doesn't mean I'm going to build the best mapper GUI ever or anything too large like that, though.

Finally, due to time restrictions, motivations, and even licensing issues, there is no guarantee that this client would ever make it to the hands of anyone other than myself. It is my hope to share it with others one day, but please don't get your hopes up (and try not to fill my inbox with queries about it, unless you've got great ideas to share).

Anyone here have suggestions for my client? Comments on specific things you like or dislike about other clients?

Thanks in advance!
waggle.gif
Unknown2008-07-10 04:14:06
Personally all I'd want is:

A) an editor that's not horrible. (See: CMUD. zMUD classic's editor was much much better laid out)
B) Events. (Events are yummy)
C) Speed. Above all things this is crucial.

I'm curious though, why would you make it Lusternia-only? Why not make it any MUD..

Hell dude the MUD community is starved for a fast, featured client that has a solid proprietary coding language like CMUD, but without the trash/bloat/speed issues. Why not develop that alternative instead of building a Lusternia only app?
Simimi2008-07-10 08:08:47
I won't happen but I would love a --no-gui option, Personally.
Unknown2008-07-10 11:42:37
I'll work on a nice editor feature for the client, especially to be used with the ATCP composer packets. I hope to add events to the client, too, as I absolutely love event-driven coding (and, yes, CMUD seems to be far too slow at handling them). I'm not building my own proprietary script language, though. I'm using Lua only, with no plans at this moment to add all the WSH-compatible languages, the way MUSHclient has.

I'm still deciding if I want to make it more general or make it only for Lusternia. I know that making it more general will give a much wider audience and could potentially even make me some money on the side, but Lusternia is the game I love and want to encourage others to visit and stay. The GUI features I build will be done with Lusternia in mind, and I have no plans to make them scriptable or too dynamic, simply because that takes a lot more thought and coding. Heh.

Sorry, Simimi, but one of my two main reasons for doing my own client is to get my GUI setup the way I want, and so eliminating the GUI is kinda out of the question. (The other main reason is the "need for speed.")
Bashara2008-07-10 18:08:39
Just make a client that will allow me to plug myself into the game like all the futuristic SciFi movies have. That'd be really awesome.
Desitrus2008-07-10 18:14:24
QUOTE(Zarquan @ Jul 10 2008, 06:42 AM) 530953
I'll work on a nice editor feature for the client, especially to be used with the ATCP composer packets. I hope to add events to the client, too, as I absolutely love event-driven coding (and, yes, CMUD seems to be far too slow at handling them). I'm not building my own proprietary script language, though. I'm using Lua only, with no plans at this moment to add all the WSH-compatible languages, the way MUSHclient has.

I'm still deciding if I want to make it more general or make it only for Lusternia. I know that making it more general will give a much wider audience and could potentially even make me some money on the side, but Lusternia is the game I love and want to encourage others to visit and stay. The GUI features I build will be done with Lusternia in mind, and I have no plans to make them scriptable or too dynamic, simply because that takes a lot more thought and coding. Heh.

Sorry, Simimi, but one of my two main reasons for doing my own client is to get my GUI setup the way I want, and so eliminating the GUI is kinda out of the question. (The other main reason is the "need for speed.")


Proxy!
Unknown2008-07-10 18:17:18
1) Decent GUI for organizational purposes. MUST allow for one to check variables.
2) Event-driven.
3) Specific events necessary/handy:
Move/roomload (if possible)
Received Line
Received Prompt
Shutdown/Module unload
4) Modular. I cannot stress modular enough.

That's about all I'm looking for in a client.
Gwylifar2008-07-10 18:41:42
QUOTE(Bashara @ Jul 10 2008, 02:08 PM) 531028
Just make a client that will allow me to plug myself into the game like all the futuristic SciFi movies have. That'd be really awesome.

At least until you find out whether your real body conglutinates!
Saaga2008-07-10 18:50:17
Something with a pwetty background!

No, seriously, for me the speed is the main thing. I am learning a bit of lua currently, thanks to Nezha.
Unknown2008-07-10 19:16:42
QUOTE(Desitrus @ Jul 10 2008, 02:14 PM) 531034
Proxy!


You mean you want support for a SOCKS5 proxy server, right? MUSHclient already supports that, but I've got that commented out in my own code so far. I don't use a proxy server myself, so it would be a pain for me to test. I'll just uncomment all the proxy stuff and hope it works. Heh.


QUOTE(Eldritch Ex Machina @ Jul 10 2008, 02:17 PM) 531035
1) Decent GUI for organizational purposes. MUST allow for one to check variables.
2) Event-driven.
3) Specific events necessary/handy:
Move/roomload (if possible)
Received Line
Received Prompt
Shutdown/Module unload
4) Modular. I cannot stress modular enough.

That's about all I'm looking for in a client.


Can you clarify the "MUST allow for one to check variables" part? I haven't gotten anything at all for a GUI yet (other than what MS gave me as the boilerplate code), and I'm considering the best ways to lay things out, from configurable options and preferences to settings and scripts.

I'll implement events in a similar fashion to CMUD, where there are some built-in events that fire on certain lower level things and also allow user-defined events for anything they want to raise in their own scripting.

It'll be modular in the sense that it'll support plugins the way MUSHclient supports them, or at least that's the plan. Only been working on it for a couple weeks so far, and the XML stuff and plugin stuff is all still commented out or missing.
Desitrus2008-07-11 06:01:34
No, by proxy I meant develop a proxy curing system that allows it to be used with any client. I have heard one of these exists... somewhere.
Unknown2008-07-11 11:11:58
QUOTE(Desitrus @ Jul 11 2008, 02:01 AM) 531274
No, by proxy I meant develop a proxy curing system that allows it to be used with any client. I have heard one of these exists... somewhere.


In that case, no. You can write your own proxy curing system in MudBot's ILua. I'm writing a client, not another proxy.
Unknown2008-07-11 11:53:19
For Variables, I want to be able to crack open some list during runtime of all active globals and be able to check their values for easy debgunning without needing to modify my lua to do that for me.
Unknown2008-07-11 18:26:36
I'm actually embarking on a somewhat similar goal... and here are the things I had in mind for my own project. Mine's a lot longer in coming, I imagine, since I plan to write mine from the ground up using wxWidgets in order to make it compilable/runnable on Linux, Windows, and OSX. It bugs me that there is no MUD client available for the three major OS players.


1.) Support for Lua. It's too popular a coding language for Muds not to include support for.
2.) Support for Ruby. I think it makes a great basis for mud-coding due to its complete rooting in objects. Also, it's a fairly easy language to pick up for newbies.
3.) configurable output windows (more than one, that is, and can be triggered via the supported scripting languages).
4.) Plugins! Pain in the butt, yes... but extensible smells good to me.


Of course, ansi capabilities are a must. I tend to prefer a fairly basic GUI, though... I don't really want buttons, though I'll provide support for them in the client. But I do want the ability to have different output areas. Towards that end, I'd -like- to provide a no-gui option, and just have the ability to use different parts of the screen as various output 'windows'. This, however, would likely be a later addition to the client.

Like I said.. this is not gonna happen any time real soon. but I'm working on the design aspects now, and I think if I actually stick with it it could be pretty slick. The world deserved a multi-platform mud client that isn't written in java and slower than molasses.
Unknown2008-07-13 17:21:55
I've added a new page to my web site to try and keep track of my progress on the client. I'll do my best to keep it updated with feature requests (the ones I plan to implement, at least) and things that are completed or on my todo list.

For anyone interested, check out the page and feel free to send suggestions or other feedback!
Unknown2008-07-27 12:03:31
Well, I'm officially putting my own development on hold until I test out the new feature in MUSHclient 4.34. Nick has added MiniWindows! They look far more interesting than anything I was planning to implement GUI-wise, so I need to see if they'll do everything I ever wanted in MUSHclient now. smile.gif
Gartinua2008-07-28 06:05:08
Plug-ins would be nice, as would the ability to create your own windows.

Kildclient allows you to do pretty much whatever you want using perl-gtk, but it would be nice if it was more integrated and mud-aware (I don't think it understands ATCP for example). It also requires you know perl which is not everyone's first choice of mud scripting languages.

Acrune2008-07-28 22:04:50
I want to be able to write my system in this language.
Charune2008-07-28 22:09:06
QUOTE(Acrune @ Jul 28 2008, 06:04 PM) 538166
I want to be able to write my system in this language.

++++++++++>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.>.
Unknown2008-07-29 11:04:06
Yeah, let me know how that works out for you... quickexit.gif

P.S. Miniwindows are pretty cool... so far.