3 ms·
It is a pity the article dismisses the whole eco system around LPMuds that much by basically only including them in that screenshot from Bartle's book. They wer
by warpspin 6y ago
It is a pity the article dismisses the whole eco system around LPMuds that much by basically only including them in that screenshot from Bartle's book. They were an interesting middle ground between the Diku-likes (think: precursors to Diablo) and the MOOs, being online programmable in an object-oriented C dialect called LPC which today lives on in e.g. the Pike programming language.
- em-bee 6y agoyup, that's how i got into it. lpmuds were the first to have builtin ftp and later http servers, because they were just other protocols and their programmability made them easy to add. when i explored webdevelopment and discovered this webserver written in µlpc, i was elated to discover that i already knew the language from mud programming.
- em-bee 6y agolpc/pike is a runtime compiled language much closer to python and java than to c. it is as much of a c dialect as javascript is a java dialect. other than c-style syntax they don't have much in common. the best part of lpc/pike is that it compiles code in units of classes. that is, each file is a class, the filename being the classname. the compiled class would then be used to instantiate objects, and here comes the kicker: in order to add or update objects in the mud world it was necessary to compile classes at runtime without restarting the game. so when a coder made a change to an object, the game would recompile the class, replace what it had stored, and new instances of that object were created from the new class. old objects lived on until they were destroyed. lpmuds were the ultimate example of making and testing changes to a live server in production
- warpspin 6y agoYou are right of course, just tried to be concise with the description - it's basically how we always explained it to the players back then. A Java or Python comparison was not possible at that time - both did not even exist at the time while I was programming on an LPMud driver. It is a pity LPC4/µlpc/Pike did not gain more mainstream acceptance after its early success with Roxen, even installing it was a pain last I tried.
- em-bee 6y agoA Java or Python comparison was not possible at that time - both did not even exist at the time hah, good point. yeah, roxen the company missed a window of opportunity there to promote pike when they hired the wrong type of management and fired hubbe, pikes creator. but i don't want to get into politics. what's your trouble with installing pike? i have pike running on most of my machines and don't remember any serious issues. i do install from source usually though. i am not using roxen but a different platform also written in pike called sTeam or open-steam, which incidently is a web development and object storage platform designed like a MUD.
- warpspin 6y agoIt was already a while ago, stumbled across the hand coded i386 assembler in, if I recall correctly, nettle at that time. On a later attempt, getting the mysql driver into the thing was a pain on my Mac. It's not that it did not work with some debugging experience, just that each and every time I install it, something else is broken on first attempt. And now, recently, SWIG removed Pike support, bringing future trouble to the one project we have running internally at our company based on Pike, as that used SWIG for bindings to some other third-party C software, so we can never update that again to a newer SWIG version without rewriting that stuff.
- em-bee 6y agooh bummer. writing native c bindings for pike is not to hard though. maybe that is an option.