top | item 44497924

(no title)

scbrg | 7 months ago

I owe my career in programming to a MUD. That's really where I learned to code (mainly by staring at and trying to debug tonnes of really bad code other clueless newbies like myself had written). That it turn, got me a spot as a sort of hang-around at a local ISP/consultancy shop whose staff intersected a lot with the people running the MUD. They eventually decided to hire me when a suitable contract showed up.

All in all, I'd say the MUD was a terrific place to learn to code. You could literally write a few lines of code, and see their effect immediately. "I want to code an orc." Inherit stdmonster, call a few API functions to set name and description, and BAM! - you've got an orc! And so on. Motivation never ran dry because - hey, I was adding features I wanted to a game I loved! Feedback (of varying quality, sure) was immediately available in the built in chat channel. Code was hot loaded/reloaded, so iteration cycle time was approximately zero. Emacs + angeftp (later replaced by tramp) to the host machine, you were literally editing the live code all the time (who needs pull requests when you have C-x C-s, eh?), so lots of instructive oops moments. It was amazing.

Have a whole bunch of friends with a similar story.

discuss

order

stavros|7 months ago

I'm the same, but from the other side. I learned to code clients/bots that would play the MUD. I had a fantastic fighting script, that basically fought optimally, one that used two characters at the same time to solve some complicated maze, and I even wrote a headless bot runner that was compatible with the files of the MUD client I used.

It was all great fun, and I also owe my extensive regex experience to it.

codesnik|7 months ago

me too. that's how I learned Perl (scripting language of mmc). What was your mud client/language?

throwawaye3735|7 months ago

Same here , I got addicted to a mud called realms of despair , smaug codebase, a derivative of Dikumud, I then ended up helping run a pretty popular server on the same codebase with some friends I met on the server. Bought a "learn c++ for dummies book" (even though it was programmed in c) and started modifying the server and the rest was history ;) I guess I was 14 at the time and I haven't stopped programming since. Gaming is definitely the gateway drug to programming and text based games are in some ways the most interesting form for learning due to not having to worry about graphics and immediately seeing results like you mention.

I've often thought about implementing "Claude plays" some open source mud. Seems like a much more pure form of experiment since it's all text.

fwipsy|7 months ago

I would be interested in watching "Claude plays with MUD," you should do it!

codingdave|7 months ago

> tonnes of really bad code other clueless newbies like myself had written...

When I first looked at MUD code, I had not yet learned to code. I thought that the folks who wrote the code must be so smart, and felt intimidated by it. Fast forward a few decades, and I recently looked at MUD code again. I spent a week porting ROT 1.4 to a node server, mostly just as a personal coding exercise, and found myself realizing just how bad that code actually was.

Yet we need to be fair. As you said, it was written by newbies, mostly students. It was written before modern tech stacks, before modern practices. And despite all the critique we could throw at it... it worked. It stills works. It was shared, copied, modified, and kept on working for many people, over many years. And it definitely inspired people to learn and try new things.

scbrg|7 months ago

Absolutely! Every single line (my own included) was truly a work of passion. We were all there coding because we loved the game, and wanted to make it even better (although opinions varied, of course, on exactly what would make it better). We all did our best, and we all just wanted things to be (even more) awesome.

We didn't even have any version control. Everybody was logged in, editing the same files over ftp, and reloaded the code on the running instance. It was chaotic and hilarious. I eventually ended up in charge of the "mudlib" (essentially the standard library). I learned so much from reading, debugging and trying to improve that code and, eventually, being a sort of mentor to a slightly younger batch of newbies.

I've never been a guru when it comes to clever algorithms, and I'm pretty shit at math, so I've had to find some other role fit on a team. I believe my main strength to this day is debugging weird and messy code, and much of the reason for that is the years I spent trying to get that wonderful mess of a code base to work.

BrenBarn|7 months ago

When I was starting out with Python, I found a library that implemented a Python version of MOO. It was brilliantly named "POO" (although in later versions it lamentably changed its name to "MOOP"). The cool thing about it was the in-world coding language was also Python, so when you code for custom rooms and objects, etc., it was all Python. I had a lot of fun with it.

Cthulhu_|7 months ago

I suspect that in another 10 years or so - or probably today already - we'll see similar stories coming from people who started with e.g. Minecraft or Roblox, which are in a sense just as much programming, user generated content games as MUDs are. Maybe a bit more visual.