Up to Main Index                          Up to Journal for December, 2013

                    JOURNAL FOR SUNDAY 8TH DECEMBER, 2013
______________________________________________________________________________

SUBJECT: We now have drivers + new dev updates pushed out
   DATE: Sun  8 Dec 23:08:08 GMT 2013

A short while ago I push some more updates to the public dev branch. It
includes all of the parser reworking I've been doing. Only instead of parsers
they are now called drivers - as in front end drivers and have their own
driver package. There is one for login, main menu and game. This should remove
the confusion of front end parsers and in-game parsers once and for all. In
fact the parser package is removed for now as it was no longer needed.

One issue still remains as documented in commit ce979c88:

  At the moment there is an issue of a player getting 'stuck' if they login to
  the menu and then the connection is dropped. They player ends up in limbo
  and further logins result in duplicate logins being detected. The only
  solution currently is to restart the server. This is obviously unacceptable
  and is currently being working worked on.

So I'm currently working on that little bugger :( After that I need to start
writing the account driver for creating new accounts and players.

I've also switched to using Go 1.2 since it was released. No problems and
WolfMUD now seems to use less memory when running.

Looking at the Go 1.2 release notes[1] I one handy change - index data items.
This allows functions like Printf to access data items in an arbitrary order:


  fmt.Sprintf("%[3]c %[1]c %c\n", 'a', 'b', 'c') produces "c a b"


This was previously used extensively in WolfMUD to generate context specific
text. For example:


   {0} hit[/s] out at {3} with a ham sized fist.


Assuming a Farmer is fighting Diddymus:


  Attacker sees: You hit out at Diddymus with a ham sized fist.
  Defender sees: A Farmer hits out at You with a ham sized fist.
    Viewers see: You see A Farmer hits out at Diddymus with a ham sized fist.


It also handled he/she/it, his/hers/its and a few other combination types. So
that's handy - unless I think of something better, these messages were always
quite powerful but also complex to compose.

--
Diddymus

  [1] https://golang.org/doc/go1.2#fmt_indexed_arguments


  Up to Main Index                          Up to Journal for December, 2013