README.md

# Cave 3D+

[![Package Version](https://img.shields.io/hexpm/v/cave3dplus)](https://hex.pm/packages/cave3dplus)
[![Hex Docs](https://img.shields.io/badge/hex-docs-ffaff3)](https://hexdocs.pm/cave3dplus/)

Now there are erlang server things in this package...

## TODO

- Put a blogpost on code-change.nl
  - gleam-erlang calling
  - Erlang JS interop promise
  - gleam-erlang workflow (package, local hex repo, rebar3)
  - OTP (how on earth do you send messages between processes? sync (typed both ways) and async (typed one way))
  - JS
    - lustre
      - http
      - websocket
- Move to the next room, and back
- a dynamic room
- Some DB to get static rooms out of the code
- register players on some ID, then use OAuth
- let players return in some safe place
- Internationalization
- restart of server, how to re-spawn all that is needed
- upgrade of server, using code_change (can Gleam OTP even handle that?)