[Home] [Downloads] [Search] [Help/forum]

Gammon Software Solutions forum

See www.mushclient.com/spam for dealing with forum spam. Please read the MUSHclient FAQ!

[Folder]  Entire forum
-> [Folder]  SMAUG
. -> [Folder]  Lua
. . -> [Subject]  How is BabbleMud progressing?

Home  |  Users  |  Search  |  FAQ
Username:
Register forum user name
Password:
Forgotten password?

How is BabbleMud progressing?

[Reply to this subject]  Reply to this subject   [New subject]  Start a new subject   [Refresh] Refresh page


Posted by ThomasWatts   USA  (66 posts)  [Biography] bio
Date Mon 29 Oct 2007 08:36 PM (UTC)  quote  ]
Message
Since at least Nick and David are both working on BabbleMud, I figured this was a good enough place to ask. How is the coding/building progressing? Any mud/lua related tips to pass along to the masses?

P.S. I'm new here, I've been trying to sign up for the last two months unsuccessfully until Nick helped. Thanks Nick.
[Go to top] top

Posted by David Haley   USA  (3,881 posts)  [Biography] bio   Moderator
Date Reply #1 on Mon 29 Oct 2007 08:51 PM (UTC)  quote  ]
Message
Well, the short answer is that we haven't been working on it very much for a while. We had several starts, and each time realized we hadn't thought through exactly what we were doing. A lot of our thoughts are spread throughout the forum in various posts; unfortunately, it's not that easy to find them later on. Both of us have also been fairly busy; e.g., I've been wrapping up the last couple of years of grad school which has been fairly intense.

One point is that we're not sure that "just another text engine" is what we want to produce, no matter how cool its features might otherwise be. It might be a lot more interesting to produce a server that can talk to 'smart clients' in some interesting way. We've thrown around the idea of a graphical MUD, which of course introduces complexities of its own.

As for Lua tips... well, I'd say the following. Don't use it if you don't know why you're using it. If you're going to use it, you should be taking advantage of the features it offers, like coroutines, dynamic data structures, dynamic features in general, and so forth. I'm still going back and forth a little; I'm not sure how much to put in Lua and how much to put into a host, typed language e.g. C++ or Java. I'm a big fan of having types when you know what they should be. On the other hand, I'm leaning towards just putting everything into Lua. Don't really know yet. :-)

It's still on my backburner, I just haven't had a lot of time to play with it. I imagine/hope I will have more time once I graduate and have more or less normal work hours.

I'm sort of short on time right now and can't answer in more detail, but hopefully this answers the general question. :)

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
[Go to top] top

Posted by Nick Gammon   Australia  (18,770 posts)  [Biography] bio   Forum Administrator
Date Reply #2 on Mon 29 Oct 2007 09:09 PM (UTC)  quote  ]

Amended on Mon 29 Oct 2007 11:28 PM (UTC) by Nick Gammon

Message
Quote:

I've been trying to sign up for the last two months unsuccessfully until Nick helped.


Sorry for the delay, I don't read my emails all that often as they are 99% spam.

As for BabbleMud, I concur with David somewhat. We have both been busy doing other things, and there are times when I wonder whether the world needs another text-based MUD. To me it is a bit like designing a new black-and-white TV, when most people are using colour TVs, and if you really want a black-and-white TV there are some nice models already in existence.

I went off on a side-branch a bit a while back and did stuff for adding quests (tasks) to SMAUG, using Lua. That hopefully helped breath a bit more life back into an existing code base, without all the effort of starting from scratch.

I agree with David that perhaps some sort of graphical MUD is the way to go, acknowledging the almost certain higher development time such a thing would take.

It is interesting that every time you add a new feature, you are also adding to the building time for your virtual world. To take a simple example, say you originally had pure text in a MUD (that is, white text on black, or some form of monochrome). Then you enhance your engine to allow coloured text. Suddenly your building time is slowed down as you consider "what colour should this sentence be in?". For example, combat messages in red, healing messages in green, messages about water in blue, and so on.

Imagine for a moment that you could obtain an off-the-shelf MMORPG game engine, all you had to do was "paint" the virtual world. It would probably still be an enormously time-consuming exercise. Suddenly instead of saying "there is an angry wolf here baring its teeth at you", you need a picture of a wolf, some way of indicating visually it is angry, and some way of depicting it in combat with you, as opposed to merely staring at you peacefully. Multiply this by all the creatures in your world and you have a very big project ahead of you.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by ThomasWatts   USA  (66 posts)  [Biography] bio
Date Reply #3 on Mon 29 Oct 2007 10:36 PM (UTC)  quote  ]
Message
David said:
On the other hand, I'm leaning towards just putting everything into Lua.

In my small amount of fiddling with SMAUG and lua, I started off with Nick's wonderful tutorial of adding lua to SMAUGFuss, although I used SMAUG 1.4a. This was a mostly interesting experience as was converting to dynamic lookup using dlsym, also in SMAUGFuss, but not in 1.4a. I couldn't leave well enough alone and am now pushing everything possible into lua using a single mud wide lua_State. So far, the only things I use C for are passwords as well as input and output to and from client sockets. Which top thing I remember from that is that under Windows without Cygwin, dlopen requires a relative path to the executable, NULL doesn't work.

Overall, I think this forum is right nifty.
[Go to top] top

Posted by Nick Gammon   Australia  (18,770 posts)  [Biography] bio   Forum Administrator
Date Reply #4 on Mon 29 Oct 2007 11:30 PM (UTC)  quote  ]
Message
Quote:

I couldn't leave well enough alone and am now pushing everything possible into lua using a single mud wide lua_State.


I think that is a very interesting idea, and for one thing, using Lua solves all those problems that crop up often enough on this forum about copying/moving/modifying strings, allocating and freeing memory and so on. It is much easier in Lua.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
[Go to top] top

Posted by David Haley   USA  (3,881 posts)  [Biography] bio   Moderator
Date Reply #5 on Tue 30 Oct 2007 02:09 AM (UTC)  quote  ]
Message
A single MUD-wide state is the solution I adopted, for various reasons. (And those discussions can be found on this forum, I think, probably in Nick's posts about his experiences adding Lua to FUSS.)

My split about putting things into Lua isn't about game logic. That's easy for me: I think all of that should go into Lua. For me it's the things like networking and threading (??) which might or might not belong in the host. Maybe the code that shoves messages from source to target, depending on how those messages get set up in the first place. If I were to split, it would be low-level systems stuff in (e.g.) C++ and everything else in Lua.

It would be kind of like how LPMUDs have a driver that takes care of the low-level stuff, and they run LPC for the game logic; except that I see no need to support/maintain a whole language like LPC when Lua does the job very well.

David Haley aka Ksilyan
Head Programmer,
Legends of the Darkstone

http://david.the-haleys.org
[Go to top] 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.


2,747 views.

[Reply to this subject]  Reply to this subject   [New subject]  Start a new subject   [Refresh] Refresh page

Go to topic:           Search the forum


[Go to top] top

[Home]

Written by Nick Gammon - 5K

Comments to: Gammon Software support
[RH click to get RSS URL] Forum RSS feed ( http://www.gammon.com.au/rss/forum.xml )

[Best viewed with any browser - 2K]    [Internet Contents Rating Association (ICRA) - 2K]    [Web site powered by FutureQuest.Net]