Greetings, adventurers! So... it's March apparently. Time flies, huh? To kick things off, GuildMUD is

The MUD Coders Guild 💾 A monthly digest of text-based game development successes, failures, inspiration, and anecdotes from the members of The MUD Coders Guild.

Greetings, adventurers! So… it’s March apparently. Time flies, huh? @rogersm for kicking so much ass on it lately. If you’d like to contribute, please feel free to open an issue or a pull request on not required, just a willingness to learn something new! To kick things off, GuildMUD is moving along slowly, but surely—special thanks to TMCG memberfor kicking so much ass on it lately. If you’d like to contribute,feel free to open an issue or a pull request on GitHub . Prior knowledge of the C programming language isrequired, just a willingness to learn something new! In other news, I am planning on dropping a small Code Jam (witty name to be determined) in the next newsletter. While the actual specifics are still being worked out, I am on the hunt for an interesting prize or two to award the winner(s) of said jam. If you have any ideas (or would like be a sponsor), please let me know by responding to this email or pinging me on Slack. Also, participation will be limited to TMCG members, so if you’d like to take part please join us on Slack And, finally, I’m always on the look out for new content for this newsletter. If you have something interesting to share with the community, or would like to write an article for our official blog, please message me on Slack or respond directly to this email. I would love to hear from you! That’s it! Happy March everybody! Zach

> notes

Off the Cliff ep4: A Moving Experience mudcoders.com – Share Movement in MUDs is not something people thought about all that much. There was the occasional full-coordinate based system, but mostly it was a lot of “north” and “enter door” back in the 1990s…

Theft, Waste, and Puzzles: How I Design mudcoders.com – Share I hoard information but I don’t see the point in keeping it from others, so I’m going to elucidate a bit on the grand secret of my design process. I try to get this sort of thing out in dev blogs and…

> open source

Automerge github.com – Share Automerge is a JSON-like data structure that can be modified concurrently by different users, and merged again automatically.

slime github.com – Share You can’t go a day in TMCG without a conversation about Entity-Component-Systems. Slime is an ECS library for Elm that provides an easy way to build a full game, using common Entity-Component-System architecture.

SLIME github.com – Share SLIME—not that one ☝️—is the Superior Lisp Interaction Mode for Emacs. SLIME extends Emacs with support for interactive programming in Common Lisp (another common topic around TMCG).

Hide gist.github.com – Share Inspired by a thought experiment at TMCG, Hide is a quick project by TMCG member @kazan that can be used to find messages hidden in text indentation.

Axolemma github.com – Share Created by TMCG member @sean.o, Axolemma is a tool for procedurally generating RanvierMUD areas.



> inventory

Iosevka github.com – Share Don’t ever let anybody tell you that your text editor has to be ugly. While there are a lot of bells and whistles that can be added, the typeface is one of the first things worth tuning. Iosevka is a slender typeface designed for code, from code.

Hack sourcefoundry.org – Share A second contender in the “awesome typeface for coders” category, Hack is another popular typeface designed for source code.



SvgBobRus github.com – Share Convert ASCII diagram scribbles into happy little SVGs. I have no more words for this one. It’s just straight awesome.



> oedit tests

Automatic Visual Diffing with Puppeteer meowni.ca – Share This is a novel approach to testing that takes a screenshot of a web application and compares it to the expected response. There may not be much practical value in it, but damn if it isn’t interesting!



Realizing Quality Improvement through Test Driven Development www.microsoft.com – Share Written exactly 10 years ago, this is a fascinating study about the effects of TDD on quality and efficiency. Spoiler alert: TDD decreases defects and developer efficiency.



The Ethics of Test-Drive Development: A Thread twitter.com – Share TMCG member @trevoke is… wildly bullish about test-driven development (rightfully so, in my personal opinion). Here is an interesting Twitter thread about the ethics and professionality of TDD.



> train int

The OSDev Wiki wiki.osdev.org – Share Look… there’s no practical reason to create your own operating system. But since when did we care about practicality? The OSDev Wiki is the authoritative source for accomplishing exactly that task (something I am currently trying and failing at myself).



Rails Hurts railshurts.com – Share The goal of the “Rails Hurts” project is to discuss the problems of good software design avoiding academic terminology as much as possible. It’s not for Rails Ninjas, Rockstars, and other characters who are completely comfortable with “The Rails Way.”

The Cost of Forsaking C blog.bradfieldcs.com – Share The C programming language is not trendy. The most recent edition of the canonical C text (the excitingly named The C Programming Language) was published in 1988. This article makes some great points about the practicality of learning C, the most interesting of which is that C helps you think like a computer.

Three Ways to Think About Value www.jrothman.com – Share This is an interesting article about measuring and quantifying value in a product development environment. I know. It’s not technically about software development, but as so many of us are professional developers there is some interesting information here.



> quaff elixir

Elixir School elixirschool.com – Share So, I drank the proverbial Kool-Aid and am slowly learning Elixir. The fact that it is syntactically similar to Ruby helps a bunch, but what helps even more is this site. It lays everything out in a way that I personally love to learn.



WebSocket github.com – Share An exploration into a stand-alone library for Plug applications to easily adopt WebSockets.

Flow github.com – Share Computational parallel flows on top of GenStage

The Lasp Programming System lasp-lang.readme.io – Share Lasp is a programming system for building large-scale, eventually consistent, distributed applications. Lasp provides a comprehensive approach through layered components addressing the problems of cluster membership, data synchronization, message ordering, and consistency management.

Shape Up With Elixir Protocols tech.nested.com – Share In Elixir all functions are namespaced. That means when you write a function, they have to be defined inside of a module. This is good because it means we can easily define the same function, but implement it differently for different modules.

> cast 'inspiration'

On Set Design hackslashmaster.blogspot.com – Share This is a great article about set design in tabletop gaming. It offers unique methods for describing rooms and loot in a way that encourages speed, flexibility, and creativity, allowing for constant engagement with players.



A Sandbox to Play In www.raphkoster.com – Share Game design is, by far, one of the most exciting aspects of MUD development, and it all starts with the game world. The current “accepted best definition” of a game universe for persistent worlds is “sandbox.” This means a malleable environment with lots of toys which players can then use to make whatever they want to out of the environment–as much as the game allows, at any rate.



Designing Side Quests? Study These 7 Games www.gamasutra.com – Share Side quests can make or break your game. Here, notable developers suggest some games that do side quests notably well, and Chris Avellone offers guidelines.

> quit

Alas, all good things must come to an end.

The MUD Coders Guild is a community for people with a passion for creating text-based games. Join us on Slack!

Did you enjoy this issue?

If you don't want these updates anymore, please unsubscribe here If you were forwarded this newsletter and you like it, you can subscribe here