I've been planning on starting work on a new MUD for quite some time. Because of licensing restrictions and a lack of support for central features that I'm planning on including, I'm faced with creating a new codebase from the ground-up.
I am mostly familiar with the LPC family of codebases – and so, I wanted to create something similar in the way that they work (driver/mudlib wise anyway). The driver would be in C++, and the "mud world" would be written in another C-like language. I've been looking into Pike, but there doesn't appear to be much information on it at all. There's definitely no documentation on how to implement the interpreter into a program.
Would anyone have any experience working with Pike in this way? Or perhaps a similar C-like that I may have missed?
I've been working on a project I call MudSys that is the Pike code stripped down to pretty much just the interpreter. I'm building it back up to a MudOS/FluffOS style driver.
It's not quite ready for mudlib development, but it does have telnet sockets implemented, object handling and a few other things I've needed. But the laundry list of things yet to do is quite long :)
I certainly feel for you on the documentation front… There is very little. I did find a book about Pike as a language, but most of what I've learned is just from reading the code and maddening hours spent in GDB.
Feel free to PM me and we can discuss our goals and see if some sort of collaboration might be a good idea.
Just a thought to throw out there: unless you are for some reason wedded to a C-like language on the mudlib side, why not consider other languages? There are plenty of interpreted languages that are very widely supported and documented, with active communities as well – in fact this community has several people who are rather knowledgeable in languages like Lua, Python and Ruby (to name just three). There are certain advantages to C-like languages such as compile-time checking of various properties, but if all you're after is syntax, I'd encourage looking into whether the syntax is really that important compared to semantics, and the intangible features of a language (documentation, community, etc.)
One of my main goals was to be as close to compat with MudOS as possible to facilitate porting existing mudlibs to the driver. Pike was born of LPC and is still very close to it.
Also, Pike is released under L/GPL so MudSys will also be, meaning an LPMud driver with an open license. Woot!
I had looked at LUA at one time and even TCL and LISP, but eventually decided on my previously stated goal. And you are right, they are also quite capable and far more suited to being embedded scripting languages than Pike. :)