Issue 0x04 - Greetings Professor Falken


Greetings, adventurers!

Whelp… it’s been a hell of a month! For one, I was lucky enough to be vacationing in Hawaii during the missile crisis. Nothing like a little global thermonuclear war scare to make you miss the chaos of 2017!

In other news, The MUD Coders Guild has decided to embark on a quest to build our own community-driven game. While we are still in the very early phases of design and development, GuildMUD is an open sourced game built on top of SocketMUD, a barebones MUD codebase written in C. If you would like to contribute to the design or development of GuildMUD, please join the discussion in the #collaborators channel, or open an issue on the GitHub repository!

Also, I would like to take a minute to thank a few of the newer contributors to The MUD Coders Blog. If you have some programming or game design advice you would like to share with the MUD community, please don’t hesitate to reply to this email, or shoot me a message on Slack. I would love to hear from you!

And, finally, I want to specifically call out a new section in this month’s newsletter: > quaff elixir. Elixir is, I believe, the single-most popular language in our community—so popular, in fact, that it has earned it’s own dedicated channel: #coding-elixir. As a result of that popularity, Elixir has earned its own section to share all of the awesome resources #coding-elixir shares with the rest of the community.

That’s it! Sorry for the longer-than-usual newsletter into, but like I said, it’s been a hell of a month!

- Zach


> notes

Off the Cliff ep3: Crafty Crafters Craftily Crafting Crafty Crafts

This is truly larger than just crafting but I couldn’t resist the title. Crafting is the heart of my macroeconomics model, but the heart is only a small part of the body as a whole. Were going to…

The Help Files ep3: A Tale of Two Worlds (of Warcraft)

It’s pretty clear that, on inception, Blizzard set out to build a world to live in with World of Warcraft. Yes, even back as far as 2004 the main draw for a MU* was different than WoW. We can provide…

Building an Entity-Component-System Framework in Elixir

ECS is a pattern that has value when there is a need to develop complex (possibly emergent) behavior based on simple properties. It is based upon the two basic ideas of: An example might help. Please…

Off the Cliff ep2: Text Based 3D Physics

A long time ago, in a text world far, far shut down; combat was still stock DIKU code. While the first change wasn’t quite a photon torpedo through the ventilation shaft, it certainly sparked the…

The Legacy of Sheng Long

In a “really, it’s ok to be on my lawn” moment I made a joke on the main Hearthstone subreddit the other day. I was there. I had that copy of EGM when it came out. One thing you have to understand is…

Gaming When I Was 9

On Boing Boing today they were talking about gaming magazines. That made me think back to my childhood (as a child of the 1990s, or possibly the 19A0s?) and my gaming experiences. Specifically I…

> open source

Atlantis

A simple, easy-to-use-and-expand single-player text-based RPG framework. The example game is based on A.A. Milne’s Winnie the Pooh books.

go-telnet

Telnet is something that can be found at the core of the majority of Multi-User Dungeons, and this particular library should come in handy for any MUD developers who are looking to build their game in the Go programming language.

Write Yourself A Roguelike: Ruby Edition

Write Yourself a Roguelike is an open source book that tackles the techniques and challenges required to create a Roguelike in Ruby. While it is currently unfinished, I thought that the community might find some interest in the content that is written, and even be inclined to contribute in the future.

Fluid Views Tribune

A completely unnecessary evolution based story generator. The underlying simulation is inspired by a Land of Lisp exercise and drives events which are aggregated and described by a narrator. If you’re more visual, they have also included an ASCII art visualizer, provided you’re running on a terminal that is large enough to support such things.

ExVenture Updates for January 2018

TMCG member @eric shared the January 2018 update for his game: ExVenture. The last month of ExVenture had some big additions. New are NPC conversations and questing, along with other small tweaks to make NPCs feel more part of the world.

> inventory

.tmux

A pretty + versatile tmux configuration that just works.

> train int

Learn X in Y Minutes: Scenic Programming Language Tours

There is far too much to learn, and not nearly enough time to learn it. Learn X in Y Minutes helps augment that by providing clear, example-driven tutorials of nearly every programming language you could want to learn (and even a few nobody would want to learn).

Implementing a Simple Compiler on 25 Lines of JavaScript

I’m a sucker for custom programming languages and compilers. This article in particular is fascinating as the language used to actually build the compiler is JavaScript, the frenemy of programming languages.

How I review code

Code reviews are a crucial part of growth in any development team, and this article by the Tumblr Engineering team has some great advice for conducting code reviews in a friendly and supportive way.

Don't Give Your Users Shit Work

I’m a fan of Zach Holman’s writing, and this article is no exception. While it is targeted towards application developers, the advice translates perfectly to game development.

Random Noise and Procedural Generation

How do procedurally generated games like No Man’s Sky, Spelunky and Oxygen Not Included work? Explore the concepts with interactive examples.

> quaff elixir

How Discord Scaled Elixir to 5,000,000 Concurrent Users

From the beginning, Discord has been an early adopter of Elixir. The Erlang VM was the perfect candidate for the highly concurrent, real-time system they were aiming to build.

Statefulness in a Stateless Language: Elixir

When it’s necessary to keep track of state, Elixir (functional, stateless) has got your back by using recursion and processes.

FunWithFlags

FunWithFlags is an OTP application that provides a 2-level storage to save and retrieve feature flags, an Elixir API to toggle and query them, and a web dashboard as control panel.

ExLua

Lua for Elixir. Need I say more?

> cast 'inspiration'

Awesome Non-Financial Blockchains

Everyone’s talking about the blockchain these days, so it seemed like a no-brainer to share this curated list of projects that build non-financial applications of the blockchain.

The Story of Mel

Real Programmers write in FORTRAN.

All the Money in the World

To many, a bank is just a counter. It has a scale, and a grille, and a lot of papers and stamps. It has a clerk, who’s likely bored, who will give you loans and banknotes and lock your golden savings safe away. Few guess the truth of banks. Few know the crushingly dull titan of bureaucracy which keeps their pennies holds clout to rival nations.

> quit

Speak not: whisper not:

I know all that ye would tell,

But to speak might break the spell

Which must bend the invincible,

The stern of thought;

He yet defies the deepest power of Hell.

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