https://github.com/trevoke/dwarlixir
A dwarf-fortress clone / MUD / side project in Elixir
https://github.com/trevoke/dwarlixir
dwarf-fortress elixir mit mit-license mud
Last synced: 29 days ago
JSON representation
A dwarf-fortress clone / MUD / side project in Elixir
- Host: GitHub
- URL: https://github.com/trevoke/dwarlixir
- Owner: Trevoke
- License: mit
- Created: 2016-11-06T20:15:10.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2019-09-15T21:28:30.000Z (about 6 years ago)
- Last Synced: 2025-04-13T22:53:28.218Z (6 months ago)
- Topics: dwarf-fortress, elixir, mit, mit-license, mud
- Language: Elixir
- Homepage:
- Size: 352 KB
- Stars: 50
- Watchers: 6
- Forks: 0
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Dwarlixir
* Travis 
* Semaphore [](https://semaphoreci.com/trevoke/dwarlixir)## 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### components
- Age
- Mortal
- SexualReproduction (Biology? Subcomponent? Not a component at all?)
- OviparousReproduction
- AIComponent.V1### Thoughts
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...## A player character:
- can move
- gains "idle xp" ?
- can talk
- can disconnectPriority 1: on the server, able to send and receive messages
Priority 2: actually having a working character
Priority 3: being in a room