A dwarf-fortress clone / MUD / side project in Elixir
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
config watchers look like watchers Dec 23, 2017
lib move entities where they may belong Jan 19, 2018
rel add rel/config file Sep 29, 2017
test un-umbrella-appify Dec 19, 2017
.gitignore ignore log files May 13, 2017
.tool-versions elixir 1.5.2, erlang 20.1 Nov 9, 2017
.travis.yml add travis.yml Mar 31, 2017
LICENSE Add MIT License Nov 10, 2017
README.md begin switching to ecstatic Dec 19, 2017
mix.exs begin switching to ecstatic Dec 19, 2017
mix.lock begin switching to ecstatic Dec 19, 2017
world can save a generated world Oct 21, 2017



  • Travis Travis build
  • Semaphore Build Status

Getting started

Make sure you have Elixir ~> 1.5.1 available.

README-driven development

Things I need to bring back in as I switch to ECS:

  • generating a world
  • creating location entities
  • generating mobs at startup
  • putting mobs in locations
  • reproduction


  • Age
  • Mortal
  • SexualReproduction (Biology? Subcomponent? Not a component at all?)
  • OviparousReproduction
  • AIComponent.V1


What about aging; could be a separate tick for everyone (easy) or some kind of "everything ages at the same time" tick. If the latter, I need, I think, to make it possible to subscribe to events in the ECS framework. Well, my "Watcher" idea is growing old quickly isn't it. Unless I create a Universe entity with a Tick component which could get updated with a monotonically increasing value, and that would be something that various things could watch...