Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 7 8 [9] 10 11 ... 16

Author Topic: The WikiFirmament:PROTO UP  (Read 12454 times)

Bluerobin

  • Bay Watcher
    • View Profile
Re: The WikiFirmament:BACK Online - prototype
« Reply #120 on: January 27, 2010, 04:51:12 pm »

Sounds good then  :)
Logged
The moment the lever was pulled, somebody's pet kitten stepped onto the bridge. I read somewhere that if a cat falls more than 11 stories, it instinctively flares its legs out to increase air resistance. This slows it down enough to stick the landing with relatively minor injuries. In Dwarf Fortress, apparently, cats don't do that.

PTTG??

  • Bay Watcher
  • Kringrus! Babak crulurg tingra!
    • View Profile
    • http://www.nowherepublishing.com
Re: The WikiFirmament:BACK Online - prototype
« Reply #121 on: January 27, 2010, 08:53:22 pm »

It is done. DJcore it will be.
Logged
A thousand million pool balls made from precious metals, covered in beef stock.

Tahin

  • Bay Watcher
    • View Profile
Re: The WikiFirmament:BACK Online - prototype
« Reply #122 on: January 27, 2010, 10:41:50 pm »

Since some of you guys seem to have some experience with LambdaMOO, would someone mind telling me if it would be possible to handle ambiguous object names a little more elegantly than the default 'Sorry, those objects share the same name so I'm not going to let you touch them'?

Even as simple a system as '1.<item name>, 2.<item name>, etc.' would be nice.

Anyway, is command parsing softcoded, and if so what object is it on? Even that bit of knowledge would be a huge step in the right direction.

Edit: Okay, it appears to be handled by #6:my_match_object(). Going to experiment with this on my local copy a bit.
« Last Edit: January 27, 2010, 10:57:36 pm by Tahin »
Logged

sproingie

  • Bay Watcher
    • View Profile
Re: The WikiFirmament:BACK Online - prototype
« Reply #123 on: January 27, 2010, 11:20:11 pm »

Command parsing is partly hardcoded, partly softcoded.  The Programmers Manual explains how it works here: http://files.moo.ca/1/1/7/ProgrammersManual_8.html

Basically, it goes through #0:do_command(), and if that doesn't exist or it returns 0, then it starts the hardwired parser, then if that can't find a match, it calls player.location:huh() which kicks off a bunch of extra steps to find an appropriate match, basically letting these objects in order try to handle it:

  • The player class (which includes Feature Objects)
  • The room again (which matches most exits as verbs)
  • The player again (which tries to do some extra softcoded matching like on ~playername, and also tries extra hard to make 'give', 'get', and 'drop' work)

One of the interesting side effects of all this is that if you end up with your location set to an invalid object like $nothing, none of your feature objects work.  One way you know you're in this kind of command-blackhole is if you get the message "I couldn't understand that" instead of "I don't understand that"

JHCore does a little extra matching, adds the 'focus object', and will try to match verbs on indirect objects if they're unambiguous (so "read note" will work if there's only one note on a postboard, and you won't have to type "read note on postboard").  All these steps can be extended by any of the objects involved.

Giving good feedback on ambiguous matches is really tricky the way the parser's currently written.  One of the things we did on E_MOO was to create a fancy new entirely softcoded parser that did handle ambiguity better (and it didn't need this Rube Goldberg chain of verbs to match commands), but it was a major project.
« Last Edit: January 27, 2010, 11:28:53 pm by sproingie »
Logged
Toady is the man who Peter Molyneux wishes he was

Quote from: ToadyOne
dragon pus was like creamy gold. Infect and collect!

Tahin

  • Bay Watcher
    • View Profile
Re: The WikiFirmament:BACK Online - prototype
« Reply #124 on: January 27, 2010, 11:57:12 pm »

I've been reading though http://www.elilabs.com/mcarc/03-96/msg00026.html and some of the code posted in that thread seems promising, but I don't have nearly enough knowledge to begin implementing any of it. $match_utils seems to contain everything I'd need for a proper parser, but again, I simply don't have the experience to attempt anything. Also, the documentation for JHCore seems to be severely lacking. It doesn't have help on $match_utils, while Lambdacore does, for instance.

EDIT: Oh, I just looked for #0:do_command() and it doesn't seem to exist. Huh.
EDIT2: Oh, I see. I'm supposed to create it if I need to use it. Or something.
« Last Edit: January 28, 2010, 12:08:14 am by Tahin »
Logged

sproingie

  • Bay Watcher
    • View Profile
Re: The WikiFirmament:BACK Online - prototype
« Reply #125 on: January 28, 2010, 12:22:34 am »

Okay, my adventures with MUSHclient are going to be coming to an end.  I was looking at writing an MCP implementation for it, but right now I'm going to hack in the simplest local editor support that can possibly work then kick this towering pile of junk to the curb.

Basically, it took a very simple concept -- resizing windows and word wrap -- and implemented it in the most buggy, aggravating, and just overall fucked-up way possible.  When I fight the interface to get what I want, just resizing a world window starts the aggravation all over again.  Its selection behavior is also broken, and doesn't select lines with triple-click the way any well-behaved text widget should.  Copying entire lines is something I kind of expect from a chat or mud client.  Lots of features, lots of crap.
Logged
Toady is the man who Peter Molyneux wishes he was

Quote from: ToadyOne
dragon pus was like creamy gold. Infect and collect!

sproingie

  • Bay Watcher
    • View Profile
Re: The WikiFirmament:BACK Online - prototype
« Reply #126 on: January 28, 2010, 01:10:58 am »

Bah, I was trying to answer you in the MOO and it died again.

$match_utils doesn't exist in JHcore, that's why there's no documentation for it.  Most of what it does like possessive parsing has been spread out to other places.  The rest is stuff nothing in the core actually uses.

Part of the problem of dealing with ambiguous matches is the hardwired parser.  Basically, if the hardwired parser finds an ambiguous match, you get screwed, because it will give you the error and that's it, no recovery possible.  There's a softcoded implementation of the hardwired algorithm somewhere out there that could be extended, but I really can't remember where it is.
Logged
Toady is the man who Peter Molyneux wishes he was

Quote from: ToadyOne
dragon pus was like creamy gold. Infect and collect!

PTTG??

  • Bay Watcher
  • Kringrus! Babak crulurg tingra!
    • View Profile
    • http://www.nowherepublishing.com
Re: The WikiFirmament:Proto Down
« Reply #127 on: January 28, 2010, 01:45:23 am »

I've switched to JHcore.
However, it does not let you create characters automatically, I don't know how to make it allow you to create characters, and I don't know how to change that setting. The database is an impenetrable mass of numbers. Until I figure that out enough to change those settings, it wouldn't make much sense to have the server up.
I do intend to get it working, but I simply won't have time at all tomorrow to do so. I might be able to get Tahin to take a look at it.

If someone has a configured version of JHcore, then feel free to e-mail it to me at glight at NWP.
Logged
A thousand million pool balls made from precious metals, covered in beef stock.

sproingie

  • Bay Watcher
    • View Profile
Re: The WikiFirmament:Proto Down
« Reply #128 on: January 28, 2010, 01:50:05 am »

;$login.create_enabled=1

In the meantime, I have a server running at fishbulb.net port 9876 if you want to fiddle around there.
« Last Edit: January 28, 2010, 01:53:37 am by sproingie »
Logged
Toady is the man who Peter Molyneux wishes he was

Quote from: ToadyOne
dragon pus was like creamy gold. Infect and collect!

PTTG??

  • Bay Watcher
  • Kringrus! Babak crulurg tingra!
    • View Profile
    • http://www.nowherepublishing.com
Re: The WikiFirmament:Proto Down
« Reply #129 on: January 28, 2010, 02:42:26 pm »

Anybody have a good database editor? I don't particularly like having to log in to mess with it.
Logged
A thousand million pool balls made from precious metals, covered in beef stock.

sproingie

  • Bay Watcher
    • View Profile
Re: The WikiFirmament:Proto Down
« Reply #130 on: January 28, 2010, 02:56:22 pm »

The only editor for a MOO database is MOO itself.  A small MOO should start up instantly, and it takes a client like two seconds to login.  Not sure what else you could ask for.

The db dump format can be viewed in notepad, but there's no way you're going to easily track down that property if you're not deeply familiar with the format, especially when it just has a value of 0 or 1


Logged
Toady is the man who Peter Molyneux wishes he was

Quote from: ToadyOne
dragon pus was like creamy gold. Infect and collect!

PTTG??

  • Bay Watcher
  • Kringrus! Babak crulurg tingra!
    • View Profile
    • http://www.nowherepublishing.com
Re: The WikiFirmament:Proto Down
« Reply #131 on: January 28, 2010, 10:58:52 pm »

OK. I'll start the server tonight.

Sproingie, my communications director Tahin informs me that you may be interested in doing some core development- specifically softcode verbs and customizable verbs. I think this is a great idea. Please let us know what you've got planned and if Tahin wasn't just relating annother one of his cocaine dreams.
« Last Edit: January 28, 2010, 11:27:14 pm by PTTG?? »
Logged
A thousand million pool balls made from precious metals, covered in beef stock.

PTTG??

  • Bay Watcher
  • Kringrus! Babak crulurg tingra!
    • View Profile
    • http://www.nowherepublishing.com
Re: The WikiFirmament:PROTO UP
« Reply #132 on: January 29, 2010, 01:22:39 am »

70.210.199.75 : 8888 is up!

We may get some interesting new developments from sproingie's server and Tahin's efforts, but for now expect some stability.

Look for me, Tahin, Sproingie, or Dakk to make you a programmer.

This weekend's goal: No-ip the server up to something more reasonable and constant. Hm... I wonder if I could make my own DNS...
Logged
A thousand million pool balls made from precious metals, covered in beef stock.

Googolplexed

  • Bay Watcher
  • My avatar is of whitespace, Not the firefox logo
    • View Profile
Re: The WikiFirmament:PROTO UP
« Reply #133 on: January 29, 2010, 01:35:11 am »

Hm... I wonder if I could make my own DNS...
You would need a static IP for that  :P
Logged

PTTG??

  • Bay Watcher
  • Kringrus! Babak crulurg tingra!
    • View Profile
    • http://www.nowherepublishing.com
Re: The WikiFirmament:PROTO UP
« Reply #134 on: January 29, 2010, 01:56:29 am »

Hm... I wonder if I could make my own DNS...
You would need a static IP for that  :P
...Which I would have if I was running my own DNS. Doi!


(he he he)
Logged
A thousand million pool balls made from precious metals, covered in beef stock.
Pages: 1 ... 7 8 [9] 10 11 ... 16