# Cave 3D+
[](https://hex.pm/packages/cave3dplus)
[](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?)