ErlMUD Commentary

ErlMUD Table of Contents


Part I: Architecture

1. The Big Picture



The Process

The Problem


The Solution

Operating Rules
Instance Data

Distilling Elements

2. The Game



Location Manager


Way Manager


Object Attributes

Object Messaging Protocol

Object Manager


Mob Attributes

Mob Messaging Protocol


Mob Controllers

Mob Manager

Wet Clay, not Stone

3. Foundation

It's All Scaffolding

Network Interface

Telnet Listener

Connection Handler

Connection-Controller Protocol



Channel Manager

Channel-Controller Protocol

Chat Commands



Parting Thoughts

Part II: Raw Erlang (erlmud-0.1)

4. Forming a Skeleton

Robust Structure: From the Neckbone Down

5. Follow the Messages

What Do We Need to Talk About, Anyway?

Routing? What Routing?

6. Handling Input and Output

7. Accepting Users

8. Building the World

9. Interaction

10. v0.1 Retrospective

Part III: Pure Erlang (erlmud-0.2)

11. Let's Get Idiomatic

Huh? Erlang has patterns?

Sometimes its the Wrong Case

12. Encodings are the Devil

13. Abstract It All Away

14. Storage (Where to Put All This Stuff?)

15. Lonely Without Mobs

Digression: A Word on AI in Games

16. v0.2 Retrospective

Part IV: Psychobitch (erlmud-0.3)

17. She'll Take Care of It

The LoC Mass Extinction Event

18. Understanding What is Handled, and What is Not

Managing Your Virtual Bureaucracy

19. Not Everything Can Be a gen_server

When Not to Use OTP Generics

OTPizing Your Custom Processes

20. Ready, Fight!

Digression: Game Combat Systems

21. v0.3 Retrospective

Part V: OTP Release (erlmud-0.4)

22. The Point of Release

The Old Fashioned Way

Various Modern Ways

A Cry For Help

23. The Point of Relief

Not Everything Is an Embedded Telecom Platform

24. Dialyzer

25. Items and XP

Digression: Power Curves in Games

26. v0.4 Retrospective

Part VI: Cyclic Maintenance (erlmud-1.0)

27. Its Alive!

28. Refactoring With an Eye to Purify Functions

29. Handling Data Changes (Without Annoying Users)

30. Keeping a Server Happy

31. Keeping Yourself Happy