Up to Main Index                             Up to Journal for April, 2012

                     JOURNAL FOR TUESDAY 24TH APRIL, 2012
______________________________________________________________________________

SUBJECT: WolfMUD ... Reborn!
   DATE: Tue Apr 24 21:39:53 BST 2012

So, WolfMUD, hrm ...

After a *VERY* long hiatus I thought it was time to start another WolfMUD.
Over the last three decades I've always had a WolfMUD. First on micros: BBC
BASIC, 6502 Assembler &  Amiga BASIC. After that I moved to PCs with C and C++
versions. Finally to Java running on nearly everything.

Each time I wrote everything from scratch and used WolfMUD to learn about new
machines, environments and programming languages.

So where next after Java?

This question perplexed me for a long time. A very long time. Nearly 5 years
in fact. I'd been doing a lot of PHP for my day job but shuddered at the idea
of writing WolfMUD in that - Bleugh! - as a day job paying the bills it was
bad enough. So I aimlessly starting casting around for ideas. I wanted
something that was quite portable and had become interested in ARM processors
as well. So the next WolfMUD should at least run on standard 32/64bit PCs and
ARM would be nice as well. For operating systems Linux, Mac OS X, *BSD and
*shudder* Windows sounded good targets.

I still needed to settle on a language! I'd considered Perl which I mused over
for a while before dismissing it - I was already quite familiar with Perl.

Then at the end of 2009 Google announced their Go programming language -
usually referred as 'golang' as 'go' is hard to search for. So I had a look
and started following it's development. I was waiting - waiting for the
magical Go1 release, the official "this is it - it's ready release".

On March 28th, 2012 Go1 was officially released and for the last couple of
weeks - a few hours at a time in the evenings when time permits - I've been
reading, studying and laying the foundations of a new WolfMUD in Go - and I
really like the language :)

This evening after tweaking and messing about with some fundamentals *again* I
got impatient. So far I had only scripted stuff to interact with the code I
had written, I had no proper interaction with what I was creating. So I sat
there and hacked up some networking code and fired up a TELNET client:


  $ telnet 127.0.0.1 4001
  Trying 127.0.0.1...
  Connected to 127.0.0.1.
  Escape character is '^]'.


  Welcome To WolfMUD


  Fireplace

  You are in the corner of a common room in the Dragon's Breath tavern. Ther
  e is a fire burning away merrily in an ornate fireplace giving comfort to
  weary travellers. Shadows flicker around the room, changing light to darkn
  ess and back again. To the south the common room extends and east the comm
  on room leads to the tavern entrance.
  You can see A small ball here
  You can see A curious brass lattice here

  >


Then I fired up another session and tried a few things:


  $ telnet 127.0.0.1 4001
  Trying 127.0.0.1...
  Connected to 127.0.0.1.
  Escape character is '^]'.


  Welcome To WolfMUD


  Fireplace

  You are in the corner of a common room in the Dragon's Breath tavern. Ther
  e is a fire burning away merrily in an ornate fireplace giving comfort to
  weary travellers. Shadows flicker around the room, changing light to darkn
  ess and back again. To the south the common room extends and east the comm
  on room leads to the tavern entrance.
  You can see Player 1 here
  You can see A small ball here
  You can see A curious brass lattice here

  > examine lattice
  You examine A curious brass lattice. This is a finely crafted, intricate l
  attice of fine brass wires forming a roughly ball shaped curiosity.
  > s
  You go South.

  >
  Common Room

  You are in a small, cosy common room in the Dragon's Breath tavern. Lookin
  g around you see a few chairs and tables for patrons. To the east there is
   a bar and to the north you can see a merry fireplace burning away.

  > north
  You go North.

  >
  Fireplace

  You are in the corner of a common room in the Dragon's Breath tavern. Ther
  e is a fire burning away merrily in an ornate fireplace giving comfort to
  weary travellers. Shadows flicker around the room, changing light to darkn
  ess and back again. To the south the common room extends and east the comm
  on room leads to the tavern entrance.
  You can see Player 1 here
  You can see A small ball here
  You can see A curious brass lattice here

  >


Meanwhile back in the first session:


  You can see A small ball here
  You can see A curious brass lattice here

  > There is a puff of smoke and Player 2 appears spluttering and coughing.
  > You see Player 2 look around.
  > You see Player 2 examine A curious brass lattice.
  > You see Player 2 go South.

  > You see Player 2 walk in.

  > You see Player 2 look around.
  >


So there you have it - the first logins to a new WolfMUD. Nothing terribly
exciting, no line wrapping or breaking, no colour code written yet and prompts
are appearing in some very odd places, the networking code is creaky and has
no error handling at all, the 2 objects and four locations are semi-hardcoded.
BUT! It was at *THIS* point I knew WolfMUD lived again and I was happier
coding then than I had been in a long time :)

--
Diddymus


  Up to Main Index                             Up to Journal for April, 2012