comment section is quite critical/harsh? for no good reason?
I think this is an awesome project for them both. And it's totally understandable to use an LLM for the base project as it's a 'fun' thing from the read. it doesn't look like it's trying to compete with anything....
The kid can learn within an environment created by parent, so they can also collaborate on improving that environment, while the kid also has their own learning _within_ that environment.
This seems like a wonderfully geeky adventure to go on if ur kid enjoys it :D love it. hope it will spark some cool interactions between them and make some epic memories :)
Also, maybe people forget how it was like back in the day.
I am not _too_ old - pentium 1 was my first PC. I learned making games in PASCAL, QBASIC and later custom C implementations that came with like 'gamemaker ' CDs etc. this was all very complicated to learn at a young age... Had to get many books and things (no internet!) at the PC shop to try and get my head around it. Never quite did until much later in my life!
Sure things like Scratch exists, but this beauty of this one is that this one is _theirs_. Surely we can recognize the enjoyment that might bring to a parent and kids' lives? Learning is a bonus! Not everything is about being technically the best of the best -_- stop being Marines at everyhting. We're not at war with eachother over who writes the best code.
Good use of LLM technology to make a project in my mind. props!
Indeed teach kids today how to properly type into a textbox to create entire web and or mobile digital experiences. Teach them also how to type into a textbox to create songs, graphics, art, etc.
For us it's seems so uninspring because what we are used to is now the old way of digital creation/execution. It's a big change many aren't thrilled with including myself which I should because I can now create all my crazy ideas on my own without hiring back-end or iPhone developers as previously have done for my startups. Yet, i am unspired by this new way even when I used Codex to create a few of my ideas already (soon i will be starting my new healthcare career after 17 years in research/design & web dev).
I am all for change yet when the change makes your tech skills feel irrelevant as it opens the field to anyone who can type I do not see a rosy employment picture. I was use to being in a field where my knowledge/skills/experience were highly sought after and in demand. Now that doesn't exist anymore but it does in other in demand fields like blue collar workers and healthcare (at least for now).
I would further point out that before LLMs existed, this was the kind of thing where the kid alone, or parent+kid together, would have almost always reached for some premade genre-specific game-development toolkit that tries as hard as possible to abstract away any kind of programming at all. RPG Maker, Game Maker Studio, RenPy, etc.
In these toolkits, as long as you're making the idiomatic kind of game they're designed to produce, then you don't end up needing to learn a single thing about programming. Your game can be expressed 100% within the higher-level abstraction, with no reference to things like "variables" or "states".
And in some ways, that's good! (RPG Maker 95 was a good entry point into game development for 11-year-old me, way back when, as I didn't know any programming at that point [and found myself bouncing off of tools like QBASIC that required it.] I found toolkits like these a great "gateway drug": one that let me try out simple ideas, that fed an addiction to thinking about game design, leading to my ambitions gradually growing, wanting to make gradually-more-complex experiences, and so running up against the limits of the tools, where the "escape hatch" of [visual] programming became very gradually required, leading to a very gentle and gradual exposure to those concepts.)
But of course, if this isn't just a kid doing a self-motivated dive into "game dev", but a parent trying to give their kid a view into "what makes a computer a special thing, different from other tools" [i.e. that it is an infinitely-extensible tool, one that can be programmed by the end user to do anything they want], then these game-dev toolkit apps are still just "apps" (they even show up on game consoles!) and so don't quite tap into the feeling of "having an idea for literally anything you might want the computer to do, and being able to make that happen" that actual programming does. The "magic" of these toolkits feels like it lives in the app, not in what you're doing with it. There's no sense, when employing these toolkits, that (as Abelson and Sussman might say) you're casting a spell upon reality with the computer as your wand.
---
But that being said, when I've seen a parent trying to instil that particular feeling into a child of theirs, they rarely do so by trying to put the kid into the critical path for "doing the actual programming."
Learning to program, and experiencing "getting a computer to do exactly what you want", are two very different things; and I think a lot of people hold the opinion that kids generally won't care about / have patience for the former, until after you get them hooked on the feeling of the latter. (Until then, "programming" is just weird algebra that can print text on the screen, i.e. something they likely won't see what's so exciting about.)
So the general approach I've seen, before LLMs, was essentially for the parent to play the role of a coding-agent LLM, at the same time that they're also playing the role of a guide/educator. The parent prompts the kid to specify what they want to happen on the screen; and the parent themselves then codes that up (ideally in as high-abstraction-level a language+framework for this as possible, and so requiring as little fiddly glue code as possible, so as to get the change done before the kid loses interest.)
The parent can certainly then point to the code on screen and explain how each line makes what happens, happen; but first they have to run the program. For the wonder comes only when the spell is cast: the runes on the screen disappear, and in their place comes the actual result, a particular experience pulled from the space of all possibility by that particular configuration of words and symbols.
In that framing, the only thing that changes from the kid's perspective, when the parent is using a coding-agent LLM, is that the parent can take what the kid is suggesting should happen, formalize it, punch it into a tool, and come back with the "right" runes to make it happen, very quickly.
A child doesn't care where the runes were sourced from. A child doesn't yet understand that there is an art and a craft to programming at all; that some code is more maintainable than others; that there exist any structural or stylistic choices to be made, beyond just "saying that which is required to cast that spell from among all spells." The closest analogy they'll be aware of in their everyday life is math, and math (at elementary-school level) is all about canonical forms. They'll assume that the coding-agent LLM, as a tool, is simply automating "getting the right answer" for the choice of runes, in a similar way to how a calculator automates "getting the right answer" for an arithmetic problem.
The awareness that source code is not just a language spoken to machines, but a language programmers speak to each-other and to themselves in the future, just isn't relevant to this kind of early lesson. It's not something they'd notice or think about, or understand if you tried to explain it to them.
The magic, at that early point in one's life, is that "mere text on a screen" can make things happen at all; can make the sorts of cool things happen that their imagination is full of; and is in fact responsible for making happen every cool thing (and all the boring things, too) they've ever seen a computer or other bit of consumer electronics do.
And also, that those symbols aren't simply a communication to some fancy toolkit app; that those symbols can be written in regular old Notepad if you like, and they'll still be just as potent, for it's the symbols themselves that have power. (This lesson being especially potent if you demonstrate with a scripting language built into the OS, e.g. Windows batch files, such that you can simply "Save As" the text file and then double-click it.)
i am anti llm for my own reasons but i dont expect others to be copies of me :-). its very silly to be negative to others or their works just because you have a different opinion.
Have been teaching coding to kids professionally for a while now. Ultimately what works is what the kid will engage in. Some kids bounce off of Scratch completely but then get totally hooked on text programming. I've been following what little has been published around teaching coding with AI, I'd say it's inconclusive at best which also tracks with my experience. We don't totally ignore it, since it is a standard development tool now, but if the environment is not tightly constrained it can be detrimental, it can quickly spit out a bunch of code that makes the student very overwhelmed.
Sometimes we will let them use AI to make a focused change to their project, like "make the character do a flip when he jumps", then they're getting a fairly controlled diff surrounded by a ton of context, which I think really does boost their coding "literacy". I'd rather my students be able to read code well than write a for loop from memory, so I've found it useful in that sense.
CircleMUD was my first intro to C and network programming. I was at a computer camp for 8-10 year olds that taught BASIC. One of the counsellors was doing their undergrad at caltech and pulled the students who were bored by BASIC into a separate group to learn C by editing CircleMUD.
Hacking up a pre-existing MUD was the perfect mix of immediacy / interactivity and fun to hook me. So thankful to that guy, wherever he is. He probably changed the course of my life.
I am not happy with the 'kids learn 2 code' space.. which is usually just a bunch of pseudo code move commands to make a character traverse a maze. I think the learning ceiling on this kind of setup is low.
but this seems like something much better. I have myself been doing more ai-powered coding / learning projects with my kids. a ton of potential in this space.
It is very strange to me when people refer generically to "MUD" and cannot even seem to qualify what type of MUD they refer to.
Since the advent of MUD gaming, there has been a wide variety of codebases, servers, and clients, with distinct genealogical lineages, that appeal to quite distinct sectors of nerd-dom, and sometimes with very little overlap in the player base.
The original big-3 "non-Tiny" MUDs were: AberMUD, DikuMUD, and LPMud. These were largely unknown to me as I never played any of them, but they were mostly known as combat-based, player-programmable, and even quite distinctly European, for the most part. I could be wrong.
TinyMUD Classic began at CMU with Jim Aspnes, but quicky a lot of forks developed that resulted in MUCK, MUSH, MOO, FuzzBall and other interesting derivatives. The Tiny* class shared a lot of playerbase, because the appeal was mostly the same; all were user-extensible but only some were programmable; none were combat-based or adversarial. They mostly tended to evolve into social and chat functions, once they were established and built-up.
There are plenty of other MUD types and in the 90s, every budding programmer had ideas and forked a codebase for their own purposes. But it still baffles me, when commenters here and there wax nostalgic about those MUD days, I really have no idea what sort of game they're referring to, if they cannot be more specific.
I have a love/hate relationship with my memories of the MUD era. I loved exploring different worlds and interacting with some of the brilliant people who took the time to help teach and encourage others. I was a casual who would disappear for months at a time when doing real world things, but it was comforting to be able to come back a little community of people building fun things.
The couple MUD communities I participated in eventually collapsed under drama explosions from terminally online people. Some really manipulative and cruel stuff from people who would present themselves as noble community leaders, work themselves into positions of power, then grind down everyone in the out group until the rest of the community stopped playing.
I would log in to a couple of them once a year. It was the same small ingroup of people idling away. All the recent posts on the in-game message board were from the new people complaining, admonishing, or introducing more rules to tighten their grip on anyone who remained. Really sad to see the same pattern collapse multiple different communities in the same way.
It seems you only had exposure to a limited set of MUDs that died quickly.
I played some MUDs that were quite solid; PaderMUD/Xyllomer in the late
1990s (peak count connection at about 60 different people in late 1998).
GEAS (similar code base) was also quite ok-ish up to 2013, though admin
made too many mistakes (Asralites, aka the warclergy, were pimp-nerfed
via divine codex to disallow them from starting wars, the old 'who' was
stolen by PO Allalltar and PO Okkita and many more mistakes). But community
wise both had many great roleplayers and your description appears to be
hugely one-sided in that you never found competent roleplayers that would
narrate a storyline (or usually several, if you had enough players) at the
same time. Often "drama" is just roleplay and reaction by characters to
in-game situations. I am aware that some players sabotage(d) MUDs and
cliques rose past 1998 or so; and many older players gave up due to lack of
time and what not. So the genre struggled already past 1998 and maintaining
MUDs was much harder. But things such as "grind down everyone" can only happen
if the rules are broken and the code is broken really. I also highly doubt
that players were the primary "until the rest of the community stopped playing"
as a problem - perhaps it applies to the MUDs you frequented, but very clearly
this was not the case for all MUDs, so I suspect you had a very limited set
of exposure to MUDs. I mentioned two; you did not mention any MUD specifically.
Can you mention which MUDs you played extensively for a while?
As for pattern collapsing MUDs, I actually agree; in particular those who held
the monopoly over the game code, can really quickly ruin a game. This does not
even happen deliberately all of the time; old admin stopped playing their own
MUDs and after +30 years they no longer understand why some code changes ruined
the MUD. It's a tragedy without a good fix, because they are old and lack time
to play, so they slowly stop understanding the game they still make code changes
to.
I had a blast in the late 2000s joining dead MUDs and just wandering around. It was utterly bizarre, in a good way. It also felt somewhat shocking when someone else actually signed in.
https://last-outpost.com was my first experience with MUDs, and it's still being developed today. I'll never forget the time we finally got AOL + winsock.dll to combine for a telnet session into it.
Now I'm teaching my son how to read on the same server.
This is extremely interesting to me. I also have an 8 year old daughter who inspired me to build tooling for kids to create their own games. However, what I've come up with is quite different than this.
The primary mechanism through which kids create their game worlds is taking photos of their own hand drawn artwork.
I found traditional game dev tooling was far too technical and verbose for my daughter to stay interested. Honestly, it's not just a matter of her losing interest due to the complexity. Frankly, I don't want her sitting in front of a screen that long. She's a kid and I want her doing typical kid stuff. She and her younger sisters play sports, draw, paint, perform magic shows, and sing and dance around the house like complete nutbags — and I love it!
So whilst what I've built is highly technical for me to maintain, I'm not trying to expose all that complexity to kids. At least, not yet. I'm mostly interested in fueling creativity and letting kids explore. That's not to say kids that want to dive deep can't — we offer visual coding experiences etc. The intent is kids gain access to new features through self directed exploration and play. If some kids stop at just play, that's OK. The primary game mechanics (drawing and building worlds) are still inherently creative.
Although my approach is different, there is a heap in this article I resonant with. The hacking mentality, and letting kids go beyond the artificial constraints in particular. There's still much of Breaka Club that I can improve on. I'm running a limited in-school pilot at present and that's already yielded some really interesting insights. I'm really keen to continue to see what others put out in this space. I think it's drastically underserved and there's plenty of room for multiple approaches.
A MUD got me into programming, just wanted to make one myself. I was too young then. Now that I’m “grown”, every five years I feel like the kids these days have so many tools to make it easier or at least more knowable.
Also, that ASCII art(or pixel art?) as the header looks serene. Any tips/rabbit holes on achieving that art style?
Looks like it's just dithered pixel art. The JS in the page isn't obfuscated, and I'm not an expert but it looks like the image is being dynamically generated, and then there's a bayer dithering with some extra random jitter
I honestly think the child would be far better served with Scratch rather than some half-assed adventure writing language (having created several such languages myself).
Edit: To clarify, the languages I created were also half-assed - it's very difficult to create a good one.
I'd say Canon and Scratch are different tools with different purposes. Both are simple and interactive enough for children to love. The main difference I see is that Canon abstracts away a lot of the game state management logic and you get to focus on creating characters, items and having lots of fun. Scratch looks like it has a steeper learning curve and while it is a good introduction to programming, it gets pretty hard to navigate once project size increases. As someone who started programming with Scratch, I think that making a text adventure game like the ones Canon does in Scratch would be much more complicated and the end result wouldn't be half as nice.
I think the only thing that matters is whatever the kid finds appealing enough to do at all.
e.g. I started with Ruby on Rails. Not even Ruby. The feedback loop is what convinced me that I wanted to write software and then dive into the fundamentals.
Second this. Even the kid who later chose a programming career hated Scratch.
Also, it'd be far too low level in comparison to what the guy did - ultimately, this is a game engine. Proper comparison would maybe be against Inform 7.
I've been teaching my 9 year old to code using Ruby, the best language to start with IMO: Clear, expressive English, object oriented is intuitive, and we're using Ruby2D to make simple terminal-based games. I prefer it to graphical-oriented languages like Scratch, as I think working with pure text and typing the commands out is a good experience.
A bit sad to see the author "10xing" his passion project with LLMs. I ended up moving one of my older projects in a similar way and I feel gross about it now. As if I didn't even work on it originally. I may just hard reset the LLM commits off my tree entirely at this point.
comment section is quite critical/harsh? for no good reason?
I think this is an awesome project for them both. And it's totally understandable to use an LLM for the base project as it's a 'fun' thing from the read. it doesn't look like it's trying to compete with anything....
The kid can learn within an environment created by parent, so they can also collaborate on improving that environment, while the kid also has their own learning _within_ that environment.
This seems like a wonderfully geeky adventure to go on if ur kid enjoys it :D love it. hope it will spark some cool interactions between them and make some epic memories :)
Also, maybe people forget how it was like back in the day.
I am not _too_ old - pentium 1 was my first PC. I learned making games in PASCAL, QBASIC and later custom C implementations that came with like 'gamemaker ' CDs etc. this was all very complicated to learn at a young age... Had to get many books and things (no internet!) at the PC shop to try and get my head around it. Never quite did until much later in my life!
Sure things like Scratch exists, but this beauty of this one is that this one is _theirs_. Surely we can recognize the enjoyment that might bring to a parent and kids' lives? Learning is a bonus! Not everything is about being technically the best of the best -_- stop being Marines at everyhting. We're not at war with eachother over who writes the best code.
Good use of LLM technology to make a project in my mind. props!
Indeed teach kids today how to properly type into a textbox to create entire web and or mobile digital experiences. Teach them also how to type into a textbox to create songs, graphics, art, etc.
For us it's seems so uninspring because what we are used to is now the old way of digital creation/execution. It's a big change many aren't thrilled with including myself which I should because I can now create all my crazy ideas on my own without hiring back-end or iPhone developers as previously have done for my startups. Yet, i am unspired by this new way even when I used Codex to create a few of my ideas already (soon i will be starting my new healthcare career after 17 years in research/design & web dev).
The world has changed.
This is not a genie you can put back in a bottle.
I am all for change yet when the change makes your tech skills feel irrelevant as it opens the field to anyone who can type I do not see a rosy employment picture. I was use to being in a field where my knowledge/skills/experience were highly sought after and in demand. Now that doesn't exist anymore but it does in other in demand fields like blue collar workers and healthcare (at least for now).
I would further point out that before LLMs existed, this was the kind of thing where the kid alone, or parent+kid together, would have almost always reached for some premade genre-specific game-development toolkit that tries as hard as possible to abstract away any kind of programming at all. RPG Maker, Game Maker Studio, RenPy, etc.
In these toolkits, as long as you're making the idiomatic kind of game they're designed to produce, then you don't end up needing to learn a single thing about programming. Your game can be expressed 100% within the higher-level abstraction, with no reference to things like "variables" or "states".
And in some ways, that's good! (RPG Maker 95 was a good entry point into game development for 11-year-old me, way back when, as I didn't know any programming at that point [and found myself bouncing off of tools like QBASIC that required it.] I found toolkits like these a great "gateway drug": one that let me try out simple ideas, that fed an addiction to thinking about game design, leading to my ambitions gradually growing, wanting to make gradually-more-complex experiences, and so running up against the limits of the tools, where the "escape hatch" of [visual] programming became very gradually required, leading to a very gentle and gradual exposure to those concepts.)
But of course, if this isn't just a kid doing a self-motivated dive into "game dev", but a parent trying to give their kid a view into "what makes a computer a special thing, different from other tools" [i.e. that it is an infinitely-extensible tool, one that can be programmed by the end user to do anything they want], then these game-dev toolkit apps are still just "apps" (they even show up on game consoles!) and so don't quite tap into the feeling of "having an idea for literally anything you might want the computer to do, and being able to make that happen" that actual programming does. The "magic" of these toolkits feels like it lives in the app, not in what you're doing with it. There's no sense, when employing these toolkits, that (as Abelson and Sussman might say) you're casting a spell upon reality with the computer as your wand.
---
But that being said, when I've seen a parent trying to instil that particular feeling into a child of theirs, they rarely do so by trying to put the kid into the critical path for "doing the actual programming."
Learning to program, and experiencing "getting a computer to do exactly what you want", are two very different things; and I think a lot of people hold the opinion that kids generally won't care about / have patience for the former, until after you get them hooked on the feeling of the latter. (Until then, "programming" is just weird algebra that can print text on the screen, i.e. something they likely won't see what's so exciting about.)
So the general approach I've seen, before LLMs, was essentially for the parent to play the role of a coding-agent LLM, at the same time that they're also playing the role of a guide/educator. The parent prompts the kid to specify what they want to happen on the screen; and the parent themselves then codes that up (ideally in as high-abstraction-level a language+framework for this as possible, and so requiring as little fiddly glue code as possible, so as to get the change done before the kid loses interest.)
The parent can certainly then point to the code on screen and explain how each line makes what happens, happen; but first they have to run the program. For the wonder comes only when the spell is cast: the runes on the screen disappear, and in their place comes the actual result, a particular experience pulled from the space of all possibility by that particular configuration of words and symbols.
In that framing, the only thing that changes from the kid's perspective, when the parent is using a coding-agent LLM, is that the parent can take what the kid is suggesting should happen, formalize it, punch it into a tool, and come back with the "right" runes to make it happen, very quickly.
A child doesn't care where the runes were sourced from. A child doesn't yet understand that there is an art and a craft to programming at all; that some code is more maintainable than others; that there exist any structural or stylistic choices to be made, beyond just "saying that which is required to cast that spell from among all spells." The closest analogy they'll be aware of in their everyday life is math, and math (at elementary-school level) is all about canonical forms. They'll assume that the coding-agent LLM, as a tool, is simply automating "getting the right answer" for the choice of runes, in a similar way to how a calculator automates "getting the right answer" for an arithmetic problem.
The awareness that source code is not just a language spoken to machines, but a language programmers speak to each-other and to themselves in the future, just isn't relevant to this kind of early lesson. It's not something they'd notice or think about, or understand if you tried to explain it to them.
The magic, at that early point in one's life, is that "mere text on a screen" can make things happen at all; can make the sorts of cool things happen that their imagination is full of; and is in fact responsible for making happen every cool thing (and all the boring things, too) they've ever seen a computer or other bit of consumer electronics do.
And also, that those symbols aren't simply a communication to some fancy toolkit app; that those symbols can be written in regular old Notepad if you like, and they'll still be just as potent, for it's the symbols themselves that have power. (This lesson being especially potent if you demonstrate with a scripting language built into the OS, e.g. Windows batch files, such that you can simply "Save As" the text file and then double-click it.)
Top comment is quite naive. With that populist rhetoric you can defend anything.
Can we contribute to the dialog rather than bash someone’s thoughts on it?
As a start, why do you disagree and how would you further this discussion?
Cause they are anti LLM and it seems such people need to not just have their stance but whack everyone with it.
i am anti llm for my own reasons but i dont expect others to be copies of me :-). its very silly to be negative to others or their works just because you have a different opinion.
why is it naive and populist rethoric? any reasoning behind that comment?
Have been teaching coding to kids professionally for a while now. Ultimately what works is what the kid will engage in. Some kids bounce off of Scratch completely but then get totally hooked on text programming. I've been following what little has been published around teaching coding with AI, I'd say it's inconclusive at best which also tracks with my experience. We don't totally ignore it, since it is a standard development tool now, but if the environment is not tightly constrained it can be detrimental, it can quickly spit out a bunch of code that makes the student very overwhelmed.
You'd be surprised what kids can make once you give them the basic building blocks: https://jump.academy/projects/fruit-drop
Sometimes we will let them use AI to make a focused change to their project, like "make the character do a flip when he jumps", then they're getting a fairly controlled diff surrounded by a ton of context, which I think really does boost their coding "literacy". I'd rather my students be able to read code well than write a for loop from memory, so I've found it useful in that sense.
That was fun. Emma did a great job building Fruit Drop!
CircleMUD was my first intro to C and network programming. I was at a computer camp for 8-10 year olds that taught BASIC. One of the counsellors was doing their undergrad at caltech and pulled the students who were bored by BASIC into a separate group to learn C by editing CircleMUD.
Hacking up a pre-existing MUD was the perfect mix of immediacy / interactivity and fun to hook me. So thankful to that guy, wherever he is. He probably changed the course of my life.
Related: I just discovered this weekend that you can trivially flash Lego power hubs and then program them from a browser via pybricks.
I don’t want my 7yo to have a phone or iPad, so he’s not been able to use the PoweredUp hubs unless I’m there and can lend him my phone :(
But he has a nixos laptop, and after flashing the hubs he can now program Lego technic with Scratch, no iPad or phone needed :)
thanks for sharing!
I am not happy with the 'kids learn 2 code' space.. which is usually just a bunch of pseudo code move commands to make a character traverse a maze. I think the learning ceiling on this kind of setup is low.
but this seems like something much better. I have myself been doing more ai-powered coding / learning projects with my kids. a ton of potential in this space.
MUDs are such a wonderful way to introduce kids to "slow gaming", if one can call it that. I grew up with MUDs; they are a cherished memory of mine.
There's a lot of fun "lego-style" creativity to be had in designing rooms, mobs and coming up with grand area designs.
Cool idea.
The Yoink used in the end was a word/action I first came across in Ultima Online when players would yoink steal an item from another players backpack.
Curious if that’s coincidence or if players of UO brought that over most likely from MUDs.
This is great. Would prefer an eight-year-old play/explore/build in this sort of world than just about anything else!
I loved MUDs as a kid, and really do miss the sense of immersion and depth that came from joining a long established server and just exploring.
It is very strange to me when people refer generically to "MUD" and cannot even seem to qualify what type of MUD they refer to.
Since the advent of MUD gaming, there has been a wide variety of codebases, servers, and clients, with distinct genealogical lineages, that appeal to quite distinct sectors of nerd-dom, and sometimes with very little overlap in the player base.
The original big-3 "non-Tiny" MUDs were: AberMUD, DikuMUD, and LPMud. These were largely unknown to me as I never played any of them, but they were mostly known as combat-based, player-programmable, and even quite distinctly European, for the most part. I could be wrong.
TinyMUD Classic began at CMU with Jim Aspnes, but quicky a lot of forks developed that resulted in MUCK, MUSH, MOO, FuzzBall and other interesting derivatives. The Tiny* class shared a lot of playerbase, because the appeal was mostly the same; all were user-extensible but only some were programmable; none were combat-based or adversarial. They mostly tended to evolve into social and chat functions, once they were established and built-up.
There are plenty of other MUD types and in the 90s, every budding programmer had ideas and forked a codebase for their own purposes. But it still baffles me, when commenters here and there wax nostalgic about those MUD days, I really have no idea what sort of game they're referring to, if they cannot be more specific.
I have a love/hate relationship with my memories of the MUD era. I loved exploring different worlds and interacting with some of the brilliant people who took the time to help teach and encourage others. I was a casual who would disappear for months at a time when doing real world things, but it was comforting to be able to come back a little community of people building fun things.
The couple MUD communities I participated in eventually collapsed under drama explosions from terminally online people. Some really manipulative and cruel stuff from people who would present themselves as noble community leaders, work themselves into positions of power, then grind down everyone in the out group until the rest of the community stopped playing.
I would log in to a couple of them once a year. It was the same small ingroup of people idling away. All the recent posts on the in-game message board were from the new people complaining, admonishing, or introducing more rules to tighten their grip on anyone who remained. Really sad to see the same pattern collapse multiple different communities in the same way.
It seems you only had exposure to a limited set of MUDs that died quickly.
I played some MUDs that were quite solid; PaderMUD/Xyllomer in the late 1990s (peak count connection at about 60 different people in late 1998). GEAS (similar code base) was also quite ok-ish up to 2013, though admin made too many mistakes (Asralites, aka the warclergy, were pimp-nerfed via divine codex to disallow them from starting wars, the old 'who' was stolen by PO Allalltar and PO Okkita and many more mistakes). But community wise both had many great roleplayers and your description appears to be hugely one-sided in that you never found competent roleplayers that would narrate a storyline (or usually several, if you had enough players) at the same time. Often "drama" is just roleplay and reaction by characters to in-game situations. I am aware that some players sabotage(d) MUDs and cliques rose past 1998 or so; and many older players gave up due to lack of time and what not. So the genre struggled already past 1998 and maintaining MUDs was much harder. But things such as "grind down everyone" can only happen if the rules are broken and the code is broken really. I also highly doubt that players were the primary "until the rest of the community stopped playing" as a problem - perhaps it applies to the MUDs you frequented, but very clearly this was not the case for all MUDs, so I suspect you had a very limited set of exposure to MUDs. I mentioned two; you did not mention any MUD specifically. Can you mention which MUDs you played extensively for a while?
As for pattern collapsing MUDs, I actually agree; in particular those who held the monopoly over the game code, can really quickly ruin a game. This does not even happen deliberately all of the time; old admin stopped playing their own MUDs and after +30 years they no longer understand why some code changes ruined the MUD. It's a tragedy without a good fix, because they are old and lack time to play, so they slowly stop understanding the game they still make code changes to.
I had a blast in the late 2000s joining dead MUDs and just wandering around. It was utterly bizarre, in a good way. It also felt somewhat shocking when someone else actually signed in.
https://last-outpost.com was my first experience with MUDs, and it's still being developed today. I'll never forget the time we finally got AOL + winsock.dll to combine for a telnet session into it.
Now I'm teaching my son how to read on the same server.
It's nice to see my old MUD is still online, and my account is still there, 30 years later!:)
https://gatewaymud.org/
This is extremely interesting to me. I also have an 8 year old daughter who inspired me to build tooling for kids to create their own games. However, what I've come up with is quite different than this.
https://breaka.club/blog/why-were-building-clubs-for-kids
The primary mechanism through which kids create their game worlds is taking photos of their own hand drawn artwork.
I found traditional game dev tooling was far too technical and verbose for my daughter to stay interested. Honestly, it's not just a matter of her losing interest due to the complexity. Frankly, I don't want her sitting in front of a screen that long. She's a kid and I want her doing typical kid stuff. She and her younger sisters play sports, draw, paint, perform magic shows, and sing and dance around the house like complete nutbags — and I love it!
So whilst what I've built is highly technical for me to maintain, I'm not trying to expose all that complexity to kids. At least, not yet. I'm mostly interested in fueling creativity and letting kids explore. That's not to say kids that want to dive deep can't — we offer visual coding experiences etc. The intent is kids gain access to new features through self directed exploration and play. If some kids stop at just play, that's OK. The primary game mechanics (drawing and building worlds) are still inherently creative.
Although my approach is different, there is a heap in this article I resonant with. The hacking mentality, and letting kids go beyond the artificial constraints in particular. There's still much of Breaka Club that I can improve on. I'm running a limited in-school pilot at present and that's already yielded some really interesting insights. I'm really keen to continue to see what others put out in this space. I think it's drastically underserved and there's plenty of room for multiple approaches.
Using the kids' own artwork is a cool idea.
I've seen your concept, it's a really good idea!
A MUD got me into programming, just wanted to make one myself. I was too young then. Now that I’m “grown”, every five years I feel like the kids these days have so many tools to make it easier or at least more knowable.
Also, that ASCII art(or pixel art?) as the header looks serene. Any tips/rabbit holes on achieving that art style?
Looks like it's just dithered pixel art. The JS in the page isn't obfuscated, and I'm not an expert but it looks like the image is being dynamically generated, and then there's a bayer dithering with some extra random jitter
I remember trying the various MUSH/MUCK/MOO variants and being out of my depth.
I honestly think the child would be far better served with Scratch rather than some half-assed adventure writing language (having created several such languages myself).
Edit: To clarify, the languages I created were also half-assed - it's very difficult to create a good one.
I'd say Canon and Scratch are different tools with different purposes. Both are simple and interactive enough for children to love. The main difference I see is that Canon abstracts away a lot of the game state management logic and you get to focus on creating characters, items and having lots of fun. Scratch looks like it has a steeper learning curve and while it is a good introduction to programming, it gets pretty hard to navigate once project size increases. As someone who started programming with Scratch, I think that making a text adventure game like the ones Canon does in Scratch would be much more complicated and the end result wouldn't be half as nice.
I think the only thing that matters is whatever the kid finds appealing enough to do at all.
e.g. I started with Ruby on Rails. Not even Ruby. The feedback loop is what convinced me that I wanted to write software and then dive into the fundamentals.
Scratch is so bad I think it must put kids off.
It makes zero sense to start people off in an actually bad programming environment.
Try Snap! Instead of Scratch.
My kids got bored and annoyed by Scratch very quickly.
Second this. Even the kid who later chose a programming career hated Scratch.
Also, it'd be far too low level in comparison to what the guy did - ultimately, this is a game engine. Proper comparison would maybe be against Inform 7.
Yeah, while reading I was thinking "why does he call it a MUD and not a text adventure"?
I've been teaching my 9 year old to code using Ruby, the best language to start with IMO: Clear, expressive English, object oriented is intuitive, and we're using Ruby2D to make simple terminal-based games. I prefer it to graphical-oriented languages like Scratch, as I think working with pure text and typing the commands out is a good experience.
A bit sad to see the author "10xing" his passion project with LLMs. I ended up moving one of my older projects in a similar way and I feel gross about it now. As if I didn't even work on it originally. I may just hard reset the LLM commits off my tree entirely at this point.
Hopefully he doesn't come to regret it either.
Sounds like an ad disguised as an article.
It's an in-depth post about something neat that someone made. Exactly what I want to read on here.
Guy made something and wrote a blog about it. What else is on here actually? Do you want to read more about AI benchmarks and Bitcoin???
Author doesn't appear to be selling it, just showing it off.