A 2-dimensional multiplayer game with ray tracing.
https://decla.red
| .forgejo/workflows | ||
| .vscode | ||
| backend | ||
| frontend | ||
| media | ||
| shared | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierrc | ||
| Dockerfile | ||
| eslint.config.js | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
doppler
A 2-dimensional multiplayer game utilising ray tracing.
Available at doppler.schmelczer.dev.
For optimised 2D ray tracing, SDF-2D is used.
Deployment
CI/CD runs on Forgejo Actions (.forgejo/workflows/deploy.yml). On a push to
main it:
- builds the static frontend and rsyncs
frontend/dist/to the/pages/declaredmount on the runner host (the mount keeps its pre-rebrand name), and - builds the server image from the root
Dockerfileand pushes it to the Forgejo container registry as<registry>/<owner>/<repo>-server.
The registry job needs a FORGEJO_PACKAGE_TOKEN secret (with package write
scope) and, optionally, a CONTAINER_REGISTRY_HOST variable to override the
registry host.
The website's server list is hardcoded in
frontend/src/scripts/configuration.ts —
edit it to add or remove game-server origins.
Run the server image locally:
docker build -t doppler-server .
docker run -p 3000:3000 doppler-server --name "My server" --playerLimit 16

